What happens to open sources project who lose their main sponsor
I recently read the Xtext framework is seriously needing contributions or its future is at risk. The GitHub issue of the problem dates from March 2020, so the problem is old and I just learned about it. This is a serious problem with open source software that I’ve seen repeats and repeats. I saw the exact same thing happen to Play Framework, another project I used a lot.
The script is the following:
- Company X starts an Open Source project to innovate in some domain
- Company X maintains the Open Source for a while, until they pivot, lose interest or something else
- Company announces that it will give the project back to the community and simply maintain it as part of their paid consulting services
I want to be clear that I do not judge the companies for doing this. Companies are there to make money, and if open an source project is not giving them a good ROI, then it is their call to abandon it to stay in business. The only thing that I feel companies have to do is being transparent about their intentions and if possible lead the transition process towards the new
Then, there is the community. We use the product, sometimes for research or education, sometimes to make money, or whatever. Now, we receive the mantle from Company X… what are our options?
I’ve seen the following throughout my career:
- Let the product die
- Let the community take the burden for free (especially if they are making money from it)
- Open Collective
Let the product die
Let the product die is the simplest. People just do not care enough to continue the development or there is a new shiny thing to pursue. In the case of Xtext, there is langium. Langium ticks all the boxes to be the next Xtext: it’s similar to Xtext; created by people who worked on Xtext; it integrates with VS Code, the code editor that everybody seems to love; it is written in Typescript, a cool language for the new generation of programmers; it is actively developed; and is designed for the Web, the platform of the present future.
If you are in this for the short term, for example, your PhD/masters thesis needs this kind of functionality, your probably should take langium. However, in the long term, it is worth noting that Langium will probably have the same fate in 10 years. This might or might not be a problem for you, but I think it is important to have this in the back of your mind. Also, there are lots of projects that are already based on Xtext, one does not simply migrate legacy code to new shiny platforms.
Let the community take the burden for free
This works when the software is visible and used a lot by the community. However, I still remember the Heartbleed vulnerability in OpenSSH, that was used by multi million corporations but maintained for free by some random guy.
This approach can work, but there is risk. I guess the key is in doing some marketing for the big corporations that use the product, in order to get them to contribute.
Open Collective
Open Collective is a platform to fund the development efforts through donations to the contributors. I heard about it for the case Play Framework. It is a transparent platform that allow the community to pay the contributors. Play Framework are there since the end of 2021 and they seem to be doing well, however, time will tell if it was a good decision or not.
Conclusion
I personally want to contribute to the Xtext project. I like the Eclipse/Java Ecosystem, and I think that it has the potential to integrate with the new tools like VS Code as seamlessly as it integrates with Eclipse. What do you think about the options available for Open Source projects? Should projects be abandoned and all new resources focused on the new shiny platforms? Or should they be maintained?