Dr. Mohamed F. Tolba January 2009
Open Source: The Future of Software
Agenda
Definition of Open Source History of Open Source Engineering Open Source
Open Source Quality, Security & Flexibility
Spectrum of Open Source Products Open Source Licenses Future of Open Source
Open Source Software
Open Source Software (OSS) is software for which the programming code is available to the users so that they may:
Copy it Study it Use it Modify it , and
Redistribute it
Open Source Definition
1. Free Redistribution
2. Source Code
The license shall not restrict any party from selling or giving away the software. The license shall not require a royalty or other fee for such sale. The program must include source code, and must allow distribution in source code as well as compiled form. The license must allow modifications and derived works, and must allow them to be redistributed. The license must not discriminate against any person or group of persons.
3. Derived Works
4. No Discrimination Against Persons or Groups
Open Source Definition Cont’d
5. License Must Not Be Specific to a Product
The rights attached to the program must not depend on the program's being part of a particular software distribution.
6. License Must Not Restrict Other Software
The license must not place restrictions on other software that is distributed along with the licensed software.
7. License Must Be Technology-Neutral
No provision of the license may be predicated on any individual technology or style of interface.
Commercial Business Model
commercial Company
Software Development Engineering/ Product Management
Softwar e
Customers Partners OEMs
Money Whole Product
Go to Market Sales, Marketing, Support, Services, Engineering, Product Mgmt
Resourc es
Open Source Business Model
Professional Open Source Company Software Development Engineering/ Product Management/ Ecosystem Development
Software
Resources
Roadmap Design Software “The Project”
Contributions
Community
Contributions
Use Cases
Peer Review
Testing Documentation Translations
Customers Partners OEMs
Money
Whole Product
Go to Market Sales, Marketing, Support, Services, Engineering, Product Mgmt
Forum Help Bug Fixes Scalability Configuration
What is New in Open Source?
New Set of Software Products and Suppliers New Design/Development Methodology New Impact on Pricing New Set of Licenses New Trend of Customer Prospects New Career Path for Programmers New Business Model
Open Source History
1983
1989 1990 1991 1993 1998 1999 2007
Before 1983
o o Software communities like-minded with today’s Open Source communities existed. Examples include the IBM SHARE group. Examples of Software developed in this period and still used today: SPICE, TeX and the X Window System Richard Stallman launched the GNU Project to write a complete operating system free from constraints on use of its source code He coined the term "free software" and founded the Free Software Foundation to promote the concept
1983
o o
Open Source History Cont’d
1983 1989
1990 1991 1993 1998 1999 2007
1989
o o the first version of the GNU General Public License was published Some GNU project components like the GNU compiler, GNU Emacs and debugger were big successes Apache HTTP Server became the most used web server software - a title that still holds as of 2008 Linux was released as freely modifiable source code The combination of Linux kernel and the GNU project led to the first free operating system
1990
o
1991
o o
Open Source History Cont’d
1998
o Netscape Communications Corporation released Netscape Communicator Internet suite as free software. This code is today better known as Mozilla Firefox Sun Microsystems released the StarOffice (office suite) as free software under the GNU Lesser General Public License. The free software version was renamed OpenOffice.org Sun Microsystems released the Java Development Kit OpenJDK under the GNU General Public License
o
2004
o
Numbers of Open Source Projects 2008
The two biggest open source listing sites:
www.sourceforge.net which has 157,565 projects listed www.freshmeat.net which has 45,428 projects listed
Open Source Products List
Applications o XWiki - Wiki Application Business Process o Intalio - BPM tools o Pentaho - BI platform Compatibility Tools o CodeWeavers - Tools to run Windows apps on Linux Content Management o Alfresco - Enterprise content management solutions o eZSystems CRM o SugarCRM - Customer Relationship Management solutions
Open Source Products List (Cont’d)
Database o GreenPlum - Database servers for business intelligence o Ingres - RDBMS based on Ingres o MySQL - MySQL RDBMS o Sleepycat Software - RDBMS based ob Berkeley DB (now part of Oracle) Developer Support o ActiveState - Open source language tools (Perl, PHP, etc) o CollabNet - On-demand collaboration tools for distributed development o GlassBox - Diagnostic tools for Java programmers Document Management o KnowledgeTree - Document management system
Open Source Products List (Cont’d)
Linux Distributions o Linspire - Desktop o Mandriva - Desktop & Enterprise o Red Hat - Desktop & Enterprise o Xandros - Desktop Network Software o OpenClovis - Platform software for carrier grade telco systems o Vyatta - Network Infrastructure software for routers & switches Report Writer o JasperSoft - Report Generator Security o SourceFire - Network security products based on Snort
% use of Open Source Projects in companies using Open Source
(Forrester Research, 2006)
Engineering Open Source Code
Closed source software development normally follows a linear, spiral or iterative model of development, i.e. software development goes through all planning, design, implementation phases recursively or linearly as in the waterfall model. Open source software development follows an evolutionary model for development where the software never reaches a final state and keeps on evolving according to customer needs.
The Cost of Open Source
Open source gives you maximum control at minimum cost
Using open source software can cut your
development time and budget by 50 %
Adoption of Open Source 2005 resulted in $60 billion per year savings to consumers (Standish group 2006)
Why Open Source?
Failure Rates
Some popular commercial systems in the 1995 have an average failure rate of 23%, while Linux has a failure rate of 9% and the GNU utilities have a failure rate of only 6%. It is reasonable to ask why a globally scattered group of programmers, with no formal testing support or software engineering standards can produce code that is more reliable than commercially produced code.
(Fuzz Tests, 2001)
Motivations
The top motivations given for participating in OSS/FS development were as follows: intellectually stimulating (44.9%) improves skill (41.3%) work functionality (33.8%) code should be open (33.1%) non-work functionality (29.7%) obligation from use (28.5%)
(Boston Consulting Group, 2003)
OSS Developer Groups
Open source developers could be divided into four groups: Learning and Fun (29%): for non-work needs and intellectual stimulation. Hobbyists (27%): need the code for a nonwork reason. Professionals (25%): for work needs and professional status. Believers (19%): believe source code should be open.
(Boston Consulting Group, 2003)
Features of Open Source
Open Source is Flexible
o o The source code is available, so it can be altered to suit your needs. A program can change in ways the author never intended or dreamed of!
Open Source is Cost Effective
o o Support can become competitive; and therefore cheap! cost sharing: many developers share the development costs of the same product
Features of Open Source
o o
(Cont’d)
Open Source Developers are motivated
More Security and less bugs
o o
programmers write better code They usually write code they need and want to write rather than code they are assigned
Peer review allows bugs to be discovered and fixed early Viruses, “spyware,” etc. are almost non-existent! While the loss of a major corporate contributor, it will never mean the death of a piece of Open Source software.
The code will survive!
o
Who Uses Open Source?
“Governments”
Brazil : An open source pioneer in Government
o o o o o
Germany
The Presidency website The Government website The government intranet The National Department of Transportation Infrastructure DNIT SEAE : The Brazilian System for Competition Defense is composed by the Secretariat for Economic Monitoring (SEAE) of the Ministry of Finance. Public Digital Portal : This project aims at bringing the Internet services to 3000 public schools located in poor areas The Munich migration is the largest public sector complete migration in Europe. Approximate size is 16,000 users, 14,000 desktops, 300 pieces of software including 170 business applications.
Others: Venezuela, Ecuador, France - French parliament, French National Assembly, Paris, Arles; Italy – Rome
Who is Involved with Open Source?
“Organizations and Affiliations”
The Free Software Foundation GNU helps to spread awareness of the ethical and political issues surrounding freedom in the use of software. The Linux Foundation promotes, protects and standardizes Linux by providing unified resources and services needed for open source to successfully compete with closed platforms. The Eclipse Foundation formed to advance the creation, evolution, promotion, and support of the Eclipse Platform and to cultivate both an open source community and an ecosystem of complementary products, capabilities, and services. OASIS International consortium that drives the development, convergence, and adoption of e-business standards. ODF Alliance The ODF alliance works globally to educate policymakers, IT administrators, and the public on the benefits and opportunities of the Open Document Format Open Invention Network Open Invention Network is an intellectual property company that was formed to promote Linux by using patents to create a collaborative environment
OSS Licenses
“BSD” Berkeley Software Distribution (Most Permissive)
More than 50 OSS Certified Licenses
“GPL” General Public License (Most Restrictive)
BSD License (Most Permissive)
You may use the code and do anything with it:
o Ship it in commercial products. o Make changes, sell the changed product.
never give back the changed source code
Mostly used by researchers, academics and companies
the IP stack in Microsoft Windows and Mac OS X are derived from BSD-licensed software.
GPL Licenses (Most Restrictive)
Very popular, most restrictive.
Restriction:
o if you distribute a changed version, you must share your changes
As of August 2007
o GPL accounted for nearly 65% of the free software projects listed on the web.
Used in Linux, Word press
What do all licenses have in common?
Free redistribution, no royalties Source code must be available, and redistributable
Source code can be modified
No discrimination against persons or groups No discrimination against any field (e.g., it cannot say “For educational use only”)
Open Source Conferences
OSBC: Open Source Business Conference (March 2008) The Utah Open Source Conference (August 2008) The Fourth International Conference on Open Source Systems – OSS (September 2008) Europe Open Source Think Tank (September 2008) Open Source Developers' Conference (November 2008)
Open World Forum (November 2008)
Open Source Future
Open Source will be a strategic tool for open and collaborative businesses.
40% of jobs in the information technology sector will be linked to Open Source applications before 2014. Through 2011, 50% of Global 2000 IT organizations will implement a formal open-source adoption and management policy.
Open Source Future
By 2012, at least 50% of direct IT commercial revenue attributed to open-source products and services. Through 2013, most of mainstream IT projects using (OSS) will not achieve cost savings over closed-source alternatives. 90% of market-leading, cloud-computing providers will depend on OSS to deliver products and services before 2013.
References
Roy T. Fielding. Shared leadership in the apache project. Communications of the ACM, 42(4):42–43, April 1999. Brian Fitzgerald. The transformation of open source software. MIS Quarterly, 30(3), 2006 Chris Rasch, "A Brief History of Free/Open Source Software Movement", (online) available at URL: http://www.aptenix.com/history/text.html Richard Stallman, "Why Software Should Be Free", April 1992(online) available as URL: http://www.gnu.org/philosophy/shouldbefree.html Margit Osterloh, "Open Source Software Development: Just Another Case of Collective Invention?", Research Policy, Elsevier. vol.36, pp.147-171, January 2007. YANG Lin-cun, "Legal Issues and Countermeasures On Open Source Software and its licenses", Intellectual Property Publishing House, Beijing, pp. 31-67, August2004. Chorng-Guang Wu, James H.Gerlach, Clifford E. Young. "An Empirical Analysis of Open Source Software Developers' Motivations and Continuance Intentions", Information & Management, Elsevier. vol.44,pp.253262,January2007. Feinberg Donald, “The Growing Maturity of Open-Source Database Management Systems”, Gartner, November 2008 Brodkin Jon, “Open source impossible to avoid, Gartner says”, (online) available as URL:http://www.networkworld.com/news/2007/092007-opensource-unavoidable.html