|Last updated: 6/5/2002; 8:34:17 AM|
Marketing 101. Consulting 101. PHP Consulting. Random geeky stuff. I Blog Therefore I Am.Open Source 101: What is it and Why havent I Used it Yet?
Open Source 101: What is it and Why havent I Used it Yet?
Ive been a (very) small part of the Open Source community since approximately 1996 and a regular Unix user since 1986. A recent client opportunity made me realize that there is still a lack of understanding about the basics of Open Source. This document is a quick overview of the key concepts and technologies.
</font>_**What Is Open Source?
At its very heart, Open Source is a philosophy that basically says "People should have access to the source code of their software and not be controlled by a vendor". While Open Source software is usually free, this definition says nothing about money - the Open Source movement is about freedom. Its the freedom to make changes as needed and freedom from being locked in by vendors. What organization, in todays technology world, hasnt been harmed by one vendor or another? Horror stories abound about bad vendors and with good reason. Open Source solves these issues once and for all by giving your organization full control.What Does Open Source Do for Me?
Everyone always wants to know this right up front. Thats a good question and here is the benefit from your perspective:
You spend LITTLE to NO money on software technology and you
spend all your money on your application.
Think about it for a bit. Thats wonderful -- no one actually says, "I want to use Microsoft SQL Server." What they say is "I need a database application". Then they say, "Perhaps we should use Microsoft SQL Server". Open Source technology gives you a way to build applications where most if not all of your spending goes towards your applications, not towards a vendor. Thats powerful. Even discounting the other benefits such as stability, scalability and more, this alone should make you think about using Open Source.Wheres the Catch?
If this is so wonderful then why hasnt the whole world gone open source? There are many reasons but six of them, to me, stand out:
- A Perception of Poor Support
- A Perception of Buggy Software
- A Perception of Hackers and Poor Engineering Practices
- Poor Documentation
- Strange Names
- A Perception of Poor Support
Each of these is discussed below.
Fear. Open Source is often seen as a scary thing; a part of the hacker subculture. While once upon a time this was true, banks, hospitals and many other mission critical applications are now using Open Source software. IBM has even spent over one billion dollars on Linux. Additionally, it isnt IBMs code, Oracles code or even Microsofts code that runs the bulk of the Internet - its Open Source code like Linux, Apache and SendMail. For all the Internets flaws, it is a stunning achievement in overall reliability.A Perception of Poor Support. Support in the Open Source world just isnt the same as support for a conventional software product. Rather than calling an 800 number (although this is available), support usually means posting to a mailing list or a discussion group. Someone who knows the product but might be in another state or country then answers your question. They generally dont even have a financial relationship with you although often they do so to fuel a consulting practice (i.e. doing support is marketing for them). Although support in Open Source is different, that doesnt mean its bad. Its actually better - there isnt time spent on hold, you dont have to wait for vendors to get back to you and so on. For any major Open Source software package there are hundreds if not thousands of people who support it for free and this includes the original authors of the software. This is more support people than even IBM or Microsoft devote to a single package. Most importantly of all, you can get fixes at your own pace, not that of the vendor. If you decide to stay with an obsolete version of a software package but need a fix, you can get it without having to upgrade.
A Perception of Buggy Software. Like support, bugs in the Open Source world are very different. Were used to bugs in off the shelf software either being hidden by vendors ("that doesnt happen for us") or fixed at their leisure ("version 6.1.3 due out next Fall will address that"). In the Open Source world this just doesnt happen. There are no issues of release schedules or corporate profits to interfere with product improvement. Additionally Open Source is a very personal thing and the authors take pride in it. There are well-documented cases of difficult bugs being fixed within a matter of hours (Alan Cox, Linux Kernel). Once again, this doesnt happen in the classical software world. How often has Microsoft or Oracle fixed your bugs?
A Perception of Hackers and Poor Engineering Practices. Given that the Open Source movement really arose from the Hacker community, there is a perception that Open Source suffers from poor engineering practices, the "Oh theyre just hackers attitude" that Microsoft espouses. Ive spent 15 years in software engineering in both big and small shops and the Open Source community is, if anything, more professional in their engineering practices than is traditional software development. And the reason is very, very simple: They have to be professional because theyre all over the world. Think about it. Here are the things that you see on virtually every single Open Source project: constant communication, bug tracking, version control, backup and release processes. These are all good engineering practices and you dont find these on the majority of corporate software. The unique distributed nature of the Open Source world has forced good engineering practices upon them.
Poor Documentation. Its pretty generally acknowledged that Open Source projects suffer in the area of documentation. While there are wonderful third party books about Open Source software (i.e. OReilly and Associates), the documentation with most Open Source software isnt as good as the software. If you start to use Open Source software then plan on buying some books.
Strange Names. This is a minor point but it illustrates the difference between commercial software where product names are chosen carefully and always with an eye towards marketability. Take a name like "Adobe Illustrator". The Open Source equivalent is called "The GIMP". It can be hard to get people to take you seriously when you tell your manager that you want to program with "Zope" instead of "Active Server Pages". Although it isnt talked about, I suspect the pet names given to Open Source software by the author dont take into account issues of "mass market appeal".
Open Source Software
Listed below are key Open Source software packages: