summaryrefslogtreecommitdiff
path: root/2003/opensource-astaro2003/brainstorming
blob: f50197352dd54c3c11964932f460889bfe66ace7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
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
personal git repositories of Harald Welte. Your mileage may vary