I’m noticing more and more proposals use the SCS to argue that “x% of swift users do this” or “y is fine because nothing in the SCS breaks” and I’m getting worried because I always thought the SCS was meant as a partial safeguard against small changes in the compiler accidentally breaking source compatibility.
Swift compiler developers can now use Swift’s pull request testing system to test their changes against the source compatibility test suite, helping catch source compatibility regressions before they are merged.
But now the SCS itself is being used as an actual reason for making or not making changes in the language, which is a much more important role. The SCS doesn’t accept GPL-licensed projects, so there is now a huge swath of projects and libraries out there that aren’t being tested, and major changes to the language are being discussed without considering how these projects will be impacted, with the assumption that all major (open source) users of Swift are being covered. I don’t think we should allow the SCS to be used as a rationale in an evolution proposal.