For years I have been using and, in some cases, promoting "open source" software, but until a few months ago, I really couldn't have told you what is really behind that idea. I knew vaguely what it is - that the source code for a certain software program is "open" (available) and can be copied and improved upon by anyone who wants to. And that's good, right? But since neither I nor anyone I know actually would delve into the source code (at least not at this point), what does it matter? Windows, Office, and Adobe Reader all work, even though they don't share their source codes, so why should an end user (that's you) care? From a practical point of view, there are not that many compelling reasons, but I'll try to lay out what "Free" and "open source" mean and why they might just matter to you after all.
A Nutshell History - Free Software and GNUIn the 1970s, long before everybody had computers in their homes, computers were confined to university research centers, and software was free and shared for the most part. Two future figures in personal computing came out of this era with opposite impressions. Bill Gates, frustrated by the idea that software was being shared among computer enthusiasts without payment to the software creators (known as "pirating" software), wrote an
open letter saying so, in which you can see the seeds of the Microsoft business model.
Richard Stallman, on the other hand, became frustrated that people were putting restrictive licenses on what was previously open and shared software, and in response to this, he created the
Free Software Foundation, which still advances the cause of Free Software. Stallman's greatest innovation is the intellectual property workaround of "
copyleft," in which a program's creator copyrights the source code, then releases the source code and program with the condition that it
must remain Free and shared and that any modifications to it must also be shared in turn, preventing anyone from taking, say, the Linux kernel, changing the code, then copyrighting that code to make millions of dollars. This concept has been codified in what is known as the "
GNU General Public License" or "GPL," which led to the Linux/Open Source revolution as much as anything else.
If you are interested in Richard Stallman's ideas about this, peruse the
GNU Project website. It is worth mentioning that what is normally referred to as "Linux" is actually just as much Richard Stallman's GNU system (hence some distributions' insistence on calling it "GNU/Linux") - unfortunately for Stallman, "Linux" is a much catchier, if not quite accurate, name.
"Open Source" SoftwareIn the late 90s, as Linux began to take hold as a viable alternative to proprietary software, Free Software advocates began attempting to shop their software programs to the business world. Given the political stances of the Free Software movement, and the inherent trouble of describing software as "free" to people interested in making money, several Free Software figures got together and formed the
Open Source Definition, which was based largely on
Debian's Free Software Guidelines. This new term (to which Richard Stallman
strongly objects) gave businesses a way to extol the practical benefits of free software without having to negotiate the ambiguous (and potentially loaded) term "free." Unfortunately, "open source" is also ambiguous enough to lead to situations where companies may release their source code (making it "open"), but will attach a number of caveats about its use and redistribution that are not at all in line with the Free Software movements goals (or those of the Open Source Initiative for that matter).
"Freeware", "Shareware", and Other ConfusionsTo add a large dose of confusion to what is already a complicated topic, there are many software programs out there on the Web which are free to use, but are not Free or Open Source software. These programs will often use terms like "freeware" or "shareware" in their descriptions, which to the untutored eye
all look the same. Browsers like Internet Explorer or Safari, or programs like iTunes, Adobe Reader, or VMWare, are all free to download and use under certain conditions. There is also a growing number of free (of cost) web-based services that have come to define the idea of "Web 2.0"-style computer usage, like Google Documents, PBWiki, and even Blogger (which I use to host this blog). These are not Free Software in the "free as in speech," Open Source Definition/GPL sense. As Free Software advocates continually have to explain, the "Free" is about "freedom", not cost, and these "pseudo-free" programs have ulterior motives when they don't charge for their use (mainly advertising).
How to Tell if Your Software is FreeNow that I've laid out what's Free and what isn't, how do you tell? Here are a few characteristics of non-Free software:
- A restrictive End User License Agreement (EULA) - a quick glance should tell you - you will see a lot of "You may not . . ." language.
- Many non-Free programs will attempt to slip in extra software (like the Yahoo! or Google browser toolbars that track your internet usage and provide advertisers with whatever personal information you don't explicitly "opt out" of)
- You may see advertisements appear during the installation process
- You may have to enter your personal information to "register" your product or use a product key to be able to use the product
Free software programs will often be licensed under the GPL or some other license (Apache, Mozilla, and other open source companies provide this sort of licensing as well). Look for language affirming the rights to redistribute and share the product.
It's All About ChoicesJust like in your grocery-shopping, software choices matter. Most of the time (at least to my palate) conventionally-grown brocolli tastes the same as organically-grown brocolli, so why spend the extra money? I buy organic fruits and vegetables (when possible) because I know (or trust) that my body doesn't need the extra chemicals and pesticides that are used in conventional factory farming nowdays. Free and Open Source software are similar, in that you know that you can use conventional corporate software solutions with all of their caveats and insidious advertising, or your can use Free and Open Source software, which guarantee your freedoms to use and share it as you see fit, without any ulterior motive. You can argue that they "taste the same", but isn't an extra glance at the EULA worth the effort?