You are on page 1of 30

The Open Source

Software Model

CERTIFICATE
This is to certify that
Mr. Sandesh Sawant
has completed the necessary seminar work and prepared the bonafide report
on
THE OPEN SOURCE SOFTWARE MODEL
in a satisfactory manner as partial fulfillment for requirement of the degree
of
B.E. (Computers) of
University of Pune in the
Academic year 2002-2003.
Date : 5th Aug 2002
Place : Pune

Prof.
Internal Guide

Prof. G.P. Potdar

Prof. Dr. C V K Rao

Seminar Coordinator

H.O.D.

DEPARTMENT OF COMPUTER ENGINEERING


PUNE INSTITUTE OF COMPUTER TECHNOLOGY
PUNE 411043.

ACKNOWLEDGEMENTS

I take this opportunity to thank respected Prof.

, my seminar guide

for his generous assistance. I am immensely grateful to our Hon. HOD Dr. C.V.K. Rao
for his encouragement and guidance. I would like to express my sincere gratitude
especially to the coordinator of seminars, Prof. G.P. Potdar, without whose guidance,
support and motivation this seminar would not have been possible. I extend my sincere
thanks to our college library staff and all the staff members for their valuable assistance.
I am also thankful to all my fellow colleagues for their help and important suggestions.

Sandesh Sawant
(B.E II)

INDEX
No.

Topic

Page

1. Introduction

2. What is Open Source?

2.1 Common Industry View

2.2 The Formal Framework

3. Significance of Open Source Model

3.1 Benefits and risks of OSS Model

3.2 The Pros and Cons of OSS Model

4. How OSS Model differs from proprietary Software Models

4.1 OSD Vs. Traditional Development process

10

4.2 The Advantages of OSS Model over Proprietary Software

11

Key roles in Open Source Development Model

14

The Open Source Software License

15

How Open Source companies make money

16

Open Source Development Model is not perfect?

17

A Look at already successful OSS Projects

18

10 A case study of Open Source Software: The GNU/Linux O. S.

20

10.1
What is Linux?
10.2
How is Linux developed, distributed, and supported?
11 Conclusion

20
21
25

12 Bibliography

26

Introduction
Weve all heard a lot of talk about open source, a software application
development paradigm that puts development into the hands of a loosely defined
community of programmers. Linux in particular, an open source operating system
developed by Linus Torvalds in 1991, seems to be the poster child for the movement.
Open source is nothing new to computing; it has been the underpinning of the
Internet for years. Open source software is an idea whose time has finally come. For
twenty years it has been building momentum in the technical cultures that built the
Internet and the World Wide Web. Now it's breaking out into the commercial world, and
that's changing all the rules.
Open Source software puts a new marketing face on a long tradition of enterpriseclass free software. Unlike closed source, packaged applications, when you use Open
Source software, you get the source code, which you can modify to fit your needs. You
can incorporate Open Source code into commercial products without restriction. Open
Source solutions are available for almost any conceivable application. Some of the
world's largest companies, as well as the Internet itself, depend on Open Source for
enterprise applications.
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.

2. What is Open Source?


2.1 Common Public View:
Open source has burst upon the software development scene as the new paradigm of
faster turnaround and more reliable software. With the open source development model, a
computer programs source code is given away freely along with the program itself. This
allows any programmer to view, modify, and redistribute the program. By allowing the
outside world to adapt and propagate the source code, the development lifecycle is
greatly reduced and the final product is much more stable and versatile, proponents
advocate. The best thing about Open source is that it propels innovation, as users are free
to tailor the software to suit their own needs and circulate those changes.
Most Open Source software is not developed by one single vendor, but by a distributed
group of programmers. Typically, open source software development is guided by project
maintainers who address technical or end-user requirements rather than vendor agendas.
Nobody owns Open Source software, which is freely available for download over the
Internet.
Closed-source software is the kind that most people know best. For decades,
software companies have shipped their products on floppy disks and CD-ROMs. People
can install and use those programs but cannot change them or fix them. The humanreadable version of the software: the source code, is jealously guarded by the software
maker. One may think that open-source software is less secure or less reliable than closed
source. This isn't true. For example, it is now universally accepted in the computer
industry that the open-source Apache Web server is a much more secure alternative to
Microsoft's closed-source Internet Information Server. Open source lets engineers around
the world examine the code for security flaws and other bugs.
Unlike most commercial software, the core code of such software can be easily
studied by other programmers and improved upon--the only proviso being that such
improvements must also be revealed publicly and distributed freely in a process that
encourages continual innovation.
2

