Sie sind auf Seite 1von 15

O P E N S O U R C E S O F T WA R E DEVELOPEMNT

Presented By Team-14

Personal and Group Skills - CO7210

To Beautiful moments spent in Leicester University....

ii

Acknowledgment

We are thankful to Leicester University for providing us such a great opportunity to work with peoples from different countries. We are grateful to our moderator Prof. Reiko Heckel because of his guidance and supervision we are able to write this document.

iii

Team 14

Faheem Rauf fr50 Vipulkuma Dafada vd54 Cao Tianjia (Dale) tc153 Zhao Guangze (Jack) gzz1 Wang Yanan (Nancy) yw130 iv

Contents
1. OSS Development ........................................................................................................................... 6 1.1. OSS Development Environment ............................................................................................... 6 1.2. OSS Development Life Cycle ..................................................................................................... 6 1.3. OSS Vs Proprietary Software Development............................................................................... 7 2. OSS Business Model ........................................................................................................................ 8 2.1. Business Strategies................................................................................................................... 8 2.2. OSS Vs Proprietary Software Business ...................................................................................... 8 2.2.1 Open Source Add On Product ........................................................................................... 8 2.2.2 Extended Open Source Product ........................................................................................ 8 3. OSS Licensing Model ....................................................................................................................... 9 3.1 Popular OSS Licenses ................................................................................................................ 9 3.1.1 GPL................................................................................................................................... 9 3.1.2 BSCD ................................................................................................................................ 9 3.1.3 Apache License 2.0 ........................................................................................................... 9 3.2 OSS Vs Proprietary Licensing Model ......................................................................................... 9 4. Why People use OSS?.................................................................................................................... 10 4.1 OSS Advantages over Proprietary Software ............................................................................ 10 4.1.1 Stability .......................................................................................................................... 10 4.1.2 Fixable............................................................................................................................ 10 4.1.3 Cost ................................................................................................................................ 10 4.1.4 Support .......................................................................................................................... 10 5. Case Study..................................................................................................................................... 11 5.1 Eclipse.................................................................................................................................... 11 5.2 Business Model ...................................................................................................................... 11 5.3 Development Life Cycle .......................................................................................................... 11 5.4 Licensing Model ..................................................................................................................... 12 5.4.1 License Choice for Business Model ................................................................................. 12 5.5 Why Eclipse? .......................................................................................................................... 12 6. Conclusion..................................................................................................................................... 13 References ............................................................................................................................................ 14

pen Source Software during the last few years has become popular especially for open development platform and it is supported by big software companies, research institutions and universities. This document analyzes software development under OSS philosophy and explains how it is different from proprietary software in terms of development life cycle, business model, licensing model and which characteristics increasing its popularity? To relate above thoughts with OSS development environment, we have provided Eclipse case study. It also discusses, whether the use of EPL for developing commercial is right choice or not.

1. OSS DEVELOPMENT
Open source software development is the process by which software whose source code is publicly available is developed. OSS products available with its source code under an open source license allow users to study, change and redistribute. Eric S. Raymond (2001) explained proprietary and OSS, these two approach as the Cathedral and the Bazaar. In bazaar style open development model software developed over the internet by community of volunteer developers/users and owner of the project where proprietary software development is like cathedral incorporating strong planning, hierarchies, and centralized development and responsibilities. [1]

system integration such tools are JUnit, PHPUnit, PyUnit, NUnit, Tinderbox. A bug reporting tools such as Bugzilla are used by developers and users to track and report bugs. CVS or SVN helps to manage the files and codes when several people are working on the project at the same time in distributed environment. Code documentation is automatically generated by Javadoc, Doxygen. Communication among developers and users relies on internet base communication channel like- mailing lists, forums, IRC, instant messaging, wiki because they are not all necessarily working in the same proximity. A project usually maintains a website for software distribution and project presentation.

1.2. OSS DEVELOPMENT LIFE C YCLE


