My response to Richard Stallman

Stallman's encouragement to replace proprietary software with free alternatives would complicate matters for open-source developers by removing the opportunity to license the code to makers of proprietary software

There are a number of people in the open-source pantheon, among them Bruce Perens and Eric Raymond. However, Richard Stallman, as author of the GPL and one of the most prolific authors in the open-source movement, certainly fills the role of Zeus. Perens and Raymond serve many purposes, though a number of their recent writings seem aimed at channelling the open-source community's ire towards an enemy (usually Microsoft, who is portrayed as an evil Zelig that they inevitably see standing in the shadows in photo opportunities with open-source critics). Stallman, however, rarely dirties his hands with such things, leaving him free to operate in the ethereal realm of open-source philosophy.

Stallman serves his purpose well, even if I often disagree with him. What motivated me to write this response, however, were six simple words included in his recent article: Free software does not mean "gratis".

Anyone who has followed my ZDNet writings knows that I am sceptical about open-source as a foundation for revenue generation. If you are writing a utility that is designed to be used for free, as in gratis, then open-source is a great model to drive usage. In fact, that's what I did with my CLR Proc Container freeware, a product from which I had no intention of generating any revenue (though I used an MIT open-source licence so that both proprietary and open-source developers might adapt and extend it). If you are trying to generate revenue, however, you are fighting against a structural issue in your business model, one that gives the recipe by which you made your product to competitors as well as consumers. The problem is deepened through use of a GPL licence, which is currently the most popular open-source licence.

In short, most open-source (and all GPL) software is of the free, as in gratis, variety, because the source code is available for all to see. Furthermore, Stallman's encouragement to replace proprietary software with free alternatives would complicate matters for makers of open-source software, as it would remove one of the few areas from which open-source software generates revenue: licensing the code to makers of proprietary software.

Why is open-source software usually free (as in cost)?
Unprotected CD Music is a bit like open-source software. Songs are, for all intents and purposes, "open-source", as access to the song provides the ability to alter and extend it as one wishes (think sampling in techno music). The "source code" of the song, as it were, is part and parcel of the song itself. Just as most listeners wouldn't be able to pick up a guitar and make the same song from scratch; most people who use the Apache Web server would be unable to write a Web server on their own.

Many of the justifications used by those who trade music apply to software pirating. CDs are too expensive (software is too expensive). The musician only gets a fraction of the revenue from sales (the programmer only gets a salary, while the company makes the big bucks). Data is made to be free and distributed to all and sundry (Ditto).

Music companies, however, are finding it harder to make a buck in the music business. You can't blame it all on music trading, to be sure, as technology-driven reductions in the cost of music production have led to more competitors in the music production business. However, you can't say that it ISN'T related to music trading, at least if you pay attention to file trading statistics.

Consider now a product that explicitly grants everyone a right to share the code with anyone they want. This "right to share" is explicitly granted by the GPL. Simply receiving working binaries or source code does not require that the recipient pays the copyright holder a licensing fee. A distributor might charge for your right to download, but given that that distributor has no exclusive right of distribution, a recipient has the right to place that working code on their own site and NOT charge for it.

This means that most GPLed code is available, in some capacity, for free in the traditional sense of the term.

Where GPLed code generates revenue
Distributors can charge a fee for the right to distribute, but that's fairly useless in that no one company has exclusive distribution rights. They can charge for support, but that is a SEPARATE service unrelated to the base product (you can have a support contract for Windows, too).

open-source companies can add proprietary extras to their distribution and charge for them, as there is nothing which forces add-ons to be GPLed. However, Stallman rejects that model out of hand as fundamentally unfree, and thus not welcome:

"For instance, what should we say when the non-free Invidious video driver, the non-free Prophecy database, or the non-free Indonesia language interpreter and libraries, is released in a version that runs on GNU/Linux? Should we thank the developers for this "support" for our system, or should we regard this non-free program like any other -- as an attractive nuisance, a temptation to accept bondage, a problem to be solved? (Twenty years of free software: What now?)"

The last area of potential revenue rests in charging proprietary software companies for the right to integrate your software. TrollTech does this with its Qt product, which is the library used, for free, in the KDE window manager on Linux. For commercial (read: proprietary) products, however, the developer must pay a licensing fee for the right to use the product.

