Wednesday, December 15, 2004

Open Source FAQ for my Mother and other Non-Digerati

Since we announced Optaros a lot of friends and family have been asking for an explanation of Open Source. In the spirit of re-use, I thought I would publish some of my answers to typical questions. If you are reading this Blog, you may know all this stuff, but you also might be asked similar questions so feel free to send your friends this way.



  • What is Open Source?

    Open Source is a licensing model for software where the software and the source code are distributed without requiring licensing fees. There are a number of Open Source software licenses that have different stipulations. The Open Source Definition, written by Bruce Perens, contains 10 tests to determine whether a software license can qualify as Open Source. Open Source used to be called Free Software (and it still is by some people). The name Open Source was adoped because "Free" had a connotation of being worthless, rather than its intended meaning of Freedom as in Liberty. The concept of Free Software has been around for a very long time.



  • You mean like Linux?

    Linux has been getting a lot of media attention but there are thousands of software applications distributed as Open Source. Today, Open Source Software is mostly used in infrastructure (operating systems such as Linux, web servers that serve web pages, databases) and sub-components of software, but a growing number of Open Source Software is software that non-programmers can use both at work (such as accounting systems, spreadsheets, word processing applications and publishing systems) and home (such as web browsers, Instant Message clients, and games).



  • Who writes Open Source Software?

    While the stereotype of an introverted high-shool student programming in his pajamas is a colorful image, it is inaccurate. Most Open Source programmers are paid to code by either software companies such as IBM and Oracle that have Open Source contributors on staff, or consultants and internal technical staff who use Open Source Software and contribute back improvements they make when working for their employer.


  • Why do people give away things for free?

    A lot of Open Source software started out as commercial software and was opened as a competitive business strategy to increase support and services revenues by increased market share. Even proprietary software is given away for free for these same reasons but those deals are kept secret. Proprietary software companies will underwrite Open Source projects to lower the overall price by making infrastructure that their software runs on free (for example, SAP open sourced a database to make SAP cheaper for their clients to run. This also took revenue away from their competitor: Oracle who sells databases). As for the individual contributors, different people do it for different reasons. Some contribute because any contribution back to the community will be further improved upon and those improvements will be available to the original author. Others contribute because Open Source is the best way to expose their talent.


  • Is Open Source Software any good?

    Open Source is just a licensing model. The quality of the software is up to the developers. Consequently, there is some very good Open Source Software and some very bad Open Source Software. Nevertheless, the Open Source model enables processes and attracts individuals that are capable of rapidly creating very high quality software. The key here is that everything is open. People that are qualified and inspired can contribute, and the results of their efforts are visible for everyone to see. On the second point, people generally step up when their code is open for criticism (and oh yeah, the Open Source community can be very critical) in the same way that restaurants keep their kitchens cleaner if their patrons can see in. Closed software, on the other hand, is a little like sausages - you may not want to know what's inside.


  • What stops some unqualified or nefarious person from writing code that will hurt my computer?

    All projects have their own governance systems. Within each project there is a trusted circle of contributors, called committers, that take responsibility for evaluating every contribution for accuracy and appropriateness before entering it in the code base. Many of the better run projects have special test programs (called unit tests) that automatically check inputs and outputs for accuracy. I know many proprietary software companies that do not apply this level of rigor in their QA.


  • Why are companies using Open Source Software?

    The cost savings is just one reason why companies are interested in using Open Source. The companies that are really benefitting from Open Source Software use it because of the flexibility that it provides. Companies that use Open Source Software do not have to worry about a vendors ceasing to support a product. They can also be more self sufficient in diagnosing and solving problems with the software. There is nothing worse than knowing of a bug and having a software vendor deny it.



  • Who can I call when it breaks?

    It depends on the software. Some software is supported just like proprietary software. In these cases there are companies that sell maintenance or support contracts that give you access to a help desk. In other cases, there are mailing lists and forums where you can post questions and people are generally very helpful in giving answers. These lists are also searchable so usually you can find your question already answered.


  • How do I try Open Source?

    A really good place to start is to dump Microsoft Internet Explorer and start using the Open Source browser Firefox I think you will find it is a better product and you will not have to worry about all that annoying Ad-Ware.