Like any traditional software development life cycle OSS development consists of four broad phasesplanning, analysis, design, and implementation but configuration of these phases is different. [3] Planning, Analysis, Design OSS development combine these three phases and performed typically by a single developer or small core group. Initial prototype or idea created by them is published on project website. Requirements are generally understood and not involve developers and users interaction. Interested volunteers/developers of different skills and domain expertise start contributing in the project. Design of OSS project is highly modularized so that developers work on particular subsystem without need of whole system. Implementation Implementation phase consists of several sub phases (Feller and Fitzgerald 2002) as follow. Code - In this phase potential developer start working to improve complete module or new requirement and submit written code to community for review. Review - Developers submit their work for peer review. Pre-commit test - If its reviewed successfully then developer test it before committing own work on the development release. Development release - Once work is committed it moved to development release and developers 6

1.1. OSS DEVELOPMENT ENVIRONMENT


OSS development uses free tools to develop free software and collaborative development environment which enable distributed work environment through internet. Popular repository such as SourceForge (www.sourceforge.net) is provides hosting service for open source projects. Following tools are used in OSS development. [2] Design and Development tools: Eclipse, Netbeans, Emacs, Vim, jEdit, tIDE, ArgoUML. Compiling: GCC or Suns javac integrated with Apache Ant, GNU make, SCons. Debugging: GDB or Valgrind. OSS projects undergo frequent integration, it needs tools that help automate testing during

will get reward for implementation of their code in the product. Parallel debugging - As the large number of potential debuggers on different platforms and system configurations ensures bugs are found and fixed quickly. Production release - Individual work become part of the large product and finally merges in to production release. Researchers have identified some popular open source projects such as Apache and FreeBSD are following same development life cycle.

Volunteer developers are committed to work on open issues and deliver innovative product which helps users not to rely on single vendor also users allow to integrate its application with other OSS application or propriety application these features of OSS development creates interest among software companies, research intuitions and universities.

1.3. OSS VS PROPRIETARY SOFTWARE DEVELOPMENT


Table below provides comparison of the several features of both approaches and illustrates where they are similar and different. [4] [5]

FIGURE 1: COMPARING OSS WITH PROPRIETARY SOFTWARE

2. OSS BUSINESS MODEL


Although most open source software is available as the free product, there are still a number of commercial entities associated with them. Following paragraphs will discuss the business models working with the adoption of OSS.

license is offered for sale, and an open source license is distributed for free.

2.2. OSS VS PROPRIETARY SOFTWARE BUSINESS


The main traditional business model of commercial software is that company will employ a group of highly qualified people to develop new software, starting with the high cost then try to sell a product directly to the customers. Clients pay for product and relative services. The company will own all source codes. Comparing with OSS business model, the strategy of proprietary software can generate more stable and scalable revenue streams from its product by selling licenses or banding with hardware. However, the strategies of open source are good. The following two new models can be seen as competitive advantages over proprietary software.

2.1. BUSINESS STRATEGIES


Initially, OSS business models were simple. Businesses were founded by enthusiasts help other enthusiasts to get started. For example, individuals that are interested in Linux may purchase CDs distribution of Linux in order to avoid the low internet bandwidth affecting their download times [6]. It wasnt long before the founders realized most of the users have less technical knowledge, They should provide more services such as installation, management, training and consulting. As IT organization migrated OSS into its production system. Risk such as bug or download time became issues. The organization needs personnel that have the ability to offer technical support. So in the second stage, the theme of the early business model has moved from enthusiasm to paid services [6]. MySQL is an open source database and can be used freely. However, if users need its support services, they have to sign an agreement to pay for receiving services. Today, there is a relatively new development of the OSS business model and can be seen in the following three different variations. To begin with, Open Source Add-On Product [6]: one part of a product distributed is at no charge, and then generated profits by selling additional products that integrate with the free product. Secondly, Extend Open Source Product [6]: The key point of this model is to extend an existing OSS product, improving it in some aspects, they then sell the open source-based products to get profits. Furthermore, Hybrid Commercial/Open Source Product [6]: it is also named licenses model. A few companies create the dual-licensed product, depending on the type of licenses, the product carries different functionalities. A traditional proprietary

