Professional Documents
Culture Documents
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
Seminar Coordinator
H.O.D.
ACKNOWLEDGEMENTS
, 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
10
11
14
15
16
17
18
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.
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.
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.
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.
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.
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.
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.
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.
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
14
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
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.
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.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.
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.
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.
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
26