Open SourceAdded 11th Apr 2009
The success of open-source software has been remarkable, forcing even the largest commercial software vendors to acknowledge its influence and, in some cases, adopt its methods.Open Source guide will answer these questions:
- Q.What is open source?
- Q.Why use open source?
- Q.Why not to use open source?
- Q.How should I get started with open source?
- Q.Server apps are fine, but what about open source on the desktop?
- Q.Can I sell open source-based products?
- Q.Other open-source resources
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.
The first reason many companies begin looking at open-source software is simple: price. And the return on investment of the open-source model has been clearly demonstrated. Open-source software can be downloaded, installed and operated free of charge. In its early days, this low cost made it a tempting option for developers interested in trying new tools or building new applications but without the budget to do so. This freedom led many developers to start contributing to the open-source movement, resulting in such industrial-grade software as the Linux operating system, Apache Web server, JBoss Java application server and Eclipse development environment-among thousands of other projects.
It wasn't until the late 1990s, however, that corporations began noticing open source at the executive level. With developers touting the quality and cost savings of using open source, and with IT budgets under constant pressure, many large companies began investigating open source for enterprise projects. Early large-scale adopters included The Weather Channel, Cendant Travel, and Employease and Sabre.
Especially during the heavy growth of the Internet, open source let companies quickly ramp up their online operations without the need to constantly buy new licenses for commercial software. This scalability also lent itself to development and test environments, reducing the cost to simply try new things without the added drag of commercial software pricing-and the mandatory budgetary process-getting in the way.
Perhaps not surprisingly, the fact that the source code is available for open-source products is usually not a big draw. While having the right to modify or fix code at will is certainly seen as a plus, many companies find that they'd rather not get into the habit of maintaining the code themselves, instead depending on the community of developers that exists around popular products to keep the code up to date and debugged.
The arguments against open source generally boil down to a handful.
1. The software is free as in "free puppy." You can download and install it for free, but training users on it and maintaining it can ultimately cost more than the overall cost of commercial software, or so the argument goes. This claim, trumpeted perhaps most loudly by Microsoft, does carry some intuitive weight. Whether it's true or not depends on the specific situation and which analyst report you happen to be reading at the time.
2. Support can be hard to come by. In the early days of open source, when development and support were handled primarily by groups of volunteers or "communities," this could be an issue. But while many organizations find that community support is sufficient for their needs, today there are numerous support options available, including support for major open-source projects from the likes of Hewlett-Packard and IBM, giving corporations the much-valued "one throat to choke" should something go wrong.
3. Development of new features takes longer than with commercial software. This depends largely on the type of software you're using. The Firefox Web browser, for instance, is touted as a first-rate example of the speed at which open source can adapt to user needs. Linux's past history of coming in well behind Windows to support technologies such as USB ports demonstrates the other extreme. For enterprise-class software, however, such slavish attachment to the latest and greatest video card or sound chip is likely not as critical as stability and performance.
4. The legal ramifications are uncertain. The variety of open-source licenses and the fact that open-source code is often contributed by end users of the products would seem to make it a scary proposition for use in corporations. But a careful review of open-source licenses with your corporate legal representation can alleviate many of the fears. Some open-source vendors and third parties also offer indemnification against damages, should open-source code you use become embroiled in a lawsuit.
Today, nearly every sort of business software product, from e-mail servers to ERP tools to voice over IP, are available as open source. But many companies begin using open source on the Web side of their business, where a number of industrial-strength, long-used applications exist. These tools are commonly referred to as the LAMP stack (standing for Linux, Apache, MySQL and PHP-or Perl or Python, depending on the situation.) Linux is a well-regarded, widely used Unix-like operating system. Apache is the most popular Web server in use today.
MySQL is a database product that competes favorably with expensive commercial tools. And PHP, Perl and Python are programming or scripting languages commonly used for open-source Web development. Java-based open-source websites also often use the JBoss Java application server. Once you become familiar with using open-source tools and the differences-and similarities-between them and commercial products, you'll likely find other opportunities. You may also be surprised to find that your developers have been using open source under the radar for some time.
End users frequently find use for open-source desktop tools, such as Mozilla Firefox's Web browser. Sun's OpenOffice office productivity suite has even found favor with some corporations and government organizations as a replacement for Microsoft's Office. But while some organizations have taken the plunge and moved to open-source operating systems such as Linux on their desktops, Windows continues to dominate the space. End-user-friendly versions of Linux such as LinSpire have failed to break the Microsoft hold on the PC, often because of concerns over end-user training time and costs as well as the fact that most commercial software packages-upon which many companies depend-are developed for Windows first and Linux later, if at all.
Yes, of course, but as the Open Source Initiative points out: "What you can't do is stop someone else from selling your code as well." But many companies have found ways to make money with open-source code. Some wrap services around the code, providing enterprise-level support options that corporations are more than happy to buy. Others maintain two versions of their code: one that's open source, and another, more advanced version that includes proprietary add-ons for which customers must pay. This mixed model is becoming increasingly popular, with the likes of SourceFire, SugarCRM, Alfresco and others making use of the model.
Locations on the Web to find Open-Source Software
* FreshMeat: A huge database of downloadable software, much of it open source.
* SourceForge: Gigantic open-source development site with thousands of ongoing (and more than a few dead) open-source projects.
Open-Source Resources: Legal and Otherwise
* Open Source Initiative: Nonprofit corporation dedicated to open source and founded by many of the earliest players in the field.
* Open Source Technology Group: Possibly the world's top promoter of open-source technology. Owner of Slashdot news site, SourceForge and freshmeat.
* Open Source Risk Management: Offers compliance insurance and other services.
* Open Source Development Labs: Organization dedicated to promoting Linux use in enterprises.