2.2.1 OPEN SOURCE ADD ON PRODUCT


The advantage of the add-on product model is a large user base. For example, a company can develop a user base of 1 million customers for their open source product, and then get 2 percent of them to purchase an add- it will sell 20,000 licenses, which is plenty to build a business on.[6] While a commercial software company tries to sell these licenses without an installed base, it could take years and spend much money in advertisement. So this model helps Open Source Company to skip the years-long slog of building a user base and sell their products easily.

2.2.2 EXTENDED OPEN SOURCE PRODUCT


A case in point is that extending Linux. Several vendors modified a number of aspects of Linux Kernel to make is suitable for different requirements of realtime embedded uses and offer the resulting product for sale. [6] Because it is convenient for developers to get source codes, they can innovate or modify codes based on contributions of predecessors. This mechanism enables developers has the lower cost of innovation than the windows software with similar functions. And it also will improve the compatibility between the different versions of Linux. While based on the principles of the source code protection, it is so difficult for some windows 8

system vendors to modify codes or develop new products. In all the above discussion of business models based on the OSS are well-established and continuing to flourish, Companies are still creating new business models that take advantage of features of OSS: source availability, lower cost of ownership, greater security & quality and an enthusiastic community.[7]

secondly distribute his/her own product based on the code using BSD license, there are three prerequisite. [10] Its source code must with the BSD license of the original code. It needs to contain the BSD license of the original code in the new product documentation and copyright statement. Someone cannot use the name of open source author/organization and the original product to do the marketing.

3. OSS LICENSING MODEL


An OSS license is a license for computer software that makes the source code available for everybody to use. This allows users to review and modify the source code for their own customization and needs. [8]

3.1.3 APACHE LICENSE 2.0


Here are some details about Apache license 2.0: Right without boundaries. For example, you are in UK, but the software authorization was firstly awarded in China, you can also use this software. Someone who using the authorized software is not charged when using this software. Right unchangeable. [11] The biggest feature of Apache license is that it defines the patent right. When using open source with Apache license, someone can make his/her own code proprietary. For this point, the license is widely used in business area.

3.1 POPULAR OSS LICENSES


In 1998, Bruce Perens and Eric S. Raymond established the Open Source Initiative Association (OSIA) in California, America, which advocated the Open Source Initiative (OSI).From then on, many kinds of Open Source Software Licensing have been authenticated by the OSIA. Here are some famous licenses.

3.2 OSS VS PROPRIETARY LICENSING MODEL


The fact is that every proprietary software license is unique. Every software company creates its own one. But they have one common character: the intellectual property of the software is reserved and held by the creator of that. Even someone buy a piece of software, what he/she actually paid for is a license to use this product of intellectual property. [12] While instead of seeking to limit the redistribution rights that a user has regarding the software product, an open source software license encourages redistribution and making the source code available. However, some people may argue that whether any of these licenses really work in our world dominated by proprietary source software like Microsoft. What if someone take the output efforts, affix his/her own name on it and begin to making money from selling it, which would diminish the growth of the open source software development? The answer is 9

3.1.1 GPL
The GNU General Public License (GPL) is the most prestigious license in open source projects. Copy without restrictions Distribute without restrictions Someone can get charge by distributing software with GPL. But he/she must provide a GPL with the sold software, which letting the buyer know the source of the software Modify without restrictions

GPL is widely used in open source community. One observably characteristic is transitivity, which is the so-called copy left. [9]

3.1.2 BSCD
When someone distributes the code using BSD (Berkeley Software Distribute license) license or

straightforward: Using an open source license that can clearly address what redistribution rights and responsibilities that users have so that preventing hijacking.