2.2 The formal framework:


Open source, by definition, means that the source code is available. Open source
software (OSS) is software with its source code available that may be used, copied, and
distributed with or without modifications, and that may be offered either with or without
a fee. If the end-user makes any alterations to the software, he can either choose to keep
those changes private or return them to the community so that they can potentially be
added to future releases. Open Source Initiative (OSI), an unincorporated nonprofit
research and educational association with the mission to own and defend the open source
trademark and advance the cause of OSS certifies the open source license. The open
source community consists of individuals or groups of individuals who contribute to a
particular open source product or technology. The open source process refers to the
approach for developing and maintaining open source products and technologies,
including software, computers, devices, technical formats, and computer languages.
Open source software, by definition, includes any program or application in
which the programming code is open and visible. The concept of open source software
dates to the earliest days of computer programming. The term came into popular usage
following a February 1998 meeting in Palo Alto, California. A group of leading
free software advocates, reacting to Netscapes announcement that it planned to make the
source code for its browser widely available, came to the realization that open source
software had to be promoted and marketed based on pragmatic business strategies to
compete effectively against closed source vendors.

3. Significance of Open Source Software Model


The open source development process differs sharply from the traditional
commercial off-the-shelf (COTS) model. Eric Raymond likens the corporate or
traditional COTS model, whereby a corporation produces and sells proprietary software,
to a cathedral and the open source model to a bazaar. In the corporate model, individuals
or small groups of individuals quietly and reverently develop software in isolation,
without releasing a beta version before it is deemed ready. In contrast, the open source
model relies on a network of

volunteer programmers, with differing styles and

agendas, who develop and debug the code in parallel. From the submitted modifications,
the delegated leader chooses whether or not to accept one of the modifications. If the
leader thinks the modification will benefit many users, he will choose the best code from
all of the submittals and incorporate it into the OSS updates. The software is released
early and often.

3.1 Benefits and Risks of Open Source Software Compared to


Traditional COTS (Commercial Off-the-shelf)
Due to the different development models, Program Managers can achieve many
benefits over traditional COTS by using OSS. Popular open source products have access
to extensive technical expertise, and this enables the software to achieve a high level of
efficiency, using less lines of code than its COTS counterparts. The rapid release rate of
OSS distributes fixes and patches quickly, potentially an order of magnitude faster than
those of commercial software. OSS is relatively easy to manage because it often
incorporates elements such as central administration and remote management. Because
the source code is publicly available, Program Managers can have the code tailored to
meet their specific needs and tightly control system resources.
4

Moreover, Program Managers can re-use code written by others for similar tasks
or purposes. This enables Program Managers to concentrate on developing the features
unique to their current task, instead of spending their effort on rethinking and re-writing
code that has already been developed by others.
Code re-use reduces development time and provides predictable results. With
access to the source code, the lifetime of OSS systems and their upgrades can be
extended indefinitely. In contrast, the lifetime of traditional COTS systems and their
upgrades cannot be extended if the vendor does not share its code and either goes out of
business, raises its prices prohibitively, or reduces the quality of the software
prohibitively. The open source model builds open standards and achieves a high degree of
interoperability. While traditional COTS typically depends on monopoly support with one
company providing support and holding all the cards (i.e., access to the code) for a
piece of software, the publicly available source code for OSS enables many vendors to
learn the platform and provide support. Because OSS vendors compete against one
another to provide support, the quality of support increases while the end-user cost of
receiving the support decreases.
Open source can create support that lasts as long as there is demand, even if one
support vendor goes out of business. For government acquisition purposes, OSS adds
potential as a second-source bargaining chip to improve COTS support. OSS can be a
long-term viable solution with significant benefits, but there are issues and risks to
Program Managers. Poor code often results if the open source project is too small or fails
to attract the interest of enough skilled developers; thus, Program Managers should make
sure that the OSS community is large, talented, and well organized to offer a viable
alternative to COTS. Highly technical, skilled developers tend to focus on the technical
user at the expense of the non-technical user. As a result, OSS tends to have a relatively
weak graphical user interface (GUI) and fewer compatible applications, making it more
difficult to use and less practical, in particular, for desktop applications (although some
OSS products are greatly improving in this area). Version control can become an issue if
the OSS system requires integration and development.
5

