Open Source Software - Ferdowsi University of Mashhad

Download Report

Transcript Open Source Software - Ferdowsi University of Mashhad

Open Source
Software
Presented by:
Dr. Mohsen Kahani
http://www.um.ac.ir/~kahani/
Contents

Introduction
 What is OSS?
 Why OSS?
 OSS Economy and Governance
 Famous OSS Projects
 OSS repository sites
 Conclusion
Introduction

Everybody likes free software
 Internet has eased distribution of free
Software
 Licensing model for software products:
– Commercial
– Shareware
– Open source
What is OSS?

Open source doesn't just mean access to the
source code
 OSS is software distributed under a license which
meets some criteria in general:
–
–
–
–
free to redistribute
source code must be freely available
modifications and derivative works allowed
no restrictions on who uses the code
 Most widely used licenses:
– GNU General Public License (GPL)
– BSD, MIT X license, etc.
OSS License
(www.opensource.org)
1. Free Redistribution
2. Source Code
3. Derived Works
4. Integrity of The Author's Source Code
5. No Discrimination Against Persons or Groups
6. No Discrimination Against Fields of Endeavor
7. Distribution of License
8. License Must Not Be Specific to a Product
9. The License Must Not Restrict Other Software
Historical Highlights

1979
 1984
 1984
 1984
 1989
 1991
 1998
 98-99
BSD license
AT&T commercializes Unix
Richard Stallman organizes GNU
MIT X
GPL
Linus Torvalds releases Linux
Netscape announces open source
IBM, HP, Oracle, Corel Supports
Why OSS?

Quantitative Vs. Qualitative Discussion
 Quantitative Measures:
– Market share
– Reliability
– Performance
– Scalability
– Security
– Total Cost of Ownership (TCO)
Market Share
Market Share for Top Web Servers, Aug 95 – Nov. 2001
Linux is #2 Web Server OS After Windows (49% vs. 29%)
Reliability

Of the 50 sites with the highest uptimes
–
–


92% use Apache
50% run on OSS operating systems
IIS-based sites have more than double
offline time (on average) than Apache
Linux is more reliable than Windows
NT/2000
Performance

Linux/Apache 16%-50% faster than NT/IIS
 eWeek Survey:
MySQL equal performance as Oracle,
outperforms others
Scalability


Linux support a wider range of
platforms than any other OS
OSS development processes can scale to
develop large software systems
–
Red Hat Linux 7.1, has over 30 million
SLOC, representing 8,000 person-years or
$1 billion
Security


Difficult to measure security with numbers
Attrition.org's survey:
–


Defaced systems: 59% Windows / 21% Linux
“hacker insurance” costs 5-15% more for
Windows vs. Linux
IIS was attacked 1,400 times more
frequently than Apache in 2001
Total Cost of Ownership




OSS costs less to initially acquire
OSS often use older hardware more
efficiently
The supporting cost is nearly the same
2001 InfoWorld survey:
–
–
32% over $250,000 per year
60% over $50,000 per year
Qualitative Discussion





Iterative and incremental development
Potential to revolutionize the entire
software industry
No risk of single source solutions
Greater flexibility
Platform independency
Problems (perceived or real)

Lack of support
 Lower quality software / programmers
 Not ready for enterprise level operations
 Not user friendly
 Missing applications
Software Economy

Commercial
– Proprietary control of code allows it to generate income, which can
be used to compensate programmers.
– Greater control in allocation of specific resources
– Costs associated with the need for secrecy in development of code
and for copy protection efforts

Open Source
– Reduced revenues when code is given away
– Reduced costs associated with
 “Alumni effect”: Freely available code gets incorporated in teaching
activities, which leads new generations to adopt the same software,
reducing downstream training costs. (Unix)
 Customization and bug-fixing: Direct external benefit associated with
parallel development and innovation
 Transparency of process and functionality
 Full initiative
 Minimal lock-in
OSS Governance Issues

Large open source projects need leadership and rules to avoid
splintering
 Leadership activities
– Provide a vision of the end result(s) of the project
 Assemble a critical mass of initial code to demonstrate value of the
project and promise for the future
– Organize production modules
 Components must be doable and contribute to the overall project
– Attract programmers to the project
 Ensure that component modules provide sufficient challenge
– Hold project together
 Be able to make hard-nosed decisions about which components end up
being part of the “official” version of the software

Governance
– Single strong leader (Torvalds with Linux)
– Governance committee
OSS Commercial Strategies
– Provision of complementary products and services

Documentation

Installation and configuration wizards

Support
– Provision of expertise in support of open source
projects
– Intermediation between corporate clients and open
source community

Certification

Conduit to venture capital community

Example: Collab.Net
OSS Development Strategy
Release
Early &
Often
Who Makes OSS?

Public Sector
– Everybody should use software generated from
people’s money (eg. GreenStone Digital Library)

Big Companies
– Generate income from support (eg. Redhat)
– Control Market, sell other products (eg. IBM)

Individual freelance programmer
– Altruism
– Becoming famous
Linux




Started by Linus Torvalds in 1991 as a
UNIX clone
Several distributions are available: Red
Hat, Debia, Suse, Mandrake …
Red Hat 9 is very reliable, easy to install
and use
Special purpose distributions also
available
Started by patching NCSA HTTPD
 The most widely used web server
 Available for most platforms
 Can be expanded through modules
 Is supported by Apache company

The most popular Open Source SQL-based
relational database
 Fast, multi-threaded
 MySQL vs MySQL Max
 Platform Independent
 Newest version (V4.0) provides most
features of expensive commercial DBMSs


HyperText Pre-Processor
 HTML-embedded scripting language
 Object-Oriented / Syntactically similar to C
 Well suited for Web applications
 Two many utilities/add-ons available
 Makes development process fast and easy
Other Applications

Perl
 Python
 PostgreSQL
 LaTeX
 Star Office
 SMTP-BIND-…
OSS future

High quality office suites available
 More mission-critical applications available
 Clustering / high availability
 Increase in the number of service providers
 Steady increase in the use of Linux
OSS Repository Sites

www.sourceforge.net
www.freshmeat.org
Some Remarks

Stick to mature, highly visible OSS products
 Too many alternatives; difficult to choose
 Plan for support / education
 More difficult to manage
Conclusion

OSS has become a major player in
computer industry
 OSS seems a better solution in many cases
 Many big organization are using OSS
 OSS options should be carefully considered
for any project.
 The future looks bright
Thanks for your Attention