Mercurial > docs > diploma
annotate thesis/tex/2-FreeSoftwareProjects.tex @ 46:d3312a3b6e70
minor stuff; indention by tabs
author | meillo@marmaro.de |
---|---|
date | Tue, 14 Oct 2008 11:48:47 +0200 |
parents | faf3c7524993 |
children | d52fa2350137 |
rev | line source |
---|---|
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
1 \chapter{About \freesw\ projects} |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
2 |
45 | 3 There are several differences between \freesw\ projects and projects about proprietary software. |
4 To understand \freesw\ projects, one needs to understand \freesw\ itself first. | |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
5 |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
6 \section{About \freesw} |
45 | 7 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. %FIXME: check date |
8 Although various licenses make software free, none of them represents the thinking of \freesw\ like the the \GNU\ \gpl\ (short: \GPL), which was written by Stallman in 1983. | |
9 One could say, the \GPL\ ``powered'' the \name{Free Software movement}. | |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
10 |
45 | 11 But after all, the \GPL\ was not the first \freesw\ license used. |
12 The \name{BSD License} for example is much older; with first occurences around 19xx. %FIXME: insert date | |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
13 However, nobody talked about ``Free Software'' back then. |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
14 |
45 | 15 \freesw\ gives freedoms to its users. |
16 In contrast to proprietary software restricting the users freedom. | |
17 The freedoms (or rights) the user has are stated in %FIXME where? | |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
18 . Namely these are: |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
19 \begin{enumerate} |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
20 \item The freedom to use |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
21 \item The freedom to copy and share |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
22 \item The freedom to study the source code |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
23 \item The freedom to modify |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
24 \item The freedom to redistribute (granting the same freedom) |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
25 \end{enumerate} |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
26 |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
27 |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
28 \section{The term ``Open Source''} |
45 | 29 \name{Open Source Software} often stands for the same as \freesw. |
30 But there is an essential difference: \name{Open Source} focuses on the availability of source code, while \freesw\ is about freedoms for people. | |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
31 |
43 | 32 \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. |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
33 |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
34 |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
35 \section{Development of \freesw} |
45 | 36 Having source code available and the right to modify it, encouridges programmers to actually do so. |
37 Their modifications are manifoldly. | |
38 Some tailor the software to their needs. | |
39 Some add features. | |
40 Some do it just for fun. | |
41 There are no limitations---whoever wants to, may work on it. | |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
42 |
45 | 43 Since the boom of the internet, \freesw\ typically is developed by an open community of programmers interested in the software. |
44 The process of development is watchable by everyone. | |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
45 |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
46 The other, now less common, method is a more closed group, developing in a ``sealed'' room, but releasing finished versions to the public. |
26
fb9ba63f6957
changed to new thesis structure; moved text pieces away; updated project plan
meillo@marmaro.de
parents:
diff
changeset
|
47 |
45 | 48 Eric~S.~Raymond discusses about these methods, which he named \name{the bazaar} and \name{the cathedral}. %FIXME: add reference |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
49 |
38 | 50 The following text will focus on the ``bazaar'' model. |
51 | |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
52 |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
53 \section{The role of the community} |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
54 \freesw\ projects rise and fall with their community! |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
55 |
45 | 56 Most \freesw\ programs are developed by a very small group of programmers, often only one person. |
57 But they are used by many people. | |
58 In between the programmers and the users, are people located who are a bit of both. | |
59 These are the ones that write documentation, find bugs and probably even fix it. | |
60 They discuss on mailing lists, bulletin boards and \NAME{IRC} chats. | |
61 The program is often spread by their ``advertising''. | |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
62 |
45 | 63 The \emph{community} consists of the actual developers and all users that contribute to the program. |
64 Contribution can be one of the described ways, or others like providing a server for the project website for example. | |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
65 |
45 | 66 \emph{Community} is everyone who is in contact through the project. |
67 Be it on the mailing list, the discussion board, or by telling the developers about a new feature wanted. | |
68 | |
69 There will hardly be a community if no communication channels are available. | |
70 If the development team does not provide them, there is a chance that enthusiastic %FIXME: better word | |
71 users set them up on their own. | |
72 But this is rare and the program needs to be very popular. %TODO: maybe include an example here (w3m?) | |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
73 |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
74 Projects without a good community tend to die sooner or later. |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
75 |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
76 |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
77 \section{Evolution of a community} |
45 | 78 Let us look at the process a community establishes: In most times it's only one who has an idea, in the beginning. |
79 He starts developing. | |
80 When others get in contact with the project, there may be some who are so much interested that they start co-developing. | |
81 Others report bugs, and some only use the program. | |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
82 |
45 | 83 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. |
84 The size ratio of the groups vary by type of project. | |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
85 |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
86 One should have that in mind, when starting a \freesw\ project. |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
87 |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
88 |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
89 \section{Creating a strong community} |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
90 Building up a good community needs some effort of the main developers. |
38 | 91 %TODO: search for documents about this topic |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
92 |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
93 First communication channels need to be set up, to enable the growth of a community. |
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
94 |
45 | 95 Second, development should be visible by everyone who is interested in it. |
96 Time between work done on the project and its visibility to the public should be kept short. | |
97 This makes it interesting for other developers to join. | |
98 Developers are the core of a community. | |
38 | 99 |
100 Third, there is a rule of thumb that should be followed: ``Release early, release often!'' %FIXME: add reference | |
45 | 101 Releases are (more) stable versions, primary for users. |
102 They should be created, frequently. | |
103 People will more likely use programs of active projects. | |
38 | 104 |
45 | 105 Fourth, the developers should try to get the users ``in the boat''. |
106 Good communities have a large group of users that do not only receive, but also give something back to the project. | |
107 The project leaders should motivate users to contribute. | |
108 This unlocks a big work force and gets lot of unexiting work done. | |
37
225669a51b11
new text about free software projects and more
meillo@marmaro.de
parents:
34
diff
changeset
|
109 |
45 | 110 Fifth, documentation matters. |
111 Good documentation makes it easy for users and developers to start. | |
112 And it helps to avoid a lot of unsatisfaction. | |
113 Documentation is something that shows quality and that people care about the project. | |
38 | 114 |
45 | 115 And sixth, project leaders should be good souvereigns. |
116 They should try to be fair, to motivate, be visionaires and try to put power and work on many shoulders. | |
117 | |
118 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! | |
119 Volunteer work lives by acknowledgement of the effort spent. |