What is Free Software?
The idea behind free software is that the owners and users of computing devices (computers, printers, cell phones, etc.) should be free to do what they wish with the devices they buy, and that device vendors should not be able to place limits on the use of devices or otherwise dictate to owners how to use those devices. However, in order to maintain control over their devices, owners need access to the source code of the software that runs (or runs on) the device. Enter free software.
Free software (FS) should not be confused with “freeware.” The Free Software Foundation identifies four specific freedoms, but really there are three. You have the right to:
1. Run the program any way you see fit
2. View and modify the source code
3. Make copies and share the code with others
Freeware is software that you can obtain and use free of charge, but you don’t have access to its source code. The difference between the two distribution models is often expressed as free software is “free as in speech,” freeware is “free as in beer.” Although, as it turns out, if it is “free as in speech,” it will probably be “free as in beer.” Perhaps the best way to understand what free software is, is to think of it as being “free as in freedom.”
A Brief History
Prior to the late 1970’s the overwhelming majority of software programs were free in the sense of freedom. At that time software companies began a deliberate campaign to force developers to sign Non-Disclosure Agreements (NDAs) and agree not to share the source code of the programs they were developing. Although this didn’t sit well with many of them, they were eventually convinced, by the financial benefits, to go along.
One committed hacker, Richard Stallman, balked and started his own campaign to “re-free” software. Stallman used the burgeoning internet community to advance his idea and created the GNU Project as a vehicle to accomplish his goal.
Because of the way software copyright laws work, Stallman needed to copyright all of his code or risk losing it to the public domain. This created a paradox. His goal was to undo the damage caused by copyright practices concerning software, but yet he would have to copyright his work or lose control over it, including the ability to make it free. He and his collaborators originated the idea of a “copyleft.” They would copyright their software and release it under a license that mandated that, while users of the software were guaranteed their freedoms, if they chose to redistribute the software they had to do so under the same license. This license is called the GNU General Public License (GPL).
The GNU Project’s stated aim was “to create a complete, free operating system.” They decided to make it POSIX compliant. Basically it would be a kind of clone of Unix – a powerful and popular operating system of the time. They were well on their way toward this goal, when a young Swedish student (who was a citizen of Finland), Linus Torvalds, announced that he was going to create a Unix-like operating system, that ran on the under-powered personal computers of the day. Ultimately, Torvalds, realizing the complementary aspects of the two projects, adopted much of the GNU Project’s software and released his kernel to the public under the GPL.
Big software companies began to take notice. In the two decades or so, that software had become proprietary, one company, Microsoft, had built a virtual monopoly for software running on personal computers. Competitors began to evaluate Linux as a means of breaking Microsoft’s monopoly. IBM eventually decided to invest $1 billion in Linux. This investment proved a boon to free software.
Today, there are over 50,000 free software projects. Some, like Linux, MySQL, Apache, and the GNU Compiler Collection are leaders in their respective fields. Free software systems, featuring the Linux kernel, run on everything from mainframes to tiny embedded devices and everything in between. If you surf the web, use a cell phone, or record television shows, chances are you’re using free software.
Open for Debate
Prior to IBM’s investment in the Linux kernel – and by extension free software – a debate began about what to call free software. Stallman preferred the term “free software” because he felt it emphasised the importance of source code freedom. Others disagreed. They argued that corporations would never be able to identity the value of something that they perceived as being “free as in beer.” They lobbied for a change in name to “open source software.” They felt this removed the emphasis from “free” and allowed them to demonstrate that this development model would enable more innovation, higher quality code, and faster development times. This counter-revolution would largely win out. Most folks today call free software, “open source software” and this may be the term with which you are familiar. But a horse by any other color, is still a horse and free software (regardless of what it is called) has certainly come of age.