Monday, June 28, 2010

Artificial Scarcity - The FOSS Movement

In the late 1970s, more and more software was becoming proprietary, and Stallman suffered from it. Stallman considered agreeing to not to share software with his neighbor in order to create artificial scarcity a threat to the community of software sharing and hacking he was in. Some personal experiences included with software that controlled a Xerox printer (when Stallman finally found a developer involved with this software, he would refuse to give the source because he agreed not to give anyone else a copy), and with Scribe (Brian Reid agreed to add a 90-day time bomb when he sold that software to Unilogic, which was later common for shareware).

As more and more software got proprietary, denying the freedom of sharing in order to create artificial scarcity and also to modify, Stallman had a stark moral choice, either to leave computing, accept this proprietary software system that "left users helpless" or to change it. Of course, he chose to change it by starting the free software movement.

The Beginning Of The Free Software Movement

Stallman made the initial GNU announcement in September 1983 to begin the free software movement and the GNU project, asking for donations of time, money, and equipment. He quit MIT in January 1984 so he could focus on the GNU project. He initially tried to look for a compiler. He found VUCK, which was an Dutch acronym that when translated to English stood for Free University Compiler Kit. Unfortunately, the "Free University" part was referring to the Dutch name of the university, and did not indicate the software was free. Later a Pastel compiler from the Lawrence Livermore National Lab was found which was free software. Unfortunately, besided being written in and for Pastel, it also saved each program into core memory, which was only acceptable for mainframes for which it was designed for. Stallman in the end had to give up the search for now and focus on something else. He decided to work on GNU Emacs, a free version of the text editor Emacs.

GNU Emacs

When he began GNU Emacs, at first he thought he could take Gosling's MOCKLISP interpreter. Unfortunately, it was sold to UniPress which threatened to enforce the copyright. So he had to reverse-engineer it and start from scratch. He began GNU Emacs in September 1984, and by early 1985 it finally was beginning to be usable. So people began asking for it. Stallman of course put it on the FTP server. But many users did not have access to the Internet at the time. So Stallman realized that money could be made by starting a business to distribute the software. Thus forms the beginning of the Free Software Foundation (FSF).

The GNU Manifesto

By the time the FSF started, companies (including AT&T itself) were commercializing Unix and as part of it closing off access to source code. Even from AT&T, source licenses were becoming more expensive, which adversely affected BSD, which were based on UNIX/32V source code. This only increased support for the GNU project. Anyway, afterward Stallman wrote the longer GNU Manifesto, which besides asking for donations for one thing provides rebuttals to many of the justifications for proprietary software. Some quotes from it:
"Arrangements to make people pay for using a program, including licensing of copies, always incur a tremendous cost to society through the cumbersome mechanisms necessary to figure out how much (that is, which programs) a person must pay for. And only a police state can force everyone to obey them. "
This refers to the fundamental problems of enforcing artificial scarcity in a world where digital bits are easily copyable, some of which I described in other pages.

The Open Source Movement

The term "open source" was invented by Peterson as an alternative because of the problems of distinguishing free as in price from free as in freedom. Michael Tiemann also proposed another term as an alternative too, "sourceware". O'Reilly ultimately decided to put this matter up for a vote. The result was that 9 out of the 15 participants voted for "open source", so an agreement was made to use it in further discussions with the press and it stuck. Stallman considered this term, but open source was positioned as business friendly, while free software was more ideological, which ultimately separated it from the free software movement. Eric Raymond in 1998 proposed creating the Open Source Initiative that would police the use of "open source". It also provided the "Open Source Definition", which was created by Perens (who would later resign) based on the Debian Free Software Guidelines (DFSG). Both the FSF and OSI provided list of licenses that met their requirements.


  1. There was a time when SunOS (back before it switched from BSD to SYS V) included a C compiler. Enough kernel headers were provided to allow building device drivers for third party hardware into the kernel.

    I often wonder if Linux would've made such a big splash if SunOS hadn't stopped including a C compiler with the OS.

    Maybe this was the SYS V way, or maybe the UNIX providers were convinced that easy access to a compiler made it too easy for people to port their code to a competitors products.

    This was short sighted really. Look at all the software produced in the last 15 years that is at its core tied to the C stack.

  2. Yes, many Unix systems in the 1980s shipped with a C compiler as part of the system, until it was eventually unbundled.