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