Listen to this story
|
In March 2016, Azer Koçulu, an open-source contributor, who had been publishing code to npm (node package manager), single-handedly disrupted web development around the world by deleting 11 lines of code. “I think I have the right of deleting (sic) all my stuff from NPM,” announced Koçulu in an email.
Many websites around the world suddenly broke down.
Similarly, in January this year, Mark Squires, the author of Fakerjs, a popular open-source NPM library used to generate fake (but realistic) data for testing and development decided to delete the library.
Various OSS stopped working when authors decided to shut them out of frustration of managing the project. Though open-source softwares (OSS) have one of the largest use cases in the software development world, it also has some negative sides.
The dilemma of code maintenance
There are bugs, questions, issues and continuous enhancements in any software. This is a never-ending task. As the popularity of the software grows, the more time it requires and developers get sucked into the never-ending spiral. Besides, there is continuous dependability on maintainers and contributors, who, out of their own volition, step forward and help the project run successfully.
Generally, to fix the software-related challenges, there are authors, owners, maintainers, contributors and community members. These people work in tandem to run the project.
What if an open-source project fails to gather enough community members and is managed by the author only? And why would somebody want to contribute to an open-source community in the first place? A study by the European Economic Review in 2001 attempted to find out the main motivations programmers had for contributing to open source.
The ordeal of monetisation
The popularity of Fakerjs can be assessed by the fact that it was used by hundreds of companies, including Fortune 500 businesses. In 2020, Squires, in a blog post, announced that he can’t maintain the Fakerjs codebase for free and that someone should pay him a six-figure salary to continue supporting it.
“Respectfully, I am no longer going to support Fortune 500s (and other smaller-sized companies) with my free work. There isn’t much else to say. Take this as an opportunity to send me a six-figure yearly contract or fork the project and have someone else work on it,” he wrote.
In April 2021, Squires explained his ordeal in monetising Fakerjs in a blog titled Monetizing open-source is problematic. He put out his plans to launch a cloud version of Fakerjs, which would allow developers to produce fake data through an API. The platform could then charge for access to this API at a certain level.
However, the idea was later allegedly plagiarised by Retool, who he was in business with. Angered by this whole episode, Squires deleted the entire Fakerjs code. This whole event describes the struggles of making money out of an open-source project.
Burn out of energy
Lack of interest, patience, and time; change of profession and creative differences are some of the issues that push developers to close an open-source project. But the biggest reason why developers quit is that they drain out of energy. People like John Resig, creator of jQuery, and Ryan Dahl, creator of Node.js, too have most likely exited from their respective OSS project because they couldn’t keep up with the energy it demanded.
Fakerjs’ Mark Squires’ sentiment was understandable. It’s very difficult to offer non-paid work for a long period of time and at a certain point an open-source project can become more hassle than it’s worth. It also depends, of course, on your motivations for developing open-source software, but more on that later.
The best open-source projects are typically those that are maintained by developers who are compensated for their work on them and can maintain a work-life balance. Those who can devote their entire attention on enhancing them.