The theme of May 5th’s class is “Free Software and the Open Source Revolution“, and the required readings were:

  • Pages 1-32 of Free Software, Free Society: Selected Essays of Richard M. Stallman (Abbreviated FSFS), and
  • The Introduction of Open Sources: Voices from the Open Source Revolution. (Abbreviated OSV)

Note that the first 32 pages of Free Software, Free Society contains (among other things):

  • An Editor’s Note, by Joshua Gay;
  • An Introduction, by Lawrence Lessig;
  • And finally, Chapter 1: The GNU Project, by Richard Stallman

For the remainder of the discussion, I focus only on Chapter 1 of FSFS, and on the Introduction to OSV. This is because I found the pieces written by Lessig and Gay to be “thick”, preachy, and steeped with hyperbole. As evidence, I offer the following two quotes — after which I discuss this work no further:

“(A later chapter) discusses how the current laws and regulations for patents and copyrights are not in the best interest of the consumer (…) Instead, this section discusses how laws are geared towards helping business and government crush your freedoms — Gay, pp.1 (emphasis added).

“(Stallman’s essays) will serve as a resource for those who seek to understand the thoughts of this most powerful man – powerful in his ideas, his passion, and his integrity, even if powerless in every other way.” — Lessig, pp.13

Ok, back to the meat of the matter.

Both pieces (Chapter 1 of FSFS, and the introduction to OSV) provide a brief introduction and history of Free, Libre, and Open Source Software (FLOSS). Interestingly, while these works are chronicling aspects of a common movement, each piece views events through the lenses of slightly different ideologies. Without elaborating on the differences here, I place Stallman’s essay (not surprisingly) squarely in the camp of Free Software. The OSV work is squarely in Raymond et. al’s ¬†Open Source camp. While the differences between these camps are well-known, and are themselves interesting, I found each camp’s mischaracterizations of the other to be particularly intriguing. For example, in the introduction to OSV, the authors (Chris DiBona, Sam Ockman, and Mark Stone)¬†state

The GNU project’s goal was, simply put, to make it so that no one would ever have to pay for software“.

Conversely, Stallman’s work has an entire section entitled, “Free as in Freedom” which is devoted to debunking this myth. In this section Stallman clearly states “The freedom to sell copies (of software) is crucial”. He later notes that he personally sold copies of GNU Emacs for $150 each.

Similarly, Stallman warns

the rhetoric of ‘open source’ focuses on the potential to make high-quality, powerful software, but shuns the ideas of freedom, community and principle“.

Now, it is true that the OSV introduction spends a great deal of time enumerating the non-alturistic (i.e., pragmatic) motivations of developing and using FLOSS software. However, a running analogy in the OSV introduction compares software development to the scientific method. In drawing this analogy, the authors motivate open source by stating that

Scientists aren’t supposed to hoard profits from their inventions, they are supposed to publish and share their inventions for all to benefit from. A scientist isn’t supposed to let profits come at the expense of the pursuit of knowledge“.

Surely then, the open source camp is also guided by some principles and by community.

Another difference, both camps seem to offer opposing views regarding the once-proprietary library Qt. Specifically, DiBona et al. write

With the advent of open source, however, Troll (the maker of Qt) was able to change their license to one that met the Open Source definition, while still giving Troll control over the technology they wanted. The rift between two important parts of the Linux community appears to be closing

Meanwhile, Stallman writes

(Qt’s) new license is inconvenient and inequitable, so it remains desirable to avoid using Qt.

As such, the rift continued, and was only resolved once Qt was re-released under the GPL.

Finally, in regards to developer motivations, DiBona et al. state

“Programming is also about empowerment, what Eric Raymond calls ‘scratching an itch’. Most Open Source projects began with frustration: looking for a tool to do a job and finding none, or finding one that was broken or poorly maintained.

Meanwhile, in regards to Raymond’s itch, Stallman writes

Maybe that happens sometimes, but many essential pieces of GNU software were developed in order to create a free operating system. They come from a vision and a plan, not from an impulse.”

In the end, however, this latter difference is not difficult to reconcile; I get the impression that many of GNU’s software development projects were also started out of frustration — when Stallman was looking for components to further the GNU’s goals, he often found none that were suitably free.

Or perhaps it is time we retire the idiom of “scratching an itch”, and instead recognize that FLOSS developers are complex social beings whose intrinsic motivations cannot be adequately summarized by a short soundbite.