View
5
Download
0
Category
Tags:
Preview:
DESCRIPTION
Citation preview
Chris Fremgen
CSCI 322 Presentation
Professor Sen Zhang
Open Source Presentation Outline Definition
History
Open Source Licenses
Leading Open Source Software
Open Source vs. Other types
Pros and Cons of Open Source
“Open-source software is software for which the source code is freely and publicly available, though the specific licensing agreements vary as to what one is allowed to do with that code.”
– Definition of open source by the State of Kansas
The “Open” Standard To comply with the Open Standards Requirement,
an "open standard" must satisfy the following criteria. If an "open standard" does not meet these criteria, it will be discriminating against open source developers. No Intentional Secrets: The standard MUST NOT withhold any
detail necessary for interoperable implementation. As flaws are inevitable, the standard MUST define a process for fixing flaws identified during implementation and interoperability testing and to incorporate said changes into a revised version or superseding version of the standard to be released under terms that do not violate the OSR.
Availability: The standard MUST be freely and publicly available (e.g., from a stable web site) under royalty-free terms at reasonable and non-discriminatory cost.
Patents: All patents essential to implementation of the standard MUST: be licensed under royalty-free terms for unrestricted use, or be covered by a promise of non-assertion when practiced by open
source software
No Agreements: There MUST NOT be any requirement for execution of a license agreement, NDA, grant, click-through, or any other form of paperwork to deploy conforming implementations of the standard.
No OSR-Incompatible Dependencies: Implementation of the standard MUST NOT require any other technology that fails to meet the criteria of this Requirement.
*Material from http://opensource.org/osr
The “Open” Standard continued
Definition of Open Source
1. Free Redistribution The license shall not restrict any party from selling or giving away the software as a
component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
2. Source Code The program must include source code, and must allow distribution in source code
as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-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. Intermediate forms such as the output of a preprocessor or translator are not allowed.
3. Derived Works The license must allow modifications and derived works, and must allow them
to be distributed under the same terms as the license of the original software.
4. Integrity of The Author's Source Code The license may restrict source-code from being distributed 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. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.
Definition of Open Source Continued
Definition of Open Source Continued
5. No Discrimination Against Persons or Groups The license must not discriminate against any person or group of
persons.
6. No Discrimination Against Fields of Endeavor The license must not restrict anyone from making use of the program in
a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
7. Distribution of License The rights attached to the program must apply to all to whom the
program is redistributed without the need for execution of an additional license by those parties.
Definition of Open Source Continued
8. 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. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution.
9. License Must Not Restrict Other Software • The license must not place restrictions on other software that is
distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.
10. License Must Be Technology-Neutral • No provision of the license may be predicated on any individual
technology or style of interface.
○ – Open Source Initiative, http://opensource.org/docs/osd
History Why was open source created?
The Free Software Movement was started in 1983 but was later called Open Source Software because its more appealing to the corporate world.
Software developers release OSS to allow users to see how their software works and build upon the software.
The ultimate goals of OSS is to let the finished product be more understandable, modifiable, and accessible while it is still valuable
Open Source Licenses GNU General Public License (v3.0)
The most popular license used in OSS Allows the author of the work to safely release their software without having to worry
about the responsibilities of selling software. (Maintenance, troubleshooting, etc..) The GPL requires that software distributed under its license must have widely
available source code. The software also must be free and cannot be linked with code from a different license.
GPL has something called copyleft (play on copyright). Copyleft is the opposite of copyright, where copyright allows the author to prohibit others from modifying their work and redistributing. Copyleft allows modifying and distribution as long as any subsequent modifications follow the copyleft rule.
Lesser GPL Like the GPL but allows the code to be used in commercial software that can be
distributed for a profit
Mozilla Public License (v1.1) Allows use and distribution of Mozilla Firefox source
Sun Public License
Using a GNU License In order to comply with GNU standards,
an author must include some things with the source code A Copyright statement, with the year the
program was finishedA permissions statement saying the
program is released under the GNU or Lesser GPL
A copy of the GPL License itself
Example GPL Copyright statement
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Open Source Creation Timeline
Developer(s) get an idea for a program that they feel is something worthy enough to be a community effort
The original developer(s) writes some code laying the basic framework for the project. This code is made available to the world using places like codeproject.com and sourceforge.com where communities work on projects together.
Most communities do not communicate by sharing modified source, but posting ideas for new features or ways to improve old features.
Eventually the software becomes popular and attracts a user base or it fades away and is forgotten
Leading OSS Open Office
Implementation of Microsoft’s Office
Google’s Android Mobile Phone operating system
Mozilla Firefox Popular internet browser
Apache Server Most popular HTTP web server used
Png Image file format
Interesting History of Linux
In 1991 Linus Torvalds, a student in Finland adapted a derivative of Unix to his liking.
He called it Linux and released version 0.2 under the GNU General Public License
In 1994, version 1.0 was released with the help of developers across the world. During these three years, people sent Torvalds ideas and code for their new features.
In 1994 Red Hat Software was created and took on the role of charging for Linux. They took “free” software and were able to charge for it by adding technical support to the package. Tech support greatly appeals to the business sector.
Open Source vs. Other Types
• Closed Source• The source is private and owned by someone.
Usually you’d have to pay for the source code if its even for sale.
• Freeware• Free software. It has nothing to do with the source
code being available or not.
• Source Available• The source is available to look at, but not modify or
distribute. Allows users to understand how the software is working.
Open Source Pros○ Companies use open source to get a greater market share
by having the ability to establish an industry standard and therefore get a competitive edge over competition.
○ Companies also use it to boost their image or ‘likeability’ among developers. This can help maintain developer loyalty
○ Less marketing and overall cost goes into making OSS
○ Businesses who sell software focus more on the customer satisfaction and not so much on the security aspect because the customer doesn’t see the security holes.
○ Open Source allows for many people to find and fix security or efficiency problems
Open Source Cons○ There aren’t really any rules or steps to follow
when developing. The lack of stages in developing can lower productivity in the long run.
○ Larger projects can become overwhelming to an unorganized group of programmers trying to develop OSS. (Note this is not a majority of major OSS projects)
○ Open Source allows for people to find and execute holes or exploits in the code.
Why OSS isn’t more popular
Many businesses won’t adopt open-source business models because of the risk. The software itself wouldn’t make money, because the license is free.
That’s not to say implementing an OSS model couldn’t make money… Businesses could charge for support and warranties to make money.
This would change the focus from making money off of the software itself (selling software for money) to charging for support (selling services for money).
How could OSS become more popular?
If an OSS business model became very successful, more companies would follow suit and have OSS models.
Basically - it doesn’t exist because not many have tried, and where some have tried, none have succeeded to the point to influence the rest of industry to shift.
Example companies who have made it by offering ‘services’
for OSS Mozilla
○ Google pays 80% of each add click revenue to have embedded search in the browser
MySQL – SunMicro○ Start by building a large user base. Then companies who
need larger scale RDBMS’s can buy direct support from mySQL. So the free software users essentially spread the word of mySQL and companies will buy the services.
StarOffice – SunMicro○ Free word processing suite but they charge for extras like
Clipart, new fonts, or templates.
Other $60,000,000,000 (billion) per year-
estimated loss from proprietary software to open source software
1997- Eric Raymond wrote an essay called “The Cathedral and the Bazaar” where he suggests proprietary software is analogous to building a Cathedral, where small bands of people work in isolation. Open source software is like a Bazaar where there are many people working together.
Sources Wikipedia
http://en.wikipedia.org/wiki/Open-source_software
OSI- Open Source Initiative http://www.opensource.org/
How Stuff Works http://www.howstuffworks.com/question435.htm
GNU http://www.gnu.org
Book (Google books)V., Mikko. The Rise of Open Source Licensing : A
Challenge to the Use of Intellectual Property in the Software Industry. New York: BPR, 2005
Recommended