2.5. Why open source?

Many of the programs listed on the Pythons editor page and in the notes above are OpenSource, which means the creators have made the code open to the public. Typically, there is a license spelling out what rights are being granted to users: the license often allows the code to be modified, and sometimes it even allows such modifications to be used in other programs, sometimes even in commercial programs that aren’t open source.

Many of the programs can also be downloaded for free.

Since many aren’t familiar with the rationale and advantages of open source and free software, we offer a few notes of explanation here, addressing only the practical issues (for links to a fuller discussion of the philosphical motivations, visit R. E. Wyllys’s Open source intro site or the Free Software Foundation site ).

First of all, you may think Open Source or Free software is necessarily of poor quality. Think again. Free software is open to a community of users who are invited to contribute, criticize, and improve the program. Often those users are demanding and knowledgeable. While many free software programs, probably the overwhelming majority, are not quite ready for the light of day, any program that has retained a community of users over a substantial period of time is going to be quite good, and may attain a level of stability you can only dream of in a commercial product. Since an active user community is only reason the program continues to exist, backward compatibility, even as the program grows and improves, is essential. There are many examples of large free programs that have lasted decades, including the Berkeley Unix (1977) and Linux operating systems (1991), the Gnu operating system (1983), Python, Perl, the Emacs editor http://www.gnu.org/software/emacs/ (1976), and the TeX/Latex document preparation system.

Money aside, why open source rather than a commercial program? For this course you are acquiring an editor to get a job done, writing programs. That means you now belong to a small market sector with strange idiosyncratic needs. Commercial software producers exist to make money. Software vendors who don’t target their efforts on large markets lose their jobs. So there is a very natural reason why software developers, scientists, and social science researchers have participated in the open source and free software communities: This is the best place to get the software that meets their special purpose needs.