The idea behind Open Source Software (OSS) goes back a number of decades, describing how software should be distributed with its source code, free to use, free to modify, and free to redistribute. OSS allows software peer review, given the code is freely available to those who would look at it, and further allows improvement by a community of programmers around the world. OSS is ultimately defined by this community, working together to achieve some common goal or interest. There are a number of “copyleft” licenses which protect OSS, one of the most notable being Richard Stallman’s GNU General Public License. Stallman had been irritated by two key events in his software development life:
1) Closed source (proprietary) drivers, preventing him from using a hardware device as he saw fit (a printer).
2) Development on a program he had been working on based on free source code from Gosling’s EMACS was halted, when Gosling’s Emacs was purchased by a company. The formerly free code was no longer publically available for use, but property of a company, creating a hurdle for the development of GNU Emacs.
OSS projects have been initiated by individuals (Linus Torvalds, the father of the Linux kernel) and organizations alike (the RedHat Fedora linux distribution, for example). By making the code available, these programs can be continually improved. This runs contrary to closed source “black box” software, which only the proprietary organization holding the rights can improve or modify, as they see fit. In OSS, if there’s a program that requires some functionality you want (assuming you have the required programming knowledge), you can add your changes to the code, recompile the program, and get it to do precisely what you want. Further, you can submit the code changes to the people in charge of the program’s code base, potentially allowing your modification to make it back into the main program, if it passes the peer review process, and is seen useful by project maintainers.
The benefit for users worldwide is great – you have programmers willing to spend their time, improving programs which you can ultimately benefit from. You do not have to pay licensing fees for the program itself, nor for any future upgrades, as long as it is covered by a license such as the GPL. This can also help cash strapped organizations such as libraries, where they can employ organization wide database software handling circulation, cataloguing and procurement without actually having to pay for the software (Koha being a great example). There are still support costs if you want contractual support (though community support through forums and IRC is usually pretty good), but not having to pay tens of thousands of dollars to buy a software package can be a huge source of savings.
There are many great OSS consumer offerings which people should definitely take advantage of:
Microsoft Office Alternative: Open Office
Create PDF’s: PDF Creator
E-Mail (Outlook Replacement): Thunderbird
Multimedia (movies): VLC media Player
Image Editing (Photoshop Replacement): Gimp
Instant Messaging: Pidgin
Archive Management (WinZip Replacement): 7 Zip
Microsoft Windows Alternative: Ubuntu (Linux)
Blogging Platform: WordPress
I’ve only really scratched the surface – there are open source tools for nearly anything. If you need to host a web server, there’s Apache. If you need to host a database, there’s MySQL. Why not take advantage of free, regularly improved software?
Header image courtesy of stock.xchng