This revenue model is useful...provided people are making proprietary software. Unfortunately, Stallman is on a mission to convince everyone to consume and create only GPLed software. If he succeeds, TrollTech will find that it makes less and less money from its Qt product. Given that TrollTech is a corporation, and corporations are interested in profit, what are the odds that TrollTech will continue to spend money updating Qt?

The likely response from the open-source community would be that the code is available under a GPL licence, and so they can extend and change it as they want, whether or not TrollTech opts to continue with it. This is, of course, true. However, it doesn't change the fact that corporations who make development frameworks, such as TrollTech, would have a hard time making money from GPL code in a market where no one made proprietary software anymore. Likewise, it doesn't do much to defend the notion that GPL is a great foundation upon which to base a business model, at least if companies have any interest in making a profit.

Why Stallman wrote the article
Open-source needs a philosophy that motivates people to forego monetary compensation and donate their labour to "the community." This will cause them to earn less, a fact that Stallman admitted in other writings (this is the third time I've quoted this over the past two years, but here it is again: If we take away the possibility of great wealth, then after a while, when the people have readjusted their attitudes, they will once again be eager to work in the field for the joy of accomplishment (Stallman, Why Software Should be Free)). As "compensation", Stallman endeavours to instill in developers the belief that they are fighting for "freedom."

Ask your average consumer if they feel less free because they lack the schematics used by drug companies to make a particular medication. What about lack of inclusion of manufacturing details for the latest brand of bike made by Schwinn? Lots of products are released without detailed schematics as to how it was built. However, few consider it a fundamental restriction on their freedom to lack such details. Quite simply, consumers are buying a service from a company -- the manufacture of a particular product -- not the ability to make the product for themselves. Most would consider it very odd for a company to hand out the blueprints with which to compete with them. Yet, that is exactly what Stallman appears to demand of software companies.

Here in Switzerland, Hip Hop music is huge. The H&M store in Geneva (to those who've never heard of H&M, it's a clothing store popular in Europe that has lots of ads with supermodels wearing, ironically enough, practically no clothes) plays lots of rap music, French or otherwise. Hip Hop music is not known for being polite. Not too long ago I was perusing the sales rack at H&M, which happened to be next to the women's lingerie area, while a Snoop Dogg song blasted throughout the store in all its unedited glory. Cover the childrens' ears!

No one seemed to care, and the reason is that, to French-speakers, it's just a foreign language. Profanity is only considered as such when you think it is profanity. To English speakers, Snoop Dogg's lyrics might be considered profane. To French speakers, however, English words are not considered profane, while the words spoken by the Merovingian in "The Matrix Reloaded" would be.

In other words, proprietary software is a limitation on your freedom only if you believe that to be the case (how very existentialist of me). This is why Richard Stallman spent a lot of time calling proprietary software "ugly," "nasty," and "enslavement." In most cases, consumers wouldn't view the lack of the blueprints for a particular product as a problem. If they have been instilled with a faith in the fundamental unfairness of proprietary software, however, they will demand "blueprints", as it were. Similarly, developers will be motivated to donate their time to open-source development efforts.

Richard Stallman is peddling a new faith, and it's the fact that others share his faith that makes his world view a reality, not some fundamental unfairness in proprietary software.

GPL software is not a bad thing. It is conducive to community development efforts, and helps to prevent forking to a certain extent (a problem more likely to be faced by open-source products) given that the source code for alterations is public, allowing useful additions to be merged back into the original codestream. It guarantees access to source code in all cases, and for certain products, this is immensely useful.

GPL software is NOT, however, a great generator of revenue. It is great for ensuring widespread usage, but its very nature all but guarantees that the code will be available for free (as in gratis). In my opinion, the first step in building a proper open-source business model, one that attracts investment, generates revenue and provides jobs, is to admit the free, as in gratis, orientation of GPL software. Starting from that foundation, proponents have a decent chance of working out a credible revenue model. Repeating the fantasy (without explanation) that GPL software is a generator of revenue while advocating an end to practices which have proven important sources of revenue for GPL-oriented companies is self-destructive, and not likely to help companies struggling to find a way to build profitable companies based on open-source software.

John Carroll is a software engineer now living in Geneva, Switzerland. He specialises in the design and development of distributed systems using Java and .Net. He is also the founder of Turtleneck Software.