Advogato's Number

Posted 30 Nov 1999 at 20:41 UTC by advogato Share This

This is the fourth in a series of weekly editorials. This week's topic is a survey of the ways that free software developers can make a living practising their craft.

This week, Advogato discusses funding possibilities for free software developers. With all the recent hype about free software, the idea of people working fulltime on free software is becoming mainstream. This article discusses some of the options available.

The most surprising new possibility is cashing in on IPO's. A developer who managed to get in on the Red Hat deal would have made about $80k at the current stock price. Considering the anticipation surrounding VA's upcoming IPO, it wouldn't be surprising if a similar rise in value happened there too. And considering the number of Linux startups on the IPO track, it wouldn't be surprising if a steady stream of these turned out to be a good income.

The problem, of course, with relying on IPO's is the hit-or-miss nature. There are any number of reasons why a developer wouldn't be able to get in on the IPO, including not being in the right country, authentication failure, not meeting investment criteria, or simply not having the cash to invest. These were all fairly serious problems with the RHAT IPO, and it looks like VA is doing its best to improve the situation in theirs, but it's still far from perfect.

Then, of course, the stock market is so volatile. Linux issues have been doing spectacularly well, but on the other hand, the market is bullish in general. Many observers feel that Internet stocks as a whole are significantly overvalued. Thus, if and when a crash (or "correction") happens, developers could get hurt pretty badly.

All that said, Advogato is very happy to see free software corporations share a little of their wealth to the people who, after all, had a large part in creating that wealth.

Now, on to somewhat more traditional funding sources...

The most popular two are being a student and having a day job. Although neither really is conducive to full time work on free software, they have their advantages. Students have the opportunity to learn computer science, which can come in handy sometimes even in real-world projects. And working professionally opens some nice possibilities for cross-fertilization. Working on commercial software is an opportunity to learn some "professional" techniques.

Quite a number of free software developers work in sysadmin jobs. The bulk of the development of Sendmail, for example, happened while Eric Allman was an elite sysadmin at UC Berkeley. Even with all the free software business activity today, it's a viable option. Dents, for example, was partly motivated by the desire to make life easier for its author Todd Lewis, who works as a sysadmin (including DNS admin :) for Mindspring.

Probably the best feature of a day job is that it preserves the author's freedom to work on whatever seems fun and interesting, rather than being constrained by the need to make the project a viable business venture. That is, after all, a lot of the spirit of free software. Linus, for example, cites these reasons as influencing his decision to work at Transmeta rather than a Linux distribution company.

And that's obviously another option. In fact, Linux distro companies have been hiring free software talent quite eagerly. I'm not going to list all the names here except to point out that the ranks swelled even more with Red Hat's recent acquisition of Cygnus.

The main advantage here is the ability to finally work on free software full time and get paid for it. Salaries have tended to be on the low side, but the stock options have to be tasty, at least for people that get in before the IPO.

Then, there are a number of paths for going it alone. Being a consultant is one approach, and has a number of advantages. The big disadvantage, though, is that the consulting activities are sometimes not directly related to the development itself. Developers can easily fall into the trap of the consulting simply subsidizing the free software work.

More interesting to Advogato are ways of making money directly from the free software work. One appealing model is dual-licensing, doing both a free software release and proprietary licensing. GhostScript and the Berkeley DB are probably the highest profile projects following this model. There are a number of variations on this theme, including delaying the free release (as GhostScript does), or adding proprietary value-added stuff (such as a win32 port). But it looks like it's possible to do well even with a pure free software release.

One of the things I like about dual-licensing is that it creates an incentive to put out well debugged, documented, and in general highly polished work. In my opinion, these benefits can easily outweigh any concerns about the "real" freeness of the software. And, if the project is ever mismanaged, either business-wise or technically, the threat of forking always protects the code from getting buried.

Another possibility is writing books. This certainly has the advantage of providing good documentation for the project! Perl is probably the best-known example, with primary author Larry Wall paid fulltime by his publisher, O'Reilly.

Advogato thinks the book approach can work well, but has problems. For one, unless you sell a lot of books, it's very difficult to make real money. Authors often get as little as $0.50 per book in royalties. Further, writing a book is a lot of work, and that can take time away from the other aspects of development.

A relatively new, but not really radical, approach is direct government funding. This was in the news recently with the decision of the German government to fund GPG to the tune of 250,000 DM (about $130,000). Traditionally, governments haven't funded free software directly, but the indirect subsidy, mostly through University research grants, has been huge. According to Jim Gray of Microsoft Research, research funding for computer science is about $1.3e9 per year. Some of this has in fact resulted in free software release, such as the Grass GIS system, recently GPL'ed. Given the notable successes of free software, it's not hard to imagine that a tiny fraction of this research money can be diverted to direct support of free software.

Advogato hopes and expects to see more innovative funding approaches develop over the coming years. Free software developers create a lot of value for the world, and the business folks are now beginning to acknowledge that. It's pretty much the job of a well-functioning economic system to reward people who create value. Let's hope this happens without too many growing pains.

Some other options, posted 22 Feb 2000 at 22:36 UTC by Skud » (Master)

A couple more options:

Firstly, websites such as CoSource and Sourcexchange have set up a system whereby people who want free software written contribute funds to the people who write it.

Secondly, even independent consultants or small companies can produce free software as part of the process of developing dull corporate stuff for clients. Take the example where the actual job is to develop an E-Commerce website, but you develop some kind of generic tool along the way. The client pays for the work you've done and gets the website, and you get to release the tools. Make sure it's in your contract, though. You should say something like "Any generic tools and utilities created by us as part of this project may be released under an Open Source license". IANAL, and neither are you (probably) so get the land-sharks to do the contract stuff for you.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page