Presentation

23
Chris Fremgen CSCI 322 Presentation Professor Sen Zhang

description

 

Transcript of Presentation

Page 1: Presentation

Chris Fremgen

CSCI 322 Presentation

Professor Sen Zhang

Page 2: Presentation

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

Page 3: Presentation

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.

Page 4: Presentation

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

Page 5: Presentation

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.

Page 6: Presentation

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

Page 7: Presentation

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.

Page 8: Presentation

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

Page 9: Presentation

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

Page 10: Presentation

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

Page 11: Presentation

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

Page 12: Presentation

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/>.

Page 13: Presentation

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

Page 14: Presentation

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

Page 15: Presentation

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.

Page 16: Presentation

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.

Page 17: Presentation

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

Page 18: Presentation

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.

Page 19: Presentation

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).

Page 20: Presentation

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.

Page 21: Presentation

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.

Page 22: Presentation

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.

Page 23: Presentation

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