comprehensive, modular formats; regularly and easily updated. Whereas its cost and hindrance in further development are some constraints

4. WHY PEOPLE USE OSS?


Nowadays, open source software has become an important role in peoples daily life such as online teaching, learning both in academic and business area and so on. This part will analyze the reason why OSS is getting popular. [13] The example of the figure above is the Apache web server, normally found running on UNIX or Linuxbased systems. Apparently, people prefer to use open source software. In this area, the open source Apache

4.1.1 STABILITY Firstly, it is very important that the source code and the right to modify are available. The market greatly values robustness, and the Open Source model, Particularly as practiced by Linux, encourages a large market of early adopters (compared to the size of the early market for commercial products) who actively help debug the software. [14] In a real world, nothing is static; software need to meet new requirements.OSS improves a software product and enables the unlimited tuning. It also makes it possible to port the code to new hardware, to adapt it to changing conditions, and to know the principle of system working. For this reason, many experts conclude that to really extend the lifetime of an application, it must be available in source form. 4.1.2 FIXABLE Moreover, source code be analyzed, edited by hundreds of experienced programmers. "We can easily see that open source software has a distinct advantage over proprietary systems, since it is possible to easily and quickly identify potential security problems and correct them.[15]Bugs which create a potential disincentive for programmers to place back doors, Trojan and other kinds of malicious code in their programs can be easily discovered and fixed. In this way, open source software can be more trustworthy than proprietary software. 4.1.3 COST
Apparently, people who use open source software dont need to pay the licensing fees. Also, the charge for regular upgrades can be saved. Moreover, they dont need expensive system administrators.

FIGURE 2: OSS POPULARITY

product has a clear, and long-established, lead over its nearest competitor, Microsoft's Internet Information Services (IIS) with market shares of 67% and 21% respectively. In this case, the differences in cost (Apache is free, whereas IIS requires at least one Windows Server license) and frequent questions regarding the security of Microsoft's product appear to make Apache the preferred choice of web server for most users.

4.1 OSS ADVANTAGES OVER PROPRIETARY SOFTWARE


Proprietary software have advantages like reliable, professional support and training well packaged,

4.1.4 SUPPORT
In addition, using open source code, people can redistribute modifications and improvements to the code and reuse other open source code. It permits all the advantages due to the modifiability of the software to be shared by large communities. This is 10

usually the point that differences between open source software licenses and ``nearly free'' ones. The Open Source community attracts very bright, very motivated developers, who although frequently unpaid, are often much disciplined.[14] In fact, redistribution rights are universal, attracting a substantial crowd of developers to work around open source software projects. Above advantages shows that users have right to maintain, improve OSS themselves and save money as well. Furthermore, they can be supported by people who have the same interests technically. That is the big reason why OSS is widely used all over the world.

save their development cost though using Eclipse Rich Clint (RCP) platform. Independent software venders (ISVs) provide value added features to Eclipse user community and earn money. Other companies which follow the distribution model, other provides certification and offer support on different components. [17] Eclipse foundation employee fulltime professional staff to provide development, infrastructure and management services. Foundation is funded by the annual fee. Associate type membership cost $5,000USD per annum and members can access information like mailing list and attend meeting that can be beneficial for their company. [18]

5.3 DEVELOPMENT LIFE C YCLE

5. CASE STUDY
Eclipse is has earned his name in OSS development industry. Following case study elaborates how Eclipse is benefited through OSS advantages and how it has gained popularity.

Project (main operational entity) is developed in collaborative developed environment. It goes through different phases, in the beginning, an individual or

5.1 ECLIPSE
In November 1998, IBM started a project to develop IDE to produce common development platform for IBM products. Initially business partner were hesitant to invest money in unproven platform and IBM knew they need a larger community of third parties for the project success. So they decided to adopt OSS licensing and operation model to increase exposure, as a result, Eclipse community came into being and to support that community they established Eclipse foundation. [16]

