This is a response to an article written by Daniel Jalkut, titled Getting Pretty Lonely.
I think there is one critical point that we all should agree on — developers like to be compensated for their work, even those of Open Source and Free Software.
Some assume that GNU GPL makes it almost impossible or at least very hard to earn fair compensation for time invested in developing the software, while “Liberal” licences allow the freedom to determine (and guarantee) the compensation through controlling the distribution.
The reason for this is the current implementation of the competition-driven capitalism which has made the concepts of donation and freedom to compensate completely bizarre in the context of how businesses work these days.
Just imagine the developers of GCC receiving compensation every month through voluntary donations from Apple and other commercial entities that use and benefit from it. All this would require is a “GCC Developers’ Association” which would take care of distributing the money to all the developers in proportion to their contribution. The total amount of hours spent developing the software every month is pretty easy to estimate.
OS X would become O(pen)S X and Windows would become Open Windows. Both Apple and Microsoft could still charge $150 for their “genius bar” / support services, and at the same time gain the whole world of developers scratching their own itches and improving the software.
It is so much easier to reason paying a real person for their expertise in solving computer problem than to a corporation that aims to get maximum profits for the lowest investment.
Software licensed under GPL excludes the problem of scarce resources, because the incentive to improve the software comes from the practical needs of its users. In case of GPL the work done is done forever for everyone — solutions once found are always there to be built upon.
Nice trackback from Daniel’s blog Kaspars.
Your idea of the GCC compensation committee is somewhat how companies work in that they retain and pay developers to work on GPL or other open source projects. Having it wide open without some judgement as to usefulness has a hazard of code bloat and feature-itis just to earn some money. Going back to some companies in the dot com era that issued shares for people that worked on open source software, they had reviews and judged people on the usefulness of their contributions in order to receive shares.
While the idea of services was the original philosophy around the GPL and indeed gave rise to Cygnus, which was bought by Red Hat ( a company that existed and was paid solely for customizing, extending and maintaining GPL software for companies that wanted such work ), in general the approach hasn’t worked terribly well except where developers have been funded as individuals.
The GPL somewhat was it’s own worst enemy for creating a sustainable ecosystem that could support developers making a living. The thing was, GPL software from the beginning was a set of system tools, built largely for developers to get their work done. They don’t want to go to genius bars, and they don’t want to pay for customization. They just wanted to adjust things and get them working for their needs. That was the real essence of RMS approach before the politics. This resulted in very, very high-quality software (still the case today with the GNU suite, it’s excellent software for reliability and stability. Ease of use is another matter ;-) ).
You don’t get a lot of service requests for help on those. You occasionally get new feature requests, but as the software continues to evolve and improve, your revenue decreases, even though the difficulty of adding new features to a larger codebase usually *increases*. That’s where donation concepts come to a halt. As the system increases in maturity, adoption and distribution, the revenue stream goes *down* in a service model in many cases. With distribution models, the more the software gets used, the more revenue is generated. That can either cover fair compensation and value for increasingly hard to improve software, or it can go past that into pure profits for a company. Most people judge for a balance between the two when they have a choice. They do want people to be rewarded for efforts that have value to themselves.
The fact that companies invest money *up front* for development of technologies and need to recover that investment plus some level of return to stay in business is why proprietary software and distribution licenses work. You get the features quicker than most open source (especially GPL) software will get them as the money is invested up front. For this sort of effort, getting donations “up front” doesn’t work well, so you would need to build demand up, which delays the work.
There’s validity in each approach and every license model has good reasons for existing. I certainly don’t want to support a company for my OS through service fees. I’d much rather pay Apple $129 for a new version and know I’m getting good quality and supported systems as that infrastructure is there based on the sales, not on people having problems with the software later.