Relatively recently the controversial case of the faker.js and colors.js libraries came out in the media, where the author sabotaged the projects in protest against the fact that fortune 500 companies were taking advantage of his work and not contributing to the project. Although the case is more controversial and complex, today I want to focus on this specific aspect of the story.
This case is not the exception. There are many very useful projects that save millions for large companies that are selflessly maintained in the spare time of a small group of people. In my experience, of all the effort needed to make code, approximately 30% is doing it and 70% is maintaining it, documenting it, supporting it and offering new functionalities so that it does not become obsolete.
A typical argument here is to bring up numerous open-source projects that have found sustainable business models while continuing to offer their technology for free (Blender, Docker, etc). However, this is a questionable example, because from the moment an open-source project is born until it becomes a sustainable business it has to go through a life cycle, with hundreds / thousands of free hours. Many open source projects are not even able to reach the critical mass needed to reach that state of sustainability.
How to make a free open-source project sustainable in the early phases?
IFC.js is only one year old and we are very happy with the progress. In this second year our most important goal is precisely sustainability with the patreon initiative. We refuse to to ask for "donations", as it wouldn't be fair that the people that help IFC.js have exactly the same as the people who don't. The idea is simple: people who contribute financially to the project will get something in return:
-
BIM programming tutorials / courses for all levels, exclusive streams.
-
Exclusive streams.
-
Access to exclusive hackathons.
-
Prime support.
-
Advertising of your projects on our networks.
-
Decission making power over the nexts steps.
Our goal is to allow the community involved to grow along with the project. For now we are making almost $200/month and there are more users and companies signing up. All the money is handled through Open Collective, so the funds are as transparent as the code.
We are going to use that money to encourage the growth of the community: monetary and merchandising prizes for hackathons, compensation to users who help us to maintain the project and implement new issues, hiring designers and programmers, creating material for programming courses, etc. Although we haven't published any fixed milestone yet, we are already sending merchandising and this week we will start with the streams in our twitch channel. Our idea is to make the community itself decide where the money goes as we get more and more funds.