As new versions of the OSS are released, Program Managers need to make sure
that the versions to be integrated are compatible, ensure that all developers are working
with the proper version, and keep track of changes made to the software.
Without a formal corporate structure, OSS faces a risk of fragmentation of the
code base, or code forking, which transpires when multiple, inconsistent versions of the
projects code base evolve. This can occur when developers try to create alternative
means for their code to play a more significant role than achieved in the base product.
Sometimes fragmentation occurs for good reasons (e.g., if the maintainer is doing a poor
job) and sometimes it occurs for bad reasons (e.g., a personality conflict between lead
developers). The Linux kernel code has not yet forked, and this can be attributed to its
accepted leadership structure, open membership and long-term contribution potential,
GNU General Public License (GPL) licensing eliminating the economic motivations for
fragmentation, and the subsequent threat of a fragmented pool of developers.
Ninety-nine percent of Linux distributed code is the same. The small amount of
fragmentation between different Linux distributions is good because it allows them to
cater to different segments. Users benefit by choosing a Linux distribution that best meets
their needs. Finally, there is a risk of companies developing competitive strategies
specifically focused against OSS.
When comparing long-term economic costs and benefits of open source usage and
maintenance to traditional COTS, the winner varies according to each specific use and set
of circumstances. Typically, open source compares favorably in many cases for server
and embedded system implementations that may require some customization, but fares no
better than COTS for typical desktop applications.

3.2 The pros and cons of open source


Some of the benefits of Open Source software include high quality, flexibility, stable code, c ost savings
and frequent incremental releases. Disadvantages include uncertain release schedules and dependence on
the continued interest of a large community of volunteers. There are many unnoticed advantages of this
model such as freedom

to choose from different vendors, access across multi-vendor

environments, protection investment in existing computer system, ability to use/share


information anywhere in the world and interoperability/portability across various
platforms.
The concept of open source software (OSS) has become more than a mere blip on the
radar screens of IT professionals. However, the question of whether open source is a
viable, cost-effective system for developing software for actual business applications has
yet to be answered.
To be certified as OSS, developers must follow the Open Source Definition
(www.opensource.org/osd). The Open Source Web site (www.opensource.org) cites
principles of the definition, including:

Free redistribution: No party can be restricted from selling or giving away the
software as a component of an aggregate software distribution containing programs
from several different sources. The license may not require a fee for such sale.

Source code: The program must include source code and must allow distribution. If
some form of a product is not distributed with source code, there must be a publicized
means of obtaining the source code for no more than a reasonable reproduction cost
preferably downloading via the Internet without charge. The source code must be
the preferred form in which a programmer would modify the program. Deliberately
obfuscated source code is not allowed.

Derived works: Modifications and derived works are allowed and can be distributed
under the same terms as the license of the original software.

Integrity of the author's source code: Source code can be restricted from
distribution in modified form only if the license allows the distribution of "patch
files" with the source code for the purpose of modifying the program at build time.
Software built from modified source code may be distributed but may be required to
carry a different name or version number from the original software.

Distribution of license: The rights attached to the program must apply to all users.
No additional licenses are needed.

License must not be specific to a product: The rights attached to the program must
not depend on the program being part of a particular software distribution.

License must not contaminate other software: No restrictions should be placed on


other software distributed with the licensed software. For example, all other programs
distributed on the same medium need not be open source software.
Because of its wide-open management methods and unusual fee structures, OSS, as a

business model, seems to fly in the face of conventional development wisdom. According
to the Open Source Initiative, the organization that maintains the Open Source Definition,
companies can make money with OSS using these four business models:

Support sellers: Companies give away the software product but sell distribution,
branding, and after-sale service.

Loss leader: Companies give away open source as a loss leader to establish
market position for closed software.

Widget frosting: A hardware company goes open source to get better and cheaper
drivers and interface tools.

Accessories: Companies sell accessoriesbooks, compatible hardware, and


complete systemswith open source software pre-installed.