5.2 BUSINESS MODEL


There are several business models that are working with the involvement of Eclipse. Platform venders like Nokia, IBM, and Macromedia etc. require a stable and productive development environment for their developer. Eclipse satisfies their needs through providing technology base for their tools, ecosystem of plug-in and large community of developers. Some Technology Consumer companies like Agitar, SAO
FIGURE 3: DEVELOPMENT LIFE CYCEL

certain group of people come up with their interest in particular project. Project Management Community (PMC) and other communities collaborate to enhance, refine and clarify the requirement. Then it 11

moves to incubation state, where continuous reviews and release help to establish fully-working open source project. Project becomes a mature member of the Eclipse community after the graduation review which is done by the Eclipse Foundation. A project that passes through above phases and maintain consistent leadership in technical area can be promoted to next level called Top-Level. Project that come to conclusion or become inactive due to some dwindling resources at any state, moved to archived phase. [19]

5.5 WHY ECLIPSE?


Eclipse is not the only integrated development environment (IDE) in the market, Microsoft also offering Visual Studio as IDE. Some characteristic make Eclipse unique like mature, free, extendable development platform which follows business friendly licensing model. Eclipse popularity among business communities can be seen through the survey that was conducted by

5.4 LICENSING MODEL


Eclipse Public Licensing (EPL) is originally derived from CPL. Initially some member of Eclipse Foundation had concerns regarding the way CPL handle copyright so, EPL came out to address such issues. [20] Programs under EPL are allowed to modify and distribute, and they also have option to distribute their work under any different licensing model. A prominent example of commercial software is IBM rational product line which is built on the top of eclipse. [21]

5.4.1 LICENSE CHOICE FOR BUSINESS MODEL


Before starting business with OSS we should know licensing tradeoff, because business model largely follows licensing choice. Right choice toward the license model can be beneficial for business. [20] There are many other popular OSS licensing model are available but the strongest value of EPL is that every single business model that we can build with open source, can be implemented with EPL where as other licensing model gives very narrow selection of business model. This is the fundamental benefit of EPL. This business friendly nature of EPL makes the right choice for open software development. [22]

FIGURE 4: ECLIPSE POPULARITY [23]

Eclipse Foundation and International Data Corporation (IDC) in 2007. That represent 81% of the respondents are from organization that shows Eclipse community as business oriented. [23] Eclipse has evolved to be a satisfied product that can be seen through another survey conducted by Eclipse Foundation in April 2010. That shows, around 88.4% of the respondent mark Eclipse a stable product. [24]

12

6. CONCLUSION
Open source software offer advantages such as low cost, collaborative development and also provides the mechanism to avoid the single vendor dependency through it licensing model. Therefore many big companies and institutes are adopting open source software solutions. But releasing some or part of a commercial software as open source software can reduce its market value. So, it is recommended to carefully evaluate the licensing model before starting business with OSS.

FIGURE 5: ECLIPSE SATISFACTION LEVEL [22]

13

REFERENCES
1. Eric S. Raymond, (2001).The Cathedral & the Bazaar, California: O'Reilly. Page 19-21. http://books.google.com/books?id=F6qgFtLwpJgC&printsec=frontcover&source=gbs_ge_summary_r&cad=0#v =onepage&q&f=false [accessed 15 April 2011] Jason Robbins. Open Source Software Engineering Tools, http://mitpress.mit.edu/books/chapters/0262562278chap13.pdf [accessed 20 April 2011] Joseph Feller & Brian Fitzgerald (2002) Understanding Open Source Software Development, London Pearson Page (102-104) http://books.google.com/books?id=s5EwJk0tUJAC&printsec=frontcover&dq=UNDERSTANDING+OPEN+SOURC E+SOFTWARE+DEVELOPMENT&hl=en&ei=jdrLTay_PIy3hAeL2eioAg&sa=X&oi=book_result&ct=result&resnum= 1&ved=0CFsQ6AEwAA#v=onepage&q&f=false [accessed 15 April 2011] Joseph Feller, Open Source Development Paradigm http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.7564 [accessed 15 April 2011] Wikipedia (2011), Comparison of open source and closed source", http://en.wikipedia.org/wiki/Wikipedia:Harvard_referencing [accessed 2 Apr 2007] Bernard Golden (2005), Succeeding with Open Source, U.S Corporation. Benefits of Open Source (2010), http://www.cynapse.com/resources/benefits-open-source [accessed 2 May 2011] Wikipedia (2011), Open-source license, http://en.wikipedia.org/wiki/Open-source_license[accessed 20 Apr 2011] GNU Operating System (2007), GUN GENERAL PUBLIC LICESENCE, http://www.gnu.org/licenses/gpl.html [accessed 30 Apr 2011] Open Source Initiative (1998), Open Source Initiative OSI The BSD License: Licensing, http://opensource.org/licenses/bsd-license.php [accessed 4 May 2011] The Apache Software Foundation (2004), Apache License, Version 2.0, http://www.apache.org/licenses/LICENSE-2.0 [accessed 4 May 2011] Steve H. Lee (1999), Open Source Software License, http://cyber.law.harvard.edu/openlaw/gpl.pdf [accessed 14 Apr 2011] Peeling & Satchell, Analysis of the Impact of Open Source Software, page 4-11. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.115.8510&rep=rep1&type=pdf [accessed 25 April 2011] Working group on Libre software (April 2000), Free Software / Open Source: Information Society Opportunities for Europe? http://eu.conecta.it [accessed 25 April 2011]. July 2004 Web Server Survey. http://news.netcraft.com/archives/2004/07/01/july_2004_web_server_survey.html [accessed April 25, 2011]. IBM (Nov. 2005), A brief History of Eclipse, http://www.ibm.com/developerworks/rational/library/nov05/cernosek/index.html [accessed 23 April 2011]. The Eclipse Foundation (2011), About the Eclipse Foundation, http://www.eclipse.org/org/ [accessed 20 April 2011]. Lan Skerrett, (Director Marketing at Eclipse Foundation 2005), Open Source Business Models http://ianskerrett.wordpress.com/2005/11/16/open-source-business-models/, [accessed 19 April 2011]. The Eclipse Foundation (2011), Overview of Membership Benefits by Membership Class, http://www.eclipse.org/membership/become_a_member/benefitsByMembership.php [accessed 19 April 2011]. 14

2. 3.

4. 5. 6. 7. 8. 9. 10. 11. 12. 13.

14. 15. 16.

17. 18.

19. The Eclipse Foundation (2011), Eclipse development process, http://www.eclipse.org/projects/dev_process/development_process_2010.php [accessed 18 April 2011]. 20. Wikipedia (2004), Eclipse Public License, http://en.wikipedia.org/wiki/Eclipse_Public_License [accessed 20 April 2011]. 21. The Eclipse Foundation (2011), Eclipse Public License (EPL) Frequently Asked Questions, http://www.eclipse.org/legal/eplfaq.php#CPLEPL, [accessed 20 April 2011] 22. FOSSLC (13 August 2009), Which open source licensing is best? http://www.fosslc.org/drupal/node/523 Debate Panel: Eclipse Foundation, Enactive Director Mike Milinkovich Alfresco, VP of Business Development Matt Asay Coverity, Open Source Strategies David Maxwell 23. IDC - 2007, Eclipse Community Survey Result October 2007, http://cdn.idc.com/downloads/EclipseCommunitSurveyResults[NotesPages].pdf [accessed 11 April 2011]. 24. The Eclipse Foundation (2011), The Open Source Development Report: 2010 Eclipse Community Survey June 2010 http://www.eclipse.org/org/community_survey/Eclipse_Survey_2010_Report.pdf [accessed 25 April 2011].

15

Das könnte Ihnen auch gefallen