
Feature Article
By Chris Montgomery
From PC Alamode, March 2003, Alamo PC Organization
|
|
Open Source Software
An Introduction
|
People today are considering Open Source software alternatives to proprietary software more than ever. As trade periodicals, online discussions, and e-mail newsletters talk up the open source initiatives, people are paying attention. Factors such as cost, security, and control issues are pushing users to find other solutions. The need to overcome some of these factors are causing people to experiment and test the waters of Open Source software products. I believe this is a positive trend and provides a win-win situation for consumers and product vendors.
What is Open Source?
Open Source software is software where the code is open and accessible to developers or anyone that wants to view or modify it. Open Source software is typically characterized by a rapid evolutionary process. Open source licensing usually requires that any modified Open Source software code must also be freely available to anyone else if the developer(s) further distribute the code. Developers can use the code, make improvements to it, correct bugs, and share the improvements with others. In this way, the Open Source software can continue to evolve in an open environment that inspires collaboration and at a speed much quicker than what is normally found in proprietary, or closed, development environments.
Formal Definitions of Open Source
"The basic idea behind open source is very simple: When programmers can read, redistribute, and modify the source code for a piece of software, the software evolves. People improve it, people adapt it, people fix bugs. And this can happen at a speed that, if one is used to the slow pace of conventional software development, seems astonishing.
"Open Source is collaboratively developed software created by corporations, academic institutions and individuals. Originally created to run the Internet infrastructure, it now powers computing systems in financial institutions, Fortune 100 corporations, government agencies and many small businesses."
Licensing
The primary distinction between Open Source software and proprietary software is based on how the license is written. License terms for proprietary software are designed to protect the copyright. These licenses provide as much legal protection as possible to the copyright holder while granting few rights to users. Who holds the copyright is important in proprietary software licenses and terms of the licensing are very restrictive. In Open Source software, the opposite situation usually occurs. Rather than protecting the copyright holder, the terms of the license say that the copyright exists to protect the license. Most of the protection favors the user of the software and only a few rights are reserved – primarily the right of the copyright holder to enforce the license. A copyright holder can’t change the license terms for software a user already has.
Despite the fact that there are over 100 types of Open Source licenses, most all Open Source software uses one of these four types of "classic" Open Source licenses: the GNU General Public License (GPL), the GNU Lesser (or Library) General Public License (LGPL), the MIT license, and the BSD-new license. The GPL license will let anyone use the program and modify it, but prevents the source code from becoming proprietary once it is distributed. It also forbids proprietary programs from linking to it. The MIT and BSD-new licenses will allow developers to do just about anything with the source code but they are prohibited from suing the authors. The LGPL is a compromise between the GPL and MIT/BSD-new approaches. This type of license is mainly intended for code libraries. Similar to the GPL, LGPL-licensed software cannot be changed and made proprietary, but the LGPL license does allow proprietary programs to link to the code library. Of the four classical types of Open Source software licenses, GPL is the most popular.
Some Open Source Software Examples
How about some examples of Open Source software? Most of you have probably heard of Linux. That’s an Open Source software operating system. You may have also heard about the Apache Web server, another Open Source software product that runs more than 50% of Web sites. Both are free and continue to evolve through the active participation of developer communities. The Internet is heavily influenced by Open Source software being used commercially. Sendmail is the most widely used e-mail transport software on the Internet. BIND is software that provides domain name service (DNS) for the entire Internet’s infrastructure.
Here are a few more popular Open Source software applications: Mozilla, a Web browser which forms the code base for Netscape; OpenOffice.org, an integrated office suite (you’ll hear more about this in the near future); Perl and PHP, popular application scripting languages that serve up dynamically-generated Web sites; MySQL and PostgreSQL, two powerful database applications.
SourceForge.net has the largest repository of Open Source software projects anywhere. There are currently more than 56,000 Open Source projects listed at SourceForge.net and the numbers grow daily. One interesting Open Source project to keep an eye on is being worked on by the Open Source Applications Foundation. Code named Chandler, it is a Personal Information Manager (PIM) and is intended to be an Open Source replacement for Microsoft Outlook for managing e-mail, appointments, contacts, and tasks. Chandler will be free and will run on the Windows, Linux, and Macintosh platforms.
The Good and Not So Good
There are many reasons cited for using Open Source software. Some studies have indicated that Open Source software is more reliable or more secure than its proprietary equivalent. Since everyone has access to the source code, a peer review process encourages auditing of the code to uncover any potential security flaws. Other studies suggest that Open Source software run faster in some instances than proprietary software. So, do people use Open Source software because it is better than proprietary software? Some fervent Open Source software advocates would say yes. But Open Source software isn’t better than proprietary software just because it’s free or costs less or is worked on by many developers collaborating openly. Open Source software has bugs, just like proprietary software.
Even so, many people involved with Open Source software contend that its rapid evolutionary nature and open peer review process produces better software through rapid innovation. There are more eyeballs that can view the code and more hands to make changes. These changes tend to be released as updates much more quickly, sometimes within 24 hours of bugs being reported. In the traditional closed-source development process, only a few programmers have access to the code and everyone else is blocked from having access to it. Improvements to closed source, such as bug fixes, are frequently long in coming taking weeks or months. Some vendors of proprietary software products initially refuse to even acknowledge the reported bugs.
Many governments, educational institutions, and non-profit organizations are switching to Open Source software due to cost savings. With limited budgets, Open Source software, which is often free, is very attractive and these organizations are now finding suitable replacements over proprietary products. Individuals are starting to use Open Source software for the same reason. Many of us live on tight budgets and can’t afford to run out and buy the latest software updates from Microsoft, Adobe, or Intuit. A case in point is the recent licensing fees and operating system restrictions for Microsoft’s soon-to-be-released version of its Office suite. These fees and restrictions are driving people and businesses to look to Open Source for alternatives. In many cases, Open Source provides software that is just as good, or better, than proprietary products.
There is also a control issue. Sometimes, no matter how good a software product is, it doesn’t do everything just the way you want it to do. With talented developers on staff, a business could modify the software to do what they need if they had access to the source code. With Open Source software, they can do that without worrying about restrictive licenses or copyrights. In addition, the open collaboration process of many people working together engenders a sense of community. People involved with a community are often receptive to sharing with others. This frequently leads to faster and better technical support, directly from developers and other users, in an open environment on e-mail discussion lists and message boards. Unlike a closed-source development environment, in the Open Source development process, people who are capable of contributing to projects, such as students, can now get involved.
Although some people are finding alternatives in Open Source software, others are hesitant to go there. People are often reluctant to make a change, even if better options exist. Some feel that software must not be very good, not worth anything, if they don’t have to pay for it. Creatures of habit, we often resist change and feel more comfortable staying with what we know, even if the cost is higher. Even though free, there are costs involved with making a conversion to Open Source software from proprietary software. These costs are usually expressed in time to learn new ways to do things, converting existing files to new formats, and paying consultants to train them how to install and use the new software.
Who is Involved With Open Source?
Just about any programmer with the right skills can become involved with Open Source software projects. Traditionally, these people became involved because they had some free time to contribute, had a burning desire to help others, or just like to program. More recently, however, developers working on Open Source projects are starting to be paid for their efforts. Almost every major Open Source project is now being supported or funded in part by major corporations like IBM, Sun Microsystems, Dell, Oracle, HP, Intel and others. These companies aren’t just doing this for philanthropic reasons, either. Despite the fact that Open Source software can often be freely downloaded or purchased for the cost of a CD, companies are making money on Open Source software. The nature of Open Source software licenses does not prevent companies or individuals from charging for a product. There is a growing industry around providing support that is related to Open Source software. Red Hat, a Linux distributor, recently became profitable for the first time from its support services and IBM just announced it made more than a billion dollars in revenue last year on support and consulting services related to Linux. Apple has also started to encourage its developers to openly collaborate with others.
Governments are also getting in on the Open Source act. Many are starting to embrace Open Source software for security and reliability reasons or as a way to avoid being held hostage to closed source code by vendors like Microsoft. More than twenty national governments like Peru, Germany, Denmark, and South Africa have announced a move to Open Source software. In the U.S., parts of the federal government and some states and local governments are using Open Source software. Schools and non-profit organizations are jumping on the Open Source bandwagon when they realize that viable Open Source options exist at much lower cost.
How Is This Affecting Retail Software?
The trend of people, businesses and governments switching to Open Source software should continue to grow in the future. Will this trend drive software companies out of business? That remains to be seen. I suspect that those which make products of marginal quality may suffer and, in time, may disappear entirely. But the strong companies will survive by producing better quality products where costs can be justified. Microsoft publicly stated recently that the growth of interest in Linux and success of the Open Source software movement may force the company to lower prices, resulting in lower revenues and profit margins. The Open Source software movement should be good for MS’s customers as it is forced to innovate and compete with more reliable and secure products at more reasonable prices.
[SPCUG Ed. Note: The Open Source movement now demands sufficient respect that Microsoft also was forced to relax one if its technology licensing terms that said in effect, ‘You develop for Open Source, you ain’t gettin’ squat from us.’]
Summary
Open Source software is gaining in popularity as more organizations and users realize that it provides viable alternatives to proprietary software products. Ushered in by cost savings, better support, greater reliability and more security, Open Source solutions are making inroads at work places, schools, and in homes. Commercial software vendors are being forced to look at how they now price, deliver, and support their products. The cost of acquiring software is becoming more reasonable and the total cost of ownership is often far less. Development and support of core software technologies is taking place openly and with more people involved than ever before. This is a positive trend where users and software vendors can win together.
Chris Montgomery is the owner of Airtight Web Services and a computer user since 1985. He’s experimented with Linux in the past and advocates using Open Source software when possible. monty@airtightweb.com
|
|