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.