- Shopping Bag ( 0 items )
In 2004/5, over half of IT professionals will be looking at open source, most for the first time. This book provides key tools for System administrators, Network Administrators, IT project managers, and consultants who must evaluate and deploy open source software.
This book details open source successes so far, explains which scenarios are the most realistic opportunities now, then gives the details needed to select these solutions, adopt the best tools and practices, introduce them to an organization, implement and manage them. The IT professional can use this book to review opportunities in their organization, evaluate components such as Apache, Linux, and OpenOffice against systems they know, and follow up in detail on their specific interests here and through referred resources.Deployment scenarios categorized by function and industry
If you are going to become an advocate for open source software, there are some definitions, frequently asked questions, and historic issues that will be raised repeatedly. We will cover them in this chapter.
1.1 Definition of Terms
Open source software is software that must be distributed with source code included or easily available, such as by free download from the Internet. The source code should be in the same form that a programmer would actually use to maintain it—not, for instance, a generated, obfuscated, or intermediate code form. The license of this software will not restrict others from distributing the code or modifications and derived works under the same terms. It will not discriminate against people or fields of endeavor. Sample licenses are included in an appendix.
The Open Source Definition is included in Appendix B. The Open Source Definition (OSD) was originally written by Bruce Perens for Debian Linux and was completed in 1997. It is an established definition of open source that is simple without being too simple, and it includes several licenses that are acceptable.
Some people call software like this, distributed under licenses such as the GPL, Apache, or Mozilla licenses, "Open Source Software." Others call it "Free Software." Yet others, particularly in Europe, call it "Free/Libre or Open Source Software" (FLOSS). Capitalization of these terms varies. There are other expressions in use also, but the most widely used term seems to be open source. In this book, we will refer to software that meets the Open Source Definition as "open source." This is a simple expression that avoids capitalization and acronyms such as "OSS," both of which are annoying to read repeatedly.
The alternatives to open source can be called proprietary software, commercial software, or, alternatively, nonopen, nonfree, or closed software. These may have slightly different meanings, since there can be different ways of failing to meet the tests of open source. Some of these terms may strike a reader as derogatory, although that is not intended, probably because in our society "freedom" and "openness" sound more attractive than their opposites. For our purposes, it will be helpful to have a term for these alternatives. We will refer to software that does not completely meet the OSD as "closed code." In this use we are following Lawrence Lessig in his book, The Future of Ideas. If a piece of software (a product) combines open and closed elements, such as Apple OS X, it will be defined as closed. So any software product, as licensed, will be defined as either open or closed.
There is a third term that we will use in two special cases. Some software is offered under different licenses. It may be offered to some groups as open source and to others as closed. Note that to meet the terms of the OSD (to be considered open source), this must be at the user's discretion. This is a hybrid licensing model.
We can also apply the term hybrid when looking at a group of products. If a group of products is purchased or installed together, some of which are open source and some closed code, we will call the result a hybrid system. An example would be IBM WebSphere, which includes Apache (open source) and some other products that are closed code.
First, we will deal with a few frequently asked questions.
1.1.1 What Is Free Software?
Many people prefer the term free software to open source software. The term free software dates from 1984, when the idea and arguments for it were first published by Richard Stallman. The idea is not that software should be free "as in beer," or available at no charge, but that it should be free "as in speech," so you can review it and change it as you need to. The position of the Free Software Foundation is simply and well stated, including criticism of the open source position, at the Free Software Web site, http://www.gnu.org/.
The term open source dates from 1997, when a group of people, including Eric Raymond, Tim O'Reilly, and Bruce Perens, decided that the term free software and some of the arguments employed in support of it were making the idea less attractive to many businesses. They decided, as a marketing decision, to emphasize technical and practical advantages of open source software rather than arguments from principle. Those positions are stated by Eric Raymond and others at the open source Web site http:// www.opensource.org.
Everyone should probably read these documents at some point. While they refer, with a few minor exceptions, to the same licenses and the same software products, some people are more motivated by the "free software" aspect and others less so. This book is intended for the pragmatic manager, who will establish the value of a particular open source product by comparing it with competitive products on a case-by-case basis using traditional measures, including price, functionality, reliability, support, and documentation. Open source code may in fact improve certain measures of quality, such as the ability to freely customize a product, to review the code to determine how some function is implemented, or to support custom extensions. Open source products also appear to have lower prices in many cases. If so, these products will do well in our evaluation on those measures.
1.1.2 What Are Good Examples of Open Source?
Flagship products of open source software include:
* The Apache Web server, with a share of 65 percent of installed worldwide Web servers and still growing
* The Linux operating system, used on millions of servers, which demonstrates that no system is too large and complex to be developed as open source
* The GNU C/C++ language suite, used to build Linux and Apache and thousands of programs on almost every operating system
These programs are huge, have been used by millions of people over many years, and have developed a reputation for reliability and customer satisfaction. There are thousands of other examples. Some are less well known than Apache and Linux and have even more users, such as the ubiquitous Internet BIND and Sendmail programs. Others are not so big or well known and may have a few thousand or a few hundred users. A good place to see a sample of open source projects is SourceForge (http://sourceforge.net).
1.1.3 Is It Necessary to Adopt Open Source Wholesale?
It is possible to assemble a complete "platform" from open source software, and many of the most popular open source programs work well together. Some small startup companies have done this. For most people, open source solutions will be adopted one product at a time. Most adopters will not be able to, or desire to, discard all closed code software at this time, and there is no reason they should need to. Many new solutions, such as IBM WebSphere, contain a mixture of open software and closed code.
It is possible to run open source products on existing Windows installations, or to migrate closed code programs you already have to run on Linux.
1.1.4 Does "Open Source" Mean Linux?
It is possible to adopt open source without using Linux at all. Many developers, for example, may use open source on Windows. On servers, for example, Apache is an open source Web server that runs on Windows and UNIX servers and IBM mainframes as well as Linux.
On workstations, OpenOffice rivals Microsoft Office in functionality and can be installed from CD or the Internet in less than five minutes for no cost on Windows desktops. The Mozilla open source browser can be chosen, for instance, to standardize on a single browser for Windows and the Mac.
We will look at some scenarios for Linux and some for other open source products.
1.1.5 Does Open Source Require Different Business Methods?
It is not necessary to adopt an open source approach to development or distribution in order to use open source software, and most organizations do not. Many companies develop closed code software products that run on open source software and sell them for a profit; this includes almost every large software company today—IBM, HP, Oracle, SAP, and Apple. Other companies develop applications that run on open source for their own business purposes—for instance, Google, Amazon, or eBay—without feeling in any way restricted by open source licensing or development models.
It is never a problem to develop an application for your own use in an organization, to sell or distribute an application written in an open source language, or to run on an open source platform. Nor is it a problem to distribute the open source software alongside yours.
If you change or extend the open source software and redistribute it, you may have responsibilities under the license. In that situation, it is necessary to look carefully at the license and choose one that works for your business model.
1.1.6 Will All Systems Be Open Source One Day?
Given current installed systems and sales trends, we can be certain that over the next few years open source and closed code software will coexist. In the long run, there is reason to expect some balance. There are advantages to open source but also limits.
First, both commercial and government organizations have legitimate reasons for secrets. Organizations such as the CIA and Merrill Lynch, both of which have deployed open source quite widely, are never going to open up all their code for public scrutiny.
Second, some classes of applications appear to be more likely to fit the open source model than others. There is very little market share for open source in commercial ERP and CRM systems or in large commercial databases. This may change, and the development of open source for these enterprise systems may be a matter of time, but it would certainly take many years for that to happen. Alternatively, we may discover rules of thumb that limit the open source model to certain areas only and find that some complex business areas never really become open source.
Third, there could be a trend back toward closed code applications. Some people argue that a new wave of innovation might demonstrate the added value that closed code companies can offer. Others say that changes in the legal climate, such as patent law, might be introduced that would tilt the balance in favor of closed code systems again.
1.1.7 Is Open Source a Fad That Will Go Away?
The information technology business has seen its share of fads. But this seems more like a trend of the kind we see in other industries as they mature. Mature products such as office suites often become commodities. Mature services often become organized to more closely reflect where the real costs lie—in this case, in service and support rather than the original code.
Already, the majority of organizations have some role for programs such as Linux, Apache, and Perl. It is likely that at some point most organizations will have some open source widely deployed. So far, we are seeing open source software improve, if anything, more rapidly than closed code software. The open source cost advantage may narrow if closed code prices come down, but it is going to continue to exist.
1.2 A Brief History of Software
In this section, we will look at the closely entwined histories of open source software, UNIX-like operating systems, Linux, the Internet, and the World Wide Web.
1.2.1 Early Years
In the 1950s, the first modern business computers were introduced, based on work done during World War II. These were practically one-of-a-kind machines, running custom programs written in binary code, later assembler language. They were extremely expensive and it was thought by some (such as a famous IBM market estimate) that only a few might ever exist.
In the 1960s, commercial mainframes were introduced by several companies. These were custom programmed for applications, usually in COBOL or FORTRAN. System software (e.g., the important programs such as CICS, IMS, programming languages, sort, and other utilities) was developed in assembler language. A major success of the System/360, introduced by IBM in 1964, was that for the first time, the same assembly language ran on all the related systems, so that system software could run on a family of computers.
Excerpted from Open Source Software: Implementation and Management by Paul Kavanagh Copyright © 2004 by Elsevier Inc.. Excerpted by permission of DIGITAL PRESS. All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.