The possibility that OSS can be and, some would argue, is viable in a business
enterprise raises questions about how much it costs, what support is available, and what
training is required. All of these are practical questions that IT professionals need to
consider before jumping into the open source system with both feet.

4. How is Open Source Model differs from proprietary


software models?
With traditional proprietary software, the purchaser obtains only executable codethe ones and zeros that computers understand, but that are unreadable by humans. The
company that develops the software holds the worldwide monopoly on its source code,
and becomes the only place where the code can be modified, updated, or fixed. With
Open Source software, the source code is freely available, giving developers the ability to
isolate and fix bugs and to customize the software to their needs. A common illustration
equates using proprietary software with driving a car with the hood permanently welded
shut. Under this scenario, if the engine were to break down, the owner would have to
return the car to the manufacturer for repair. Without access to the engine, neither the
owner nor the car dealer would be able to fix the problem. Open Source software is like a
car with a hood that opens. Car owners can fix problems themselves, or choose a repair
service that best fits their needs. In the proprietary software model, the best company to
provide support is the company that manufactures the software. The manufacturer is the
only company that truly understands the source code, has access to it, and can modify or
fix it when it breaks.
In the Open Source software model, there is no single manufacturer. Distributed
teams of programmers around the world develop open Source software. So there is no
exclusive source for expertise, modifications, or bug fixes. Distribution vendors such as
Caldera, Red Hat, SuSE, and Red Hat are not primarily manufacturers, but rather
packagers and distributors of free software developed by others.
9

The Open Source model unties the knot between the product vendor and support
services. Because source code is available to all, vendors are able to focus on a part of the
value chain and build competitive services without fear of proprietary lockouts.
The Open Source model unties the knot between the product vendor and support
services. Because source code is available to all, vendors are able to focus on a part of the
value chain and build competitive services without fear of proprietary lock-outs.
Therefore, the best provider of shrink-wrapped Linux products is the vendor that best
understands packaging, distribution, point-of-sale promotion, and branding. The best
provider of Linux customer services is the vendor that specializes in service, building
deep technical expertise and superior service delivery systems. The bottom line is that the
Open Source software development model, by creating-and protecting an open playing
field, encourages vendor specialization and fosters honest competition, ultimately giving
the customer more choice, flexibility, and control.

4.1 Open Source Development vs. Traditional Processes


Once the originator is ready to invite others into the project he makes the code
base available to others and development proceeds. Typically, anyone may contribute
towards the development of the system, but the originator/owner is free to decide which
contributions may or may not become part of the official release. The open source
development (OSD) model is different from traditional in-house commercial
development processes in several fundamental ways. First, the usual goal of an open
source project is to create a system that is useful or interesting to those who are working
on it, not to fill a commercial void.

10

Developers are often unpaid volunteers, who contribute towards the project as a
hobby; in return, they receive peer recognition and whatever personal satisfaction their
efforts bring to them. Sometimes this means that much of the effort on an OSD project
concentrates on what part-time programmers find interesting, rather than on what might
be more essential. It can be difficult to direct development toward particular goals, since
the project owner holds little power over the contributing developers. This freedom also
means that it can be difficult to convince developers to perform essential tasks, such as
systematic testing or code restructuring that are not as exciting as writing new code.

4.2. The advantages of Open Source software over proprietary software


Stability. Open Source software is often more reliable and stable than proprietary
software. This is because Open Source projects have large numbers of contributors and
follow an iterative development, debugging, and testing cycle. The best-known Open
Source projects such as Linux have more contributors and testers than a traditional
software company could afford to deploy on a project.
Cost. Open Source software is free. This results in immediate savings on licensing fees
and upgrading costs. And the larger the project, the greater the savings-for example, there
is no charge for additional client connections to an Open Source database.
Security. In the proprietary software model, developers compete to discover and exploit
or publicize security holes. The Open Source peer review process redirects developer
competition toward preventing security breaches in the first place. Additionally, there are
no hidden APIs that can be exploited.

11

Flexibility. Open Source code can be modified to fit customer requirements. Drivers
can be developed or modified without reverse-engineering unpublished APIs. The bestknown Open Source projects such as Linux have more contributors and testers than a
traditional software company could afford to deploy on a project.
Choice of vendors. In the Open Source model, vendors compete purely on the basis of
their ability to add value to a shared platform, not on the basis of proprietary secrets.
Reduced risk. The Open Source development model effectively spreads risks over a
large pool of programming talent. And it provides a hedge against obsolescence-for
example, if a company that develops Open Source software goes out of business, the code
could thereafter be maintained in perpetuity by other developers. Cisco Systems recently
decided to release print spooler software under an Open Source license to reduce its
dependency on in-house programming staff.

12

13

5. Key roles in Open Source development process


To understand the Open Source software development process it is important to
acknowledge the roles of the various participants who take part in creating the code.
Project Maintainer/Developer
Determines the software license
Writes the first code release and puts it up on the Internet
Sets up a Web site, mailing lists, and version control services (e.g. VCS)
Builds and leads the development team, usually from volunteers
Approves official releases
Development Team
Adds features, fixes bugs, creates patches, writes documentation
Users/Debuggers
Find bugs, point out design flaws, and request new features
After the project maintainer puts up the first release, both users and the development
team submit ideas to the project mailing lists. Patches come in from developers to the
project maintainer. The maintainer incorporates improvements and releases a new version
to the development team and users. As momentum builds, more people get involved, and
the software evolves. Developers are rewarded by the immediately visible recognition of
their contributions to the product. Linux is probably the best-known example of a
successful Open Source development project.

14

6. Open-source Software licenses


Open Source refers to software distributed under a legal license, such as the GNU
General Public License (GPL), that permits free distribution and require open availability
of the source code. All the essential portions of the Linux operating systemits heart, or
kernel, and most of the utilities that make up the operating systemare published under
the GPL. There are several licensing models for Open Source. Some require that all
changes made to the source must be freely distributed with the modified product. Other
licenses permit an organization to make changes and keep the changes private.
Open Source licenses, such as the GPL, guarantee anyone the right to read, redistribute,
modify, and use the software freely.
Under many Open Source licenses, including the GPL, modifications of existing
software must be distributed under the same license as the original software. The source
code to any changes or improvements must be made available to the public.
The GPL is one example of an Open Source license. Other examples include the BSD
license, the MIT X License, the Artistic License, and the IBM Public License.
All accomplish the same basic objectives: free distribution and openly available
source code. All Open Source licenses meet the Open Source Definition, which is
described at http://opensource.org/osd.html.
Many people have heard that all open-source licenses are the same, and that opensource software infects everything around it, destroying all the proprietary value in a
company's intellectual property. In fact, there are many different licenses. Some allow
commercialization for free. Many work quite well with proprietary licensing strategies.
The two most common licenses are the General Public License, or GPL, and the Berkeley
Software Distribution, or BSD, license. The GPL allows anyone to use, change and share
the source code. If you make changes, though, you must share them freely. The BSD
license, by contrast, allows you to keep your changes private. We can conclude that to be
OSI certified, the open source software must be distributed under a license that
guarantees the right to read, redistribute, modify, and use the software freely.
15

7. How do Open Source companies make money?


While it is true that an open source business may not make money directly from
its products, it is untrue that open source companies do not generate stable and scalable
revenue streams. In actuality, in the 21st century web technology market, it is the open
source company that has the greatest long-term strategic advantage. This is demonstrated
by companies such as LINUX, Apache, and Netscape, a host of web-specific
technologies such as Java, Perl, TCL, and a host of web-specific technology companies
such as Sendmail. The open source business model relies on shifting the commercial
value away from the actual products and generating revenue from the 'Product Halo,' or
ancillary services like systems integration, support, tutorials and documentation.)
This focus on the product halo is rooted in the firm understanding that in the real world,
the value of software lies in the value-added services of the product halo and not in the
product or any intellectual property that the product represents. In actuality, the value of
software products approaches zero in the fast-paced, highly customized, ever-changing
world of information technology. But it is not simply an acknowledgement of the revenue
streams generated by the product halo that makes open source a compelling business
strategy. Open source also cuts down on essential research and development costs while
at the same time speeding up delivery of new products.
This paradoxical situation arises from the fact that within an open source project,
the community members themselves provide free research and development by
contributing new solutions, features, and ideas back to the community as a whole. The
company that sits at the center of any successful open source project may reap the
rewards of the work of thousands of highly skilled developers without paying them a
cent.

16

A final strength of the open source business model lies in its ability to market
itself. Because open source products are typically released for free, open source
companies that can produce quality products and generate a good reputation can almost
immediately grab huge shares of any market based on the complex and far-reaching
global referral networks generated by users.
In fact, in the web technology space, almost every global standard has been based
upon open source technology. By using the open source technology model, we can create
a superior product, which immediately has a competitive advantage, and which generates
multiple scalable revenue streams while being freely available throughout the community

8. Open Source Software Model is not quite perfect?


The mantra of the open source community is that OSS increases the reliability of
software because it is peer-reviewed by many developers, all performing their own tests,
making bug corrections, and tweaking the software until it is complete. Proponents claim
this process creates mature, stable code more quickly than conventional software
development, lowers overhead, and, through operating system porting, broadens the
market for the software. The nature of open source development also increases the
interaction between the developers of software and the customers who will ultimately use
it.
As an ideal, OSS sounds wonderfula utopia for software development.
Unfortunately, its not as perfect as it seems. All of the claims made by the Open Source
Initiative are true, but only if the community of engineers and developers is actually
interested in the success of a piece of software. If the open source community is not
motivated to work on a certain software project, it will languish in obscurity.

17

This seems to be the scenario that has plagued Netscape and its Mozilla project.
Netscape had hoped its willingness to reveal design secrets would attract outside
programmers and yield new features, better code, and faster development. However, very
few programmers jumped on the bandwagon. The Mozilla project was to be the loss
leader that would open the market for Netscapes enterprise software; instead, the effort
has been a commercial flop.
The major problem with OSS is the lack of objective information on how open source
works in an enterprise and on how much it actually costs. Open source software is not a
new concept, but its application in an enterprise environment is a recent phenomenon.
Until open source software development moves out of the philosophical into the
practical, management decisions on its viability will be suspect and ill-advised.
There is no doubt that open source standards have benefits for enterprise computing
needs, but the technology is not quite ready for prime time. Infrastructure and standards
of practice are being developed and true cost analysis will be implemented. Only then
will it be possible to say with any certainty that open source is the future.

9. A look at already successful Open Source Projects

Although OSS has recently become a hot topic in the press, it has actually been in
existence since the 1960s and has shown a successful track record to-date. The open
source movement gained momentum in big business in 1998, when IBM, Corel, Oracle,
and Informix endorsed open source software. Examples of popular open source products
include Emacs, GNU toolset, Apache, Sendmail, GIMP, Samba and Linux. While Linux
and Apache are among the most well known open source-based applications, there are
many others, including BSD, Debian, and other applications based on the GNU license.
18

9.1. GNU Software:


Emacs was one of the first open source products whose success of Emacs led to the GNU
program. It is a text editor that is widely used for software development. The GNU
project consists of an operating system kernel and associated Unix tools. The GNU tools
have been ported to a wide variety of platforms, including Windows NT and are widely
used by software developers to produce both open source and proprietary software.
9.2. Apache web server:
The Apache web server is a freely available web server distributed under an open source
license. Apache web servers are known for their functionality and reliability. They form
the backbone infrastructure running the Internet. Today the Apache web server is
arguably the most widely used web server in the world garnering almost 50 percent of the
web server market. Apache was built and is maintained by a group of 20 core developers
and 10 major contributors from around the world. A large pool of developers regularly
suggests and implement minor adjustments and bug fixes to the core group.
9.3. Sendmail:
Sendmail is a platform for moving mail from one machine to another. The Sendmail
Consortium, a nonprofit organization, runs the open source program and maintains a
website to serve as a resource. Sendmail is estimated to carry nearly 90 percent of e-mail
traffic.
9.4. PERL:
While Emacs, GNU toolset, Apache, Sendmail, and Linux are examples of open source
products, the Practical Extraction and Reporting Language (Perl) is an example of an
open source process. Perl is a system administration and computer-programming
language widely used throughout the Internet. It is the standard scripting language for all
Apache web servers, and is commonly used on Unix. There are an estimated one million
Perl users today.
19

9.5. Netscape:
On January 22, 1998, Netscape announced that it would make the source code to its
flagship client software, Netscape Communicator, freely available for modification and
redistribution on the Internet. Netscape's pioneering decision to distribute software via
the Internet has become an integral strategy for every software company worldwide.

10. A case study of Open Source Software: The GNU/Linux


Operating System
10.1 What is Linux?
Linux is an open source Unix-like operating system (OS). The Linux community,
led by Linus Torvalds the creator of Linux, maintains the kernel. Torvalds has appointed
delegates who are responsible for managing certain areas of the project and, in turn, these
delegates have a team of coordinators. Linux has multiple uses; it can be used as an OS
for a server, desktop, or embedded environment. There are over ten million Linux users
worldwide. Linux is the fastest growing server operating environment, increasing from
25 percent in 1999 to 45 percent in 2001. In the embedded market, Linux is also expected
to play a significant role.
Linux typically refers to the operating system built around the Linux kernel, a
wide variety of GNU libraries and utilities, and many different Open Source projects. The
Linux kernel is a small, though central, part of the overall operating system. The overall
operating system comprises:
The Linux kernel, which handles process scheduling, memory management, SMP, etc
GNU C libraries (libc5, glibc6), the base API for the GNU system
GNU utilities, the shells, file utilities, compilers, linkers, etc.
X Windows, which handles graphical display
GNOME or KDE, which handles graphical user interface
Many other programs and utilities
20

10.2 How is Linux developed, distributed, and supported?


10.2.1 Who owns Linux?
No one person or corporation owns Linux. It is created and distributed by a
community of highly technical and committed contributors all over the world. Each of the
components of Linux is an Open Source project that is managed by a different project
maintainer. The creator of the OS himself feels that making the source code of Linux
freely available was the best decision of his life.
10.2.2 How is the Linux kernel developed and updated?
The Linux kernel is developed and updated following the Open Source
development model discussed previously. Linus Torvalds is the project maintainer, with
final authority over what goes into the kernel. Because of the complexity of the project,
he is aided by a group of appointed project maintainers who are responsible for various
components of the code.
A large number of developers worldwide contribute to improvements to Linux.
Any developer can submit a patch that includes source code changes to the kernel mailing
list. Linus and his project maintainers review the patch. They decide whether or not to
include it in the next release based on technical merit, not commercial reasons. Thus,
there is no single company directing the development path of the Linux kernel.
10.2.3 What is the difference between the development and stable release?
There are two separate code trees for Linux: the stable version and the
development version. The stable version, which gets updated every few months, only
includes code that is time-tested and proven. This is what is released to end users and
businesses. Production releases have even version numbers, e.g., 2.0, 2.2, 2.4, etc.
The development version is where developers can experiment with advanced technology
and try new ideas. When there is a lot of activity, a new development kernel release can
come out as often as three times a day.
21

The Open Source philosophy is release early and release often. This has proven to be
an efficient way to discover and eliminate problems before they become deeply rooted.
New features are worked out in the development kernel first and then are included in the
stable kernel. Development releases have odd version numbers, e.g., 2.1, 2.3.x, etc.

10.2.4 What does a Linux distribution vendor do?


A Linux distribution includes the Linux kernel plus utilities, programming tools,
window managers, and other software that make up a full operating system. Distribution
companies, such as Caldera, Red Hat, SuSE, Turbo Linux, and nonprofit organizations
such as Debian, download the latest Open Source packages from the Internet, QA them,
add utilities such as installation programs, and package them on a CD-ROM with a
manual.
22

The underlying code in each distribution is exactly the same. Slight differences
may occur in the following:
hardware installation programs
default X-windows configuration
graphical systems management tools
proprietary software packages (very few)
In the vast majority of cases, Linux applications are compatible with all
distributions of Linux, which accounts for the aphorism Linux is Linux is Linux.
Distribution vendors take the kernel as is, with all changes and fixes that are
contributed by members of the development community. Each distribution company
releases new distributions about twice a year. The Open Source development model
discourages distribution vendors from forking the Linux code base into incompatible
code streams. The GPL specifies that additions, modifications, and extensions to Linux
be distributed in source code form whenever executables are made available. If a
distribution company were to acquire development expertise and attempt to build unique
features into Linux, its innovations would be released back to the development
community. Truly valuable changes would then be included in the next release of Linux
and/or freely adopted by other distribution vendors, eliminating any competitive
advantage. Currently, independent developers contribute the vast majority of fixes,
patches, and additions to Linux. Each one of these modifications improves the stability
and functionality of Linux.

10.2.5 Who develops Linux code?


Tens of thousands of independent programmers contribute code to project
maintainers for inclusion in Linux. Improvements and bug fixes developed and submitted
by companies and individual programmers are included in Linux releases based on
technical merit alone. When a new Linux kernel is released, it is put up on the main
Linux kernel site, www.kernel.org.
23

There are a number of good Linux news web sites keeping the programmer and
user community continuously updated about the latest developments in the kernel. The
best way to keep track of the kernel development though is undoubtedly the Linux kernel
mailing list. One can find all the Linux source code in the /usr/src/ directory of a native
Linux partition. Also, a detailed documentation including discussions of major issues
such as kernel hacking has been kept in the /usr/src/linux*/Documentation directory. The
users interested in extracting details about the configuration workings of the OS at
runtime can take a look at the contents of the /proc file system which is used by the
kernel to provide information to the user programs. A user who has worked on Microsoft
Windows OS will understand the difference here.
A program to extract and print the currently running kernels information can be
as small as 5 lines of C code in Linux. To achieve the same task under MS Windows
would leave the programmer clueless as to how to hack the system to get these details.
When a Linux system crashes on a users machine he may post the crash log on a mailing
list such as one listed above, and he might find the bug-fix within hours of posting. If
such type of system crash happens on any other proprietary OS, the user may need to
wait for months or even years till the next expensive release/update comes into market.
The above two examples show us where Open Source Software scores over its rivals.
10.2.6 Who develops applications for Linux?
Software development firms such as Corel, Sun (Star Office), Oracle, IBM, HP,
SAP, and many others, as well as independent programmers; develop applications that
run on Linux.
10.2.7 Who bundles Linux with their hardware?
Companies such as Dell, IBM, and VA Linux Systems sell Linux pre-installed on
their computer systems. Companies offer support options exclusively for their Linux
distribution, most outsource support. For example, Red Hat outsources support to
Collective Technologies and The Sutherland Group and Caldera outsources support to
Multi-User Solutions.
24

Conclusion
The Linux operating system kernel is a very successful example of a large
software system in widespread use that has been developed using an open source
development (OSD) model. If a conclusion has to be compiled, then freedom, ownership
of the source, no license fees, availability of skills and resource to fix problems or to
develop enhancements are all readily available. The distribution of software to smaller
companies or acquisitions of the main business is freely available. Desires of a company
dictate, freedom, cost effectiveness, availability of resources, a reliable and flexible
solution that works well and retain any office tools and integration with popular market
products, services or communication methods are key to the consideration of a business
solution.
So why is it not a perfect model for the commercial world? Habit and poor
understanding is the cause of all issues related to acceptance of the Open Source Model.
It is also ignorance and laziness that prevents the research and investigation into such
technologies for many businesses. Ironically, it is far simpler to replace a system using
Open Source model with numerous organizations that will guide any organization
through the process, than it is to retain the large supplier that creates the locked in
Psyche. The Open Source model will be freely accepted commercially and one day there
will be no preferred alternative, the time line for globalization of such methods is
certainly within the next five years, so hold on to your hats and do not get left behind, it
is your choice and a free one.

25

Bibliography:
Raymond, Eric, The Cathedral and the Bazaar, - OReilly Associates, 1999.
Evolution in Open Source Software: A Case Study - Michael W. Godfrey (SWAG).
A Business Case Study of Open Source Software - Carolyn A. Kenwood July 2001.
How Open Source Software Development Works A paper by Linuxcare, Inc.
Open Source Security: a look at the security benefits of source code access
TrueSecure 2001.
Open Source: The Perfect Commercial Model - An OWI Whitepaper 2001.
The Origins and Future of Open Source Software - A NetAction White Paper
By Nathan Newman
Open source: An introduction to the new programming paradigm A Whitepaper by
www.techrepublic.com

http://www.gnu.org/ - The GNU General Public License.


http://www.apache.org/ - Apache Software Foundation.
http://www.sendmail.org/ - Information on Sendmail.
http://www.linux.org/ - The Linux Home Page.
http://www.li.org/ - Linux International Home Page.
http://www.perl.com/pub - Perl Home Page

26

You might also like