106 lines
4.4 KiB
Plaintext
106 lines
4.4 KiB
Plaintext
What is open source? How does it work?
|
|
Who writes code for nothing and why?
|
|
|
|
- traditional software model
|
|
- product-oriented
|
|
- company finances development of software
|
|
- same copy of software object code is sold under a very restrictive
|
|
license
|
|
- license fees refinance cost of development
|
|
- enforcement of restrictive license guarantees revenue
|
|
- advantages
|
|
- proven business model
|
|
- disadvantage
|
|
- have to develop everything on your own or buy licenses of 3rd
|
|
party software
|
|
- less flexibility for the customer
|
|
- does the customer trust the 'black box' you are selling?
|
|
- if vendor goes out of business, no bugfixes/updates
|
|
|
|
- open source model
|
|
- service based
|
|
- individual parties contribute code parts
|
|
- software is distributed for free
|
|
- software is distributed under very permissive license
|
|
- service / support / customization refinance development
|
|
- advantages
|
|
- vast amount of available FOSS can be used as foundation for
|
|
own products
|
|
- source code is available for peer review
|
|
- bug fixes for free, people just send you patches
|
|
- new features impelemented by your users!
|
|
- disadvantage
|
|
- business model has yet to be proven to work
|
|
|
|
- important open source license
|
|
- BSD style license
|
|
- permits any use of the sourcecode as long as copyright notice
|
|
remains
|
|
- GPL (GNU General Public License)
|
|
- source for resulting binary has to be provided
|
|
- ensures that derivates of free software are still free
|
|
- LGPL (GNU Lesser General Public License)
|
|
- permits linking with non-gpl code (mainly used for libraries)
|
|
|
|
- difference free software / open source
|
|
- term 'free software' (free as in freedom, not beer) introduced by
|
|
Stallman / FSF 1984.
|
|
- focus on political/ethical/philosophical freedom
|
|
- open source software (OSS) introduced by OSI in 1997
|
|
- focus on technological advantage by means of source review
|
|
- most FOSS licenses match both definitions, OSS less restrictive
|
|
|
|
- history of FOSS
|
|
- initially software always for free in source (e.g. IBM S/360)
|
|
- as hardware gets less expensive, companies start to license
|
|
software for money
|
|
- some people (Stallman, et. al.) didn't want to give up the freedom
|
|
they're used to.
|
|
- 1983: GNU project is founded, goal: Implementation of a free UNIX-like
|
|
operating system
|
|
- 1984: Free Software Foundation is established as non-for-profit legal
|
|
entity behind the GNU project
|
|
- 1991: Linus Torvalds releases the first version of the Linux Kernel
|
|
under the GNU GPL license. Together with the other parts from the
|
|
GNU project and others, a 100% free operating system is available
|
|
- 1994-2000: Free Software is increasingly recognized as reliable,
|
|
stable alternative to proprietary software
|
|
|
|
- Who is behind FOSS?
|
|
- in the beginning mostly computer enthusiasts with academic background
|
|
- motivation through
|
|
- fight: david <-> goliath
|
|
- to show how bad most proprietary software is
|
|
- to make the internet a better place
|
|
- to work together with _very_ good programmers
|
|
- to gain more experience / better reputation
|
|
- more and more commercial entities recognize the value of FOSS
|
|
- contributions to existing projects
|
|
- start of new projects
|
|
- contracting consultants and FOSS companies for implementation
|
|
of missing features
|
|
- experienced end-users
|
|
- independent consultants
|
|
- academic institutions (e.g. exim, cyrus)
|
|
- mixed FOSS / proprietary companies (like Astaro)
|
|
- use FOSS as foundation for their proprietary solutions
|
|
- have a vital need for a reliable and up-to-date foundation,
|
|
thus contribute back to and/or fund FOSS
|
|
|
|
- development process, communication
|
|
- everybody who agrees to the license can contribute code
|
|
- project is usually started by a single developer or a small group
|
|
- different actors:
|
|
- maintainer: official person to maintain the code, responsible
|
|
- core team: small group of leaders behind the project
|
|
- developers: people who write code on a regular basis
|
|
- contibutors: people who contribute a single feature or a bug
|
|
fix from time to time
|
|
- users: people who use the software, often organized on
|
|
mailinglists, newsgroups, user groups, ..
|
|
- main communication medium are mailinglists
|
|
- every developer can be contacted directly via email
|
|
- leaders/managers are people with the best technical skills, unlike the 'commercial world' where you need certain diploma, connections, ...
|
|
- communication is random. no manager <-> manager talk about technical
|
|
stuff they don't understand
|