Why and how some people run open source projects

In the past weeks I asked some people to answer few questions on how and why they maintain/develop open source projects. The results are here.

In the past weeks I asked some people to answer few questions on how and why they maintain/develop open source projects.

I decided to do this survey moved mainly by the desire to explore new ways of funding open source software. It has to be said that the current way of financing open source software in my opinion is wrong at its foundation, but despite of that somehow it still works... (more about this at the end of the article).

My survey results probably are biased by the dataset that produced the results. I have asked 30 people to fill the questionnaire and actually 17 of them answered (was hoping a better response rate). Those people were carefully selected, all of them are maintainers/authors of some of the most popular PHP projects. This group of people most probably can give an idea on the PHP community, but I'm pretty sure that the Java, C++ or Javascript communities have some differences if compared to the people that maintain PHP projects.

The survey results

In PHP, open source software seems to be built mainly by hobbyists that invest up to 20 h/week to keep the PHP ecosystem running. Some of them maintain alone up to 10 different projects. Almost 3/4 of the responders are employed, but a good sign is that almost 50% of the maintainers said that their contributions are done both in their personal time and at work.
On the other side, a very small amount of people said that has been paid in the past to work open source.

One of the most interesting results are the mixed answers received when asking if they are interested in earning money for what they do. It seems that many people are not strongly interested in being paid for their work, as it looks that gives them a general satisfaction that goes beyond money.

Detailed results can be found here.

A personal point of view

I'm not going to talk about the philosophical reasons of open source software since in profoundly believe in them, but will talk more about the financial part of it.
It is more than 10 years that I regularly try to give back to the community, maintaining my self some open source projects, so my interest anyway is not mainly financial.

Currently the open source is mainly built by people in their personal time. Of course there are exceptions. For those that get somehow paid, from what I can see, this are the ways how they manage to do it:

If contributions are done in work time:

  • Some companies believe in open source and some of they employees work full time or part time on open source (This companies are very few in the world and their contributions are often done on projects that have world-wide impact).
  • Some companies believe in open source their employees have 0.5, 1 or 2 days a month when they are allowed to contribute in work time.
  • Similar to the other case, if the developer and company-owner are the same person, they allow them-self to invest some of their time in contributing.
  • Some contributions are done without the company management knowing about it.

If contributions are done in personal time (this is the majority of the cases):

  • most of them are done for free
  • some lucky projects manage to become business ideas
  • some projects have bounties-programs to fix bugs or implement features (sometimes few dollars for weeks of work)
  • some people have a Patreon, OpenCollective (or similar) profile where developers can receive donations from people for their work.

The donations strategy

One of the way I less like to finance open source projects are donations. I feel that donations are some kind of charity given to contributors. This diminishes the value of their work in my opinion. I personally feel a professional developer, and I would like to be paid for the professional part of my work, not to be given some tips as in a restaurant.

The more sad part of donations is that very often they are made by other developers, spending they private money to say "thank you" to project maintainers. The real beneficiary of those projects, companies, are the one that donate the less.

Some conclusions

I'm not here to propose a solution as I feel that I do not have one. Would like to see in the future more companies encouraging their employees to use their work time to contribute. And yes, 0.5 days a month is not enough! It sounded as a joke to me the first time I heard it.

On the other side, even if companies allow their employees/developers to contribute, I feel that those developers needs to be educated on the value that they are giving (and in some cases asking) to the community. To understand the costs of forking projects, making random changes and then having to maintain those changes on their own, instead of trying to make those changes compatible with the original project and sending them back. I feel that those developers needs to be educated on the value of contributing back to open source. Only when that concept will be properly understood, they will be able to educate their employers on the value of those contributions and why each company should do it.

Header image nengard.

php, open-source

Want more info?