Open source is here to stay: Here's how to deal with it.
Compiled by Steven J. Vaughan-Nichols, Editor-in-Chief, Practical Technology and Chris Lindquist
- What is open source?
- Why use open-source software?
- Why not to use open source?
- How should I get started with open source?
- What about the desktop?
- Can I sell open source-based products?
- Open-source resources
The success of open-source software has been remarkable, forcing even the largest commercial software vendors such as IBM , Hewlett-Packard , Oracle and Microsoft to acknowledge its influence and, in some cases, adopt its methods. It seems likely that most companies with information technology departments of any size are familiar with—if not actively using—open-source products on a daily basis.
But its ubiquity can lead to more questions than answers. Here, therefore, are the answers:
Back in 1997, Bruce Perens, a prominent Linux operating system developer, wrote a document concerning the distribution and development of the Debian Linux distribution. He later removed references to Debian and created what is now known as The Open Source Definition. Among other things, the Definition states that open source software must be distributed without royalty, that the distributor must make the source code for the software freely available, and the derivative works from the code must also be released as open source.
Open source is essentially a cousin of the Free Software Movement, created in 1983 by Richard Stallman to promote the free distribution of software unfettered by standard proprietary code restrictions. Free software's rules are codified by the General Public License (GPL), which as of October 2006 was under review for its third revision.
There are literally dozens of Open Source Initiative certified licenses, each with its own peculiar rules that require close examination by any company looking to use open-source software. These rules are usually quite generous for anyone who merely wishes to use open source software. The requirements for redistribution, however, can require careful scrutiny to avoid potential license violation issues.
Open source, once you strip out all the emotion, is simply a way to develop software. Unlike other programming models, open source takes the viewpoint that developers create better programs if they can share their code.
At its simplest level, this saves programmers from having to constantly write code that 'reinvents the wheel.' Its virtues are far more than that though. Eric S. Raymond summarized in his seminal work on open source, The Cathedral and the Bazaar, why open source is such an efficient way to create programs. First, by welcoming programmers who want to work on a project, you're guaranteeing having developers who start with having a vested interest in the project's success. As Raymond puts it, "Every good work of software starts by scratching a developer's personal itch."
The natural follow-up to this is that you get users who also become invested in the project. Now, these users may never become programmers, but they can contribute ideas, bug-reports, quality assurance testing, and never least, a group with an interest in your project. If that idea sounds familiar. It should. It's the foundation of corporate communities and social networking.
These ideas have caught fire because open-source delivers the goods. Major open-source programs like the LAMP (Linux, Apache, MySQL, PHP/Perl/Python) are what power up the Internet. In addition, it's quite likely that they, and the programs and DBMSs that are built from them, are what's keeping your office servers going. At the same time companies like Red Hat and Novell, which are closely tied to open source, make hundreds of millions of dollars from open-source software, while still others, such as IBM and Oracle, make billions of dollars annually from supporting open-source programs.
Let's start with the reason anyone can understand: It's cheap. But, what's more important is that the open-source software model's return on investment is outstanding. While people can argue until they're blue in the face about exactly how much bottom-line goodness you can get from using open source, the simple facts are that it delivers the goods at an affordable price. Consider, if you will, that of Alexa's Top 20 Global Web sites, only the handful owned by Microsoft aren't built on top of open-source software.
This hasn't happened overnight, but by the late 1990s, many corporations began switching to open-source software for their Internet needs. It's scalability, both on the technical and business—no need to continuously buy new licenses—made it ideal for the Internet. Now, after about a decade of proving itself, open-source software stacks have been moving from edge servers on the Internet and department servers for branch offices to core business applications.
For example, open-source is moving into ERP (enterprise resource planning) and CRM (customer relationship management). Indeed, except for the desktop where, despite the Windows Vista flop, Windows hangs on, today's business software stack is an open-source stack. Indeed, even on Windows, open-source programs like Firefox and OpenOffice are being relied on by more and more office workers. And, needless to say, if you're in the software development business yourself, open-source software lends itself perfectly to collaborative software development.
Ah...this is 2009 right? There really aren't any good reasons not to use it. That said, the same tired, out-dated arguments you're likely to run into include the following:
Free software really isn't free. Yes, you do need to train users on it, you may very well need a support contract for it, but so what? What software doesn't require training and some support? With open-source, at least you have the option, by either hiring experienced IT staffers or training them up yourself of having software that requires annual service contracts and costly manidatory , whether you need or want them or not.
And, again this is 2009. Open-source savvy administrators, technicians, and the like are as easily available as any other IT professional.
Can I get support for it? In open-source's early days that could be an issue. Today, if you need support, your open-source 'vendor' is likely to be your big-name vendor. Dell, HP, IBM, Oracle, you get the idea. For mainstream open-source applications it's simply not an issue.
That said, if you want to rely on more cutting edge, open-source applications, then you may run into support problems. But, the same thing is true of relying on any cutting edge software.
Possible open source legal troubles. If you're not in software development, this isn't a concern. Do you worry about what might happen to your office copies of Windows when Microsoft loses another lawsuit? I doubt it. Microsoft keeps going on, and except, for an increase in a licensing fee, or Internet Explorer no longer being included by default in the next version of Windows, you'll never notice the difference. The same thing is true of open-source products.
If you're in the programming business then you do need to know your way around open-source licenses, A competent IP (intellectual property) is all you need to steer clear of any potential problems here.