Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Editor's Forum


November, 2005:


I'm happy to see that the open-source movement is beginning to drift out of its starry-eyed phase. For a leading indicator, see the recent posting by Dan Farber, "Commercial open source, a misnomer?", at http://blogs.zdnet.com/BTL/?p=1787. No, Farber's article isn't a major exposé, and I am not trumpeting the imminent downfall of open source. It's just another indication that the honeymoon is coming to its end. Open source is a term that has simply been spread too thin to mean much these days.

Richard Stallman is widely recognized as the father of the modern open-source movement. I remember a couple of conferences circa 1980 where Stallman would preach his gospel. In those days, he expressed mounting dismay that more and more source code was being shielded behind proprietary agreements. He didn't object to people making money on software, just keeping the source from potential users. To the extent that he wanted software to be free, he meant free as in "free speech" not free as in "free beer." I have to say I wasn't convinced by his arguments against keeping software confidential. To me, he was mostly arguing for the right to see the stuff so he could play with it. Moreover, Stallman's style was to make a few inflammatory statements and get a roomful of commercial software types to begin defending their business models. (That was good for about half an hour, before the attackees wised up.) But I will say that his position was logically consistent, and that he has invested considerable amounts of personal energy in advancing it.

One way to ensure that software is as available as you'd like is to write your own. The Free Software Foundation, Stallman's brainchild, is thus the flagship of the open-source movement. The goal of Project GNU, its major undertaking, was no less than to rewrite all of UNIX and make it freely available. (GNU is a bootstrapped acronym for "GNU's Not UNIX.") The UNIX kernel effort wallowed along for about a decade, until hardware got cheap and fast enough for it to perform adequately—and a graduate student named Linus Torvalds mined the code to make what is now called Linux. But well before then, the GNU C compiler (a.k.a. GCC) was a hit. It has now morphed into a multilanguage, multitarget compiler, so that its initials now stand for the GNU Compiler Collection. Today, you'll find quite a number of useful packages available through Project GNU.

Besides the software itself, Project GNU made another significant contribution to the open- source movement. It made its software available through a "copyleft" agreement. Source code protected by copyleft can be modified, and sold at a profit, but it cannot be kept proprietary. If you build a product upon copyleft code, there's little you can do to keep potential competitors from reviewing your source code, enhancements and all. That, and a few other restrictions, limits the desirability of Project GNU code in commercial environments, but it by no means eliminates it. Quite a few companies have found a way to profit from the mass of useful code already written, debugged, and documented for Project GNU.

Here's where things start to get messy. It's one thing for a company to get its start with a large infusion of free software; it's quite another for that company to give away, or even disclose, their added value. The easiest way to subvert the intent of copyleft is to keep the important additions separate from the code protected by copyleft. The former can be kept proprietary, even though it depends heavily on the free availability of the latter. See Farber's posting for one example; it is by no means the only example today. The effect is to make the flow of truly free software predominantly one way, from unpaid volunteers to commercial enterprises. There's much less give back than the early idealists hoped for, I believe.

Another problem is the proliferation of open-source agreements. It's easy enough to find fault with the copyleft agreement, but that doesn't mean there's a single obvious replacement for it. Today you can find literally dozens of agreements used to protect code billed as open source (see http://www.gnu.org/licenses/license-list.html). That's a nightmare for a company hoping to ship a product based on multiple open sources. In some cases, it's enough to make "free" code too expensive to use.

Finally, there's the devaluation of the term "open." It's now used as a synonym for "not completely proprietary." That's close to Stallman's original stated goal, ironically enough. But it's nowhere near what most people think of when they read that software is "open." So next time you see this adjective, mentally replace it with a smiley face. The meaning will probably not change.

P.J. Plauger
Senior Contributing Editor
[email protected]


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.