@John_McCall Can we ask the core team for some feedback on this?
I would like to make the case that:
We need something like a foundation
First, we need to acknowledge that Swift (so far) has failed at becoming a general purpose cross-platform programming language. To give just one example: We've claimed to have Linux support for 2.5 years now. Yet, after all this time, swift.org still supports only one Linux distro, doesn't even support the latest release of this distro, requires a cumbersome installation process (anything more complex than apt install swift
is too complex) and has little to no editor/IDE support. In my opinion, Swift doesn't really support Linux. It supports iOS developers who want to host their server-side projects on Linux servers. That's awesome, but it doesn't help us reach non-Apple developers.
While there is a lot of interesting community work out there, some issues are simply too important to be left to the community (by which I mean: unpaid developers). Platform and IDE support are two major examples here. To use myself as an example: I've been using Swift professionally (in education) since 1.0 and ever since it was open sourced, I have been looking for ways to break it out of its iOS confines and into other courses. I am a heavy server-side Swift user and regularly attempt to develop on Linux using whatever IDEs and editors I can find. I've taught introductory programming courses that use Swift and in doing so, confirmed both that Swift is an excellent language for education, and that Linux support is nowhere near what is required for education. All of the students who attempted to use Linux as their development platform quickly gave up.
Something clearly needs to happen here, and it needs to happen sooner rather than later. We're already losing a lot of potential developers because of our platform support and tooling issues.
You can't take over the world without an army (of developers) and as history shows, that army needs to be fed (paid) or they'll quickly turn on you. We can't fault companies like Apple for not allocating company time to projects they don't benefit from directly, which is why we need another way to fund these projects. I believe a foundation is the best solution here.
Another, unrelated, reason why I think we need a foundation is that we need someone to represent and promote Swift at conferences. This is something Apple is particularly bad at. When I attend open source conferences, I find it sad to see that languages like Rust and Go get a lot of attention, sometimes even have their own track/room, while Swift is nowhere to be seen. What's even more inexplicable is that Apple isn't even present at conferences that focus on app development and where thousands of senior year students are present, ready and eager to have their career choices influenced.
Involvement from the core team is required
If a foundation is erected, involvement from the core team (and other senior developers) is crucial. As part of this foundation, a trusted body (board of directors?) is needed to judge proposals and allocate funds. A process similar to SE could be used to let the community propose and discuss projects. The trusted body could then make the final decision on how to allocate funds.