Dot Rose

Part One


Free and Open Source Software (FOSS)

Proprietary software can be expensive, both in terms of initial cost (licensing the software) and in terms of ongoing costs (training, consulting fees, annual license fees, upgrade costs, etc.). Sometimes the closed nature of software adds to the need for consulting, further increasing costs. Since the software is a "black box" it often requires the services of a trained expert just to get at your data (that you own, after all). One major premise behind the open-source movement is that software doesn't need to be a black box.

When people talk about free and open source software (FOSS), the word "free" can be confusing. There are two common uses for the word free and understanding them both is important to understanding the FOSS movement as a whole. These two uses are often summed up with the phrases "free as in speech" and "free as in beer."

The first, "free as in speech" is also expressed as "free as in freedom." All FOSS software is, by definition, free in this regard. Because the source code (the human-readable code that makes it work) is freely available, anyone with a bit of programming knowledge can freely examine the code, make sure it does what they want, modify the code to fix bugs or security flaws, add code to extend the functionality of the system, etc. The licenses under which FOSS software are distributed expressly allow these sorts of freedoms. The alternative to free (as in speech) software is "closed source" or proprietary software. This software is distributed in a form that will run on a computer but the source code is not available for review or alteration. Most "traditional" software falls into the proprietary camp.

The second type of free, "free as in beer," has to do with money. Another phrase to express this concept is "free-of-charge." Not all open source software is free in this respect, although much of it is. All the combinations of these two freedoms are represented in the software market. There are systems where the source is available (for review but not for alteration) but for which you must buy a license to legally use the software. Other software is free to use but the source is not available (usually called "freeware"). Standard proprietary software is free in neither sense. The bulk of open source software (and the focus of this document) falls into the final category. It is free both in terms of speech and beer. The source is available and the software is free for all to use.

A logical question that is often asked now is, why would anyone spend the many hundreds of hours required to write sophisticated software applications only to turn around and give them away for free? It is not uncommon for people to avoid free software for the simple reason that they don't understand the motivations behind it and therefore have less trust of those producing it. While it would be impossible in this short document to discuss all the motivations for writing free software, I can touch on a few reasons.

Companies tend to believe their data belong to them. Putting their data in proprietary formats robs them of control of their own data that they hold so dear. It means they have to rely on another company for the continued access to their data. The proprietary nature of the software and data formats locks them into one particular vendor since getting their data out of one proprietary system and into another can be costly. Some companies (particularly but not exclusively in the tech industry) have the resources to write their own systems for managing data. But if software is not their business, they may not be set up to market or support these systems. Instead, they share them with associates and earn good-will from the community (rarely a bad thing for any business). These other companies make improvements or corrections to the software and pass them back to the first company. In this way, software grows that was never intended to be sold. Much of this software is very specific to an industry and will never be seen outside that industry. Some, however, is more general purpose and eventually individuals outside that industry will become involved. Some do so simply for the enjoyment they get from contributing to a project. Others like what the software can do and want to use it themselves but see a need for new features and have the expertise to provide them.

Another scenario involves parents who become involved in the educational life of their children. Suppose a mother who also happens to be a programmer sits down one evening after her children are in bed and begins writing software for her children to use to practice their math facts. She improves her system with feedback from her children and eventually shares it with other parents at the school. Often such a parent has a web site or knows someone who does and puts the software on the web for others to download and use. Some of those others suggest or provide improvements and the cycle continues. None of this was done for profit. It was done because her children had a need that she could fill and she filled it.

A third and significant source of FOSS software is the educational and research institutions around the world. Students and scientists with no interests in selling software often write software that meets a need for them (i.e. a database to store genomic data, a language for parsing English language text [see Appendix C], or a system for filtering spam from email). They share this software with other students or researchers and once again, the cycle continues. Whatever the motives, a considerable body of free and open source software now exists in diverse fields and disciplines.

For The Fourth Presbyterian School, freedom (as in beer) is clearly important (the freedom, not the beer). We have a very limited budget and setting up even a bare-bones computer lab will be prohibitively expensive with proprietary software. With MS Windows priced at $280 (retail price) and MS Office at $350 (both per computer), not to mention basic file server software ($800+) or anything else we might want like typing tutors, math software, graphics/drawing software, database software, programming editors, web servers, mail servers, etc. you can see that even if we get a substantial discount on software, we're going to have a hard time putting that together. Adding to the cost is the fact that the Pentium II computers we have to run this on are not adequate to run Windows XP. We'll have to upgrade memory and hard drives on many or all of them and there is no budget for those upgrades. Further, Microsoft seems more and more to be requiring (not just suggesting) regular upgrades to their software and those upgrades are not free.

That being said, I believe that freedom (as in speech) is also important to us particularly on the faculty and staff computers. We shouldn't have to go to a consultant whenever we need a new report or data field added to one of our systems. This is especially true when so many alternatives are available. Free and open source software exists for the MS Windows platform although considerably more exists for Linux and other Unix-like operating systems. There are literally thousands of applications available for office productivity (email, word processing, spreadsheets, presentations, flow charts, etc.), graphics, desktop publishing, bookkeeping, etc. [see Appendix A]. If you can think of it, there is a good chance that work is being done. While much of the FOSS software lags behind proprietary software in terms of features, the situation is not nearly as bad as only a few years ago. In many cases the FOSS solution is on a par with the proprietary solution and in some cases it is significantly more advanced. This is particularly true in the higher end server realms. You should also ask yourself how many more features a word processor actually needs. I am installing a pretty good collection of software on David's classroom computer. I will be happy to give a demo to anyone who is interested. (Note: I don't know if that computer is still set up or not.)

Furthermore, the second of our pedagogical principles says that "the best training for life in an increasingly specialized world is a nonspecialized education. Specialized training does not equally apply to all and quickly becomes out of date in our rapidly changing world." Using Microsoft products because that is "what everyone uses" is a good example of specialized training and it does not serve our students as well as teaching them the principles behind what they are doing. We need to teach writing (and word processing), not Microsoft Word. We need to teach prinicples of design and drawing, not any particular drawing package. We need to teach logic and general programming principles, not any particular language or implementation. Using FOSS on our computer lab will allow us to teach these principles which are becoming so vital in our rapidly changing and computerized world.

Finally, while a computer lab will certainly benefit from (or be made possible by) free and open source software, I believe the school can save a considerable amount in terms of software and hardware by strategically implementing the use of FOSS software on all the computers at the school. We rely on certain proprietary software and I'm not suggesting we throw that all away, not yet, anyway ;-). But we can realize both hardware and software savings in both the short and long term by using available FOSS software where appropriate. Appendix A lists software we use today and FOSS alternatives. In most cases there are links to web sites listed. Some of these applications are available for review on David's computer.



Continue to Part 2: Linux Terminal Server Project (LTSP)

Return to Table of Contents


Copyright © 2004 Henry Hartley - GNU Free Documentation License