8/10/2019 My Seminar (2).doc
1/30
The Open Source
Software Model
8/10/2019 My Seminar (2).doc
2/30
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
Uniersity of !une in the
Academic year "##"$"##%&
'ate ( )th Aug "##"
!lace ( !une
!rof& !rof& *&!& !otdar !rof& 'r& C + , Rao
Internal *uide -eminar Coordinator .&/&'&
'E!ART0E1T /F C/0!UTER E1*I1EERI1*
!U1E I1-TITUTE /F C/0!UTER TEC.1/2/*3
!U1E 4 566#5%&
8/10/2019 My Seminar (2).doc
3/30
AC,1/72E'*E0E1T-
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 e8press my sincere gratitude
especially to the coordinator of seminars9 !rof& *&!& !otdar9 without whose guidance9
support and motiation this seminar would not hae been possible& I e8tend my sincere
thanks to our college library staffand all the staff !b!rsfor their aluable assistance&
I am also thankful to all my fellow colleagues for their help and important suggestions&
-andesh -awant
:;&E 4 II
8/10/2019 My Seminar (2).doc
4/30
INE!
No. Top"c Pa#e
6& Introduction 6
"& 7hat is /pen -ource= "
"&6 Common Industry +iew "
"&" The Formal Framework %
%& -ignificance of /pen -ource 0odel 5
%&6 ;enefits and risks of /-- 0odel 5
%&" The !ros and Cons of /-- 0odel >
5& .ow /-- 0odel differs from proprietary -oftware 0odels ?
5&6 /-' +s& Traditional 'eelopment process 6#
5&" The Adantages of /-- 0odel oer !roprietary -oftware 66
) ,ey roles in /pen -ource 'eelopment 0odel 65
@ The /pen -ource -oftware 2icense 6)
> .ow /pen -ource companies make money 6@
/pen -ource 'eelopment 0odel is not perfect= 6>
? A 2ook at already successful /-- !roBects 6
6# A case study of /pen -ource -oftware( The *1U2inu8 /& -& "#
6#&6 7hat is 2inu8= "#6#&" .ow is 2inu8 deeloped9 distributed9 and supported= "6
66 Conclusion ")
6" ;ibliography "@
8/10/2019 My Seminar (2).doc
5/30
Introduct"on
7eDe all heard a lot of talk about open source9 a software application
deelopment paradigm that puts deelopment into the hands of a loosely defined
community of programmers& 2inu8 in particular9 an open source operating system
deeloped by 2inus Toralds in 6??69 seems to be the poster child for the moement&
/pen source is nothing new to computing it has been the underpinning of the
Internet for years& /pen 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 7orld 7ide 7eb& 1ow its breaking out into the commercial world9 and
thats changing all the rules&/pen -ource software puts a new marketing face on a long tradition of enterprise$
class free software& Unlike closed source9 packaged applications9 when you use /pen
-ource software9 you get the source code9 which you can modify to fit your needs& 3ou
can incorporate /pen -ource code into commercial products without restriction& /pen
-ource solutions are aailable for almost any conceiable application& -ome of the
worlds largest companies9 as well as the Internet itself9 depend on /pen -ource for
enterprise applications&
The basic idea behind open source is ery simple( 7hen programmers can read9
redistribute9 and modify the source code for a piece of software9 the software eoles&
!eople improe it9 people adapt it9 people fi8 bugs& And this can happen at a speed that9 if
one is used to the slow pace of conentional software deelopment9 seems astonishing&
6
8/10/2019 My Seminar (2).doc
6/30
$. %hat "s Open Source&
$.' Common Pul"c "ew*
/pen source has burst upon the software deelopment scene as the new paradigm of
faster turnaround and more reliable software& 7ith the open source deelopment model9 a
computer programDs source code is gien away freely along with the program itself& This
allows any programmer to iew9 modify9 and redistribute the program& ;y allowing the
outside world to adapt and propagate the source code9 the deelopment lifecycle is
greatly reduced and the final product is much more stable and ersatile9 proponents
adocate& The best thing about /pen source is that it propels innoation9 as users are free
to tailor the software to suit their own needs and circulate those changes&
0ost /pen -ource software is not deeloped by one single endor9 but by a distributed
group of programmers& Typically9 open source software deelopment is guided by proBect
maintainers who address technical or end$user requirements rather than endor agendas&
1obody GownsH /pen -ource software9 which is freely aailable for download oer the
Internet&
Closed$source software is the kind that most people know best& For decades9
software companies hae shipped their products on floppy disks and C'$R/0s& !eople
can install and use those programs but cannot change them or fi8 them& The human$
readable ersion of the software( the source code9 is Bealously guarded by the software
maker& /ne may think that open$source software is less secure or less reliable than closed
source& This isnt true& For e8ample9 it is now uniersally accepted in the computer
industry that the open$source Apache 7eb serer is a much more secure alternatie to
0icrosofts closed$source Internet Information -erer& /pen source lets engineers around
the world e8amine the code for security flaws and other bugs&
Unlike most commercial software9 the core code of such software can be easily
studied by other programmers and improed upon$$the only proiso being that such
improements must also be reealed publicly and distributed freely in a process that
encourages continual innoation&
"
8/10/2019 My Seminar (2).doc
7/30
$.$ The formal framewor+*
Open source9 by definition9 means that the source code is aailable& /pen sourcesoftware :/--< is software with its source code aailable that may be used9 copied9 and
distributed with or without modifications9 and that may be offered either with or without
a fee& If the end$user makes any alterations to the software9 he can either choose to keep
those changes priate or return them to the community so that they can potentially be
added to future releases& /pen -ource Initiatie :/-I
8/10/2019 My Seminar (2).doc
8/30
. S"#n"f"cance of Open Source Software Model
The open source deelopment process differs sharply from the traditionalcommercial off$the$shelf :C/T-< model& Eric Raymond likens the corporate or
traditional C/T- model9 whereby a corporation produces and sells proprietary software9
to a cathedral and the open source model to a baaar& In the corporate model9 indiiduals
or small groups of indiiduals quietly and reerently deelop software in isolation9
without releasing a beta ersion before it is deemed ready& In contrast9 the open source
model relies on a network of GolunteerH programmers9 with differing styles and
agendas9 who deelop and debug the code in parallel& From the submitted modifications9
the delegated leader chooses whether or not to accept one of the modifications& If the
leader thinks the modification will benefit many users9 he will choose the best code from
all of the submittals and incorporate it into the /-- updates& The software is released
early and often&
.' Benef"ts and -"s+s of Open Source Software Compared to
Trad"t"onal COTS (Commerc"al Offtheshelf)
'ue to the different deelopment models9 !rogram 0anagers can achiee many
benefits oer traditional C/T- by using /--& !opular open source products hae access
to e8tensie technical e8pertise9 and this enables the software to achiee a high leel of
efficiency9 using less lines of code than its C/T- counterparts& The rapid release rate of
/-- distributes fi8es and patches quickly9 potentially an order of magnitude faster than
those of commercial software& /-- is relatiely easy to manage because it often
incorporates elements such as central administration and remote management& ;ecause
the source code is publicly aailable9 !rogram 0anagers can hae the code tailored to
meet their specific needs and tightly control system resources&
5
8/10/2019 My Seminar (2).doc
9/30
0oreoer9 !rogram 0anagers can re$use code written by others for similar tasks
or purposes& This enables !rogram 0anagers to concentrate on deeloping the features
unique to their current task9 instead of spending their effort on rethinking and re$writing
code that has already been deeloped by others&
Code re$use reduces deelopment time and proides predictable results& 7ith
access to the source code9 the lifetime of /-- systems and their upgrades can be
e8tended indefinitely& In contrast9 the lifetime of traditional C/T- systems and their
upgrades cannot be e8tended if the endor does not share its code and either goes out of
business9 raises its prices prohibitiely9 or reduces the quality of the software
prohibitiely& The open source model builds open standards and achiees a high degree of
interoperability& 7hile traditional C/T- typically depends on monopoly support with one
company proiding support and Gholding all the cardsH :i&e&9 access to the code< for a
piece of software9 the publicly aailable source code for /-- enables many endors to
learn the platform and proide support& ;ecause /-- endors compete against one
another to proide support9 the quality of support increases while the end$user cost of
receiing the support decreases&
/pen source can create support that lasts as long as there is demand9 een if one
support endor goes out of business& For goernment acquisition purposes9 /-- adds
potential as a second$source Gbargaining chipH to improe C/T- support& /-- can be a
long$term iable solution with significant benefits9 but there are issues and risks to
!rogram 0anagers& !oor code often results if the open source proBect is too small or fails
to attract the interest of enough skilled deelopers thus9 !rogram 0anagers should make
sure that the /-- community is large9 talented9 and well organied to offer a iable
alternatie to C/T-& .ighly technical9 skilled deelopers tend to focus on the technical
user at the e8pense of the non$technical user& As a result9 /-- tends to hae a relatiely
weak graphical user interface :*UI< and fewer compatible applications9 making it more
difficult to use and less practical9 in particular9 for desktop applications :although some
/-- products are greatly improing in this area
8/10/2019 My Seminar (2).doc
10/30
As new ersions of the /-- are released9 !rogram 0anagers need to make sure
that the ersions to be integrated are compatible9 ensure that all deelopers are working
with the proper ersion9 and keep track of changes made to the software&
7ithout a formal corporate structure9 /-- faces a risk of fragmentation of the
code base9 or code forking9 which transpires when multiple9 inconsistent ersions of the
proBectDs code base eole& This can occur when deelopers try to create alternatie
means for their code to play a more significant role than achieed in the base product&
-ometimes fragmentation occurs for good reasons :e&g&9 if the maintainer is doing a poor
Bob< and sometimes it occurs for bad reasons :e&g&9 a personality conflict between lead
deelopers
8/10/2019 My Seminar (2).doc
11/30
.$ The pros and cons of open source
-ome of the benefits of /pen -ource software include high quality9 fle8ibility9 stable code9 cost saings
and frequent incremental releases& 'isadantages include uncertain release schedules and dependence on
the continued interest of a large community of olunteers& There are many unnoticed adantages of this
model such as freedom to choose from different endors9 access across multi$endor
enironments9 protection inestment in e8isting computer system9 ability to useshare
information anywhere in the world and interoperabilityportability across arious
platforms&
The concept of open source software :/--< has become more than a mere blip on the
radar screens of IT professionals& .oweer9 the question of whether open source is a
iable9 cost$effectie system for deeloping software for actual business applications has
yet to be answered&
To be certified as /--9 deelopers must follow the /pen -ource 'efinition
:www&opensource&orgosd
8/10/2019 My Seminar (2).doc
12/30
er"0ed wor+s*0odifications and deried works are allowed and can be distributed
under the same terms as the license of the original software&
Inte#r"t1 of the author2s source code* -ource code can be restricted from
distribution in modified form only if the license allows the distribution of KpatchfilesK with the source code for the purpose of modifying the program at build time&
-oftware built from modified source code may be distributed but may be required to
carry a different name or ersion number from the original software&
"str"ut"on of l"cense*The rights attached to the program must apply to all users&
1o additional licenses are needed&
3"cense must not e spec"f"c to a product*The rights attached to the program must
not depend on the program being part of a particular software distribution&
3"cense must not contam"nate other software*1o restrictions should be placed on
other software distributed with the licensed software& For e8ample9 all other programs
distributed on the same medium need not be open source software&
;ecause of its wide$open management methods and unusual fee structures9 /--9 as a
business model9 seems to fly in the face of conentional deelopment wisdom& According
to the /pen -ource Initiatie9 the organiation that maintains the /pen -ource 'efinition9
companies can make money with /-- using these four business models(
Support sellers( Companies gie away the software product but sell distribution9
branding9 and after$sale serice&
3oss leader( Companies gie away open source as a loss leader to establish
market position for closed software&
%"d#et frost"n#( A hardware company goes open source to get better and cheaper
driers and interface tools&
4ccessor"es( Companies sell accessoriesJbooks9 compatible hardware9 and
complete systemsJwith open source software pre$installed&
8/10/2019 My Seminar (2).doc
13/30
8/10/2019 My Seminar (2).doc
14/30
The /pen -ource model unties the knot between the product endor and support
serices& ;ecause source code is aailable to all9 endors are able to focus on a part of the
alue chain and build competitie serices without fear of proprietary lockouts&
The /pen -ource model unties the knot between the product endor and support
serices& ;ecause source code is aailable to all9 endors are able to focus on a part of the
alue chain and build competitie serices without fear of proprietary lock$outs&
Therefore9 the best proider of shrink$wrapped 2inu8 products is the endor that best
understands packaging9 distribution9 point$of$sale promotion9 and branding& The best
proider of 2inu8 customer serices is the endor that specialies in serice9 building
deep technical e8pertise and superior serice deliery systems& The bottom line is that the
/pen -ource software deelopment model9 by creating$and protecting an open playing
field9 encourages endor specialiation and fosters honest competition9 ultimately giing
the customer more choice9 fle8ibility9 and control&
5.' Open Source e0elopment 0s. Trad"t"onal Processes
/nce the originator is ready to inite others into the proBect he makes the code
base aailable to others and deelopment proceeds& Typically9 anyone may contribute
towards the deelopment of the system9 but the originatorowner is free to decide which
contributions may or may not become part of the official release& The open source
deelopment :/-'< model is different from traditional in$house commercial
deelopment processes in seeral fundamental ways& First9 the usual goal of an open
source proBect is to create a system that is useful or interesting to those who are working
on it9 not to fill a commercial oid&
6#
8/10/2019 My Seminar (2).doc
15/30
'eelopers are often unpaid olunteers9 who contribute towards the proBect as a
hobby in return9 they receie peer recognition and whateer personal satisfaction their
efforts bring to them& -ometimes this means that much of the effort on an /-' proBect
concentrates on what part$time programmers find interesting9 rather than on what might
be more essential& It can be difficult to direct deelopment toward particular goals9 since
the proBect owner holds little power oer the contributing deelopers& This freedom also
means that it can be difficult to conince deelopers to perform essential tasks9 such as
systematic testing or code restructuring that are not as e8citing as writing new code&
5.$. The ad0anta#es of Open Source software o0er propr"etar1 software
L Sta"l"t1. /pen -ource software is often more reliable and stable than proprietary
software& This is because /pen -ource proBects hae large numbers of contributors and
follow an iteratie deelopment9 debugging9 and testing cycle& The best$known /pen
-ource proBects such as 2inu8 hae more contributors and testers than a traditional
software company could afford to deploy on a proBect&
L Cost. /pen -ource software is free& This results in immediate saings on licensing feesand upgrading costs& And the larger the proBect9 the greater the saings$for e8ample9 there
is no charge for additional client connections to an /pen -ource database&
L Secur"t1. In the proprietary software model9 deelopers compete to discoer and e8ploit
or publicie security holes& The /pen -ource peer reiew process redirects deeloper
competition toward preenting security breaches in the first place& Additionally9 there are
no hidden A!Is that can be e8ploited&
66
8/10/2019 My Seminar (2).doc
16/30
L /le7""l"t1. /pen -ource code can be modified to fit customer requirements& 'riers
can be deeloped or modified without reerse$engineering unpublished A!Is& The best$
known /pen -ource proBects such as 2inu8 hae more contributors and testers than a
traditional software company could afford to deploy on a proBect&
L Cho"ce of 0endors. In the /pen -ource model9 endors compete purely on the basis of
their ability to add alue to a shared platform9 not on the basis of proprietary secrets&
L -educed r"s+. The /pen -ource deelopment model effectiely spreads risks oer a
large pool of programming talent& And it proides a hedge against obsolescence$for
e8ample9 if a company that deelops /pen -ource software goes out of business9 the code
could thereafter be maintained in perpetuity by other deelopers& Cisco -ystems recently
decided to release print spooler software under an /pen -ource license to reduce its
dependency on in$house programming staff&
6"
8/10/2019 My Seminar (2).doc
17/30
6%
8/10/2019 My Seminar (2).doc
18/30
8. 9e1 roles "n Open Source de0elopment process
To understand the /pen -ource software deelopment process it is important to
acknowledge the roles of the arious participants who take part in creating the code&
Pro:ect Ma"nta"ner;e0eloper
L 'etermines the software license
L 7rites the first code release and puts it up on the Internet
L -ets up a 7eb site9 mailing lists9 and ersion control serices :e&g& +C-