FLOSS Daily

with Free/Libre/Open-Source Software

by Craig A. Smith


Originally published for the Society for Technical Communications, Twin Cities TechTalk newsletter, November 2006.



In 1982 Richard Stallman, frustrated with printer software, set out to develop a totally free and open operating system (OS).  From that effort came the Free Software Foundation (FSF) and an amazing variety of software with odd sounding names like Linux (properly referred to a GNU/Linux), Debian, Ubuntu, RedHat, Fedora, OpenBSD, NetBSD, Emacs, Perl, and many more.

 

It’s become so popular, you are probably already using FLOSS everyday without knowing it.  The Apache web server powers 70% of all web sites.  Google runs the world’s largest database on MySQL.  Tivo recorders and many cell phones run embedded Linux.  Apple selected FreeBSD as the basis for their Macintosh OS X (they also added proprietary layers like Quartz, so they are only partially free). 

 

When I speak of free, I don’t mean just price, but also liberty.  You’ll hear people speak of  “free as in speech'' and ``free as in beer.''  Free software is free as in beer (although you can buy support from a number of vendors if you want), but it is much more.

 

Stallman talks about 4 freedoms.

  • The freedom to run the program, for any purpose.
  • The freedom to study how the program works, and adapt it to your needs (requires source code).
  • The freedom to redistribute copies so you can help your neighbor.
  • The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (requires source code).

However, if programmers put their code into the public domain, there would be nothing to prevent proprietary vendors from selling an incompatible version as their own product.  So the General Public License (GPL) was designed to keep improvements available to everyone.  The preamble says it best.


Preamble to the GPL

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. [emphasis added]

 

To paraphrase, you can download it for free.  You can run it for free.  You can change it and keep your modifications private.  You can modify and give it back under the GPL.  You can even sell your improvements, but then you must also provide source code for free. 

 

But if people can get free source code, why would they pay hundreds of dollars?  That’s why vendors like Microsoft have not found FLOSS to be a useful business model.  Others have.  Linksys was the first corporation to release source code for their routers (as required by the GPL).  RedHat Linux sells software support for an amazing variety of code.  And since you can get support from many vendors, you aren’t locked into a monopoly of supply and support. 

 

When you buy closed, propriety software, you’re betting your future on the success of your vendor.  If they discontinue a product or go out of business, you’re stuck.  With the source code, you can write your own destiny. You can tweak it (or hire some to) and adapt it to your evolving needs.  You can fix bugs.  With proprietary code, all you can do is pray the vendor does something.

 

There are other advantages.  Free software is more secure.  Free software is more reliable.  Free software has fewer bugs.  Free software patches are available sooner.  Free software can run on a variety of hardware.

 

 

 

 

REFERENCES

GNU Philosophy  
http://www.gnu.org/philosophy/

Wikipedia’s Free/Libre/Open-Source Software entry

http://en.wikipedia.org/wiki/FLOSS

 

Apple’s FreeBSD heritage

http://www.apple.com/macosx/features/unix/

The Free Software Definition and the 4 Freedoms
http://www.gnu.org/philosophy/free-sw.html

GNU General Public License
http://www.gnu.org/copyleft/gpl.html


GPL Software I've written

Rip2web
DOS script developed for FUS to put weekly sermons on-line. It converts wav to mp3 and uploads to your website. An optional Linux BASH script prepares playlists.

Celestial Navigation
Sight Reduction for programmable HP Calculators



Free Software for Tech Writers

GIMP Image Manipulation Program http://www.gimp.org/
Photoshop functionality for free.

OpenOffice http://www.openoffice.org/
Sun Microsystems’ office suite - runs on all platforms, open APIs and file formats.

Google Desktop 
http://www.google.com/intl/en/options/
Search your own computer for files, emails, web history.

Picasa 
http://www.google.com/intl/en/options/
Google’s version of iPhoto – find, sort, rotate, edit, display photos, create web galleries and more.

Spambayes
http://spambayes.sourceforge.net/
Bayesian (trainable) spam filter.  The Outlook plug-in does not work with Outlook Express.