Mercurial > docs > diploma
annotate thesis/attic/free-software-projects.tex @ 365:ba9463b43709 seventh preview version for Schaffter
Added tag version for proof-readers for changeset e5033a9cbf53
author | meillo@marmaro.de |
---|---|
date | Wed, 28 Jan 2009 16:49:45 +0100 |
parents | 2aad3d950640 |
children |
rev | line source |
---|---|
91
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
1 \section{About \freesw\ projects} |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
2 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
3 % http://www.faqs.org/docs/artu/ |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
4 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
5 There are several differences between \freesw\ projects and projects about proprietary software. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
6 To understand \freesw\ projects, one needs to understand \freesw\ itself first. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
7 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
8 \subsection{About \freesw} |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
9 The term ``Free Software'' was coined by the \name{Free Software Foundation} (short: \NAME{FSF}), founded by Richard~M.\ Stallman (known as ``RMS'') in 1985. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
10 Although various licenses make software free, none of them represents the thinking of \freesw\ like the the \GNU\ \gpl\ (short: \GPL). Its first version was written by Stallman in 1989. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
11 One could say, the \GPL\ catalized the \name{Free Software movement}. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
12 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
13 % http://www.fsf.org/about/what-is-free-software |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
14 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
15 After all, the \GPL\ was not the first \freesw\ license used. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
16 The \name{MIT License} (or \name{X Consortium License}) for example is older; published in 1988. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
17 Licenses providing the same rights have been used since long time ago. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
18 But none of them was so often (re)used by other projects---thus gattering less awareness. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
19 Further more was the \GPL\ created to be a \emph{general} license for all kinds of programs, unlike most other licenses written for one particular program. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
20 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
21 \freesw\ gives freedoms to its users. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
22 In contrast to proprietary software restricting the users freedom. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
23 The freedoms (or rights) the user has are stated in the \name{Free Software Definition} of the \NAME{FSF}. Namely these are: |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
24 % http://www.gnu.org/philosophy/free-sw.html |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
25 % http://www.fsf.org/licensing/essays/free-sw.html |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
26 \begin{enumerate} |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
27 \item The freedom to run the program, for any purpose (freedom 0). |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
28 \item The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
29 \item The freedom to redistribute copies so you can help your neighbor (freedom 2). |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
30 \item The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
31 \end{enumerate} |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
32 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
33 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
34 \subsection{The term ``Open Source''} |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
35 \name{Open Source Software} often stands for the same as \freesw. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
36 But there is an essential difference: \name{Open Source} focuses on the availability of source code, while \freesw\ is about freedoms for people. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
37 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
38 \name{Open Source Software} is a subset of \freesw, meaning: All \freesw\ is \name{Open Source}, but there exists \name{Open Source Software} that is not free. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
39 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
40 % http://www.gnu.org/philosophy/open-source-misses-the-point.html |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
41 % http://catb.org/~esr/open-source.html |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
42 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
43 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
44 \subsection{Development of \freesw} |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
45 Having source code available and the right to modify it, encouridges programmers to actually do so. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
46 Their modifications are manifoldly. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
47 Some tailor the software to their needs. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
48 Some add features. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
49 Some do it just for fun. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
50 There are no limitations---whoever wants to, may work on it. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
51 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
52 Since the boom of the internet, \freesw\ typically is developed by an open community of programmers interested in the software. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
53 The process of development is watchable by everyone. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
54 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
55 The other, now less common, method is a more closed group, developing in a ``sealed'' room, but releasing finished versions to the public. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
56 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
57 Eric~S.\ Raymond discusses about these methods, which he named \name{the bazaar} and \name{the cathedral} \cite{catb}. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
58 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
59 The following text will focus on the ``bazaar'' model. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
60 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
61 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
62 \subsection{The role of the community} |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
63 \freesw\ projects rise and fall with their community! |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
64 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
65 Most \freesw\ programs are developed by a very small group of programmers, often only one person. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
66 But they are used by many people. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
67 In between the programmers and the users, are people located who are a bit of both. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
68 These are the ones that write documentation, find bugs and probably even fix it. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
69 They discuss on mailing lists, bulletin boards and \NAME{IRC} chats. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
70 The program is often spread by their ``advertising''. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
71 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
72 The \emph{community} consists of the actual developers and all users that contribute to the program. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
73 Contribution can be one of the described ways, or others like providing a server for the project website for example. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
74 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
75 \emph{Community} is everyone who is in contact through the project. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
76 Be it on the mailing list, the discussion board, or by telling the developers about a new feature wanted. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
77 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
78 There will hardly be a community if no communication channels are available. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
79 If the development team does not provide them, there is a chance that encouraged users set them up on their own. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
80 But this is rare and the program needs to be very popular. %TODO: maybe include an example here (w3m?) |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
81 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
82 Projects without a good community tend to die sooner or later. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
83 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
84 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
85 \subsection{Evolution of a community} |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
86 Let us look at the process a community establishes: In most times it's only one who has an idea, in the beginning. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
87 He starts developing. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
88 When others get in contact with the project, there may be some who are so much interested that they start co-developing. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
89 Others report bugs, and some only use the program. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
90 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
91 After some time, one will find a small group of core developers, a larger group of contributers (bugs, patches, documentation) and a very large group of users. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
92 The size ratio of the groups vary by type of project. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
93 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
94 One should have that in mind, when starting a \freesw\ project. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
95 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
96 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
97 \subsection{Creating a strong community} |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
98 Building up a good community needs some effort of the main developers. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
99 %TODO: search for documents about this topic |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
100 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
101 First communication channels need to be set up, to enable the growth of a community. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
102 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
103 Second, development should be visible by everyone who is interested in it. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
104 Time between work done on the project and its visibility to the public should be kept short. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
105 This makes it interesting for other developers to join. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
106 Developers are the core of a community. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
107 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
108 Third, there is a rule of thumb that should be followed: ``Release early, release often!'' \cite{catb}. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
109 Releases are (more) stable versions, primary for users. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
110 They should be created, frequently. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
111 People will more likely use programs of active projects. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
112 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
113 Fourth, the developers should try to get the users ``in the boat''. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
114 Good communities have a large group of users that do not only receive, but also give something back to the project. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
115 The project leaders should motivate users to contribute. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
116 This unlocks a big work force and gets lot of unexiting work done. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
117 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
118 Fifth, documentation matters. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
119 Good documentation makes it easy for users and developers to start. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
120 And it helps to avoid a lot of unsatisfaction. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
121 Documentation is something that shows quality and that people care about the project. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
122 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
123 And sixth, project leaders should be good souvereigns. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
124 They should try to be fair, to motivate, be visionaires and try to put power and work on many shoulders. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
125 |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
126 Not to forget: Every work that was done, every contribution that was made and every idea received needs to be honored in an appropriate way! |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
127 Volunteer work lives by acknowledgement of the effort spent. |
4fabc8ac5538
excluded text about history of masqmail and about free software projects
meillo@marmaro.de
parents:
diff
changeset
|
128 |