]> pere.pagekite.me Git - homepage.git/blob - mypapers/free-sw-devel/free-sw-devel.html
Litt mer.
[homepage.git] / mypapers / free-sw-devel / free-sw-devel.html
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html>
3 <head>
4 <link rel="stylesheet" href="../mrtg-td/slides.css" type="text/css">
5 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6 <meta name="Language" content="en">
7 <meta name="Author" content="Petter Reinholdtsen">
8 </head>
9 <body>
10
11 <h1>Free software development for beginners</h1>
12
13 <p>An introduction to free software development, for those
14 interested in participating.</p>
15
16 <p><tt><a href="free-sw-devel.html">http://www.hungry.com/~pere/mypapers/free-sw-devel/free-sw-devel.html</a></tt></p>
17
18 <div class="presenter">Petter Reinholdtsen
19 <br>pere@hungry.com
20 <br>IFI/UiO, Forskningsparken rom 207 2004-04-27</div>
21
22 <h2>Who am I</h2>
23
24 <ul>
25
26 <li>been involved in free software development since 1992</li>
27
28 <li>programmer and system administrator</li>
29
30 <li>past and current contributor to several projects (linux,
31 glibc, kde, debian-{edu, gis, java, cdd}, mapserver,
32 openstreetmap.org, skolelinux, etc)</li>
33
34 <li>debian developer</li>
35
36 <li>initiater and current tech coordinator in skolelinux</li>
37
38 <li>currently employed at USIT, UiO</li>
39
40 </ul>
41
42 <h2>Free Software - user freedom</h2>
43
44 <ul>
45
46 <li>freedom to run the program as you wish for any purpose</li>
47 <li>freedom to study and change the source code as you wish</li>
48 <li>freedom to make and redistribute copies</li>
49 <li>freedom to publish modified versions</li>
50
51 </ul>
52
53 <p><em>Richard M. Stallmann, FSF</em></p>
54
55 <h2>Getting involved and helping out</h2>
56
57 <p>So, you found a nice project on Freshmeat, and want to help
58 improve the project...</p>
59
60 <ul>
61
62 <li>read the project documentation
63 <li>join the relevant mailing list, IRC channels, etc
64 <li>use mailing lists
65 <li>irc, wiki
66 <li>get to know the source
67 <li>understand licensing issues
68 <li>get used to for public review
69 <li>learn to use the bug tracking system
70 <li>start with the non-coding stuff (translations, documentation)
71 <li>do not take it personally
72
73 </ul>
74
75 <h2>Reporting bugs</h2>
76
77 <p>This software suck. A lot!</p>
78
79 - do not report duplicate bugs
80 - document how to reproduce the bug
81 - include relevant information
82
83 - sysadmin/feilrapportør
84
85 - Hvis du finner en feil
86 - søk i bug-databasen til produktet om dette er en kjent feil
87 - hvis ikke, test siste utgave lokalt
88 - hvis feilen fremdeles er der, og er gjenproduserbar, send en
89 feilrapport (valgrind, strace, gdb, ltrace)
90 - hvis feilen ikke er fikset, men utviklerne er klar over denne,
91 send en feilrapport til!
92 - sørg for at feilrapporten inneholder nødvendig informasjon for å
93 gjenprodusere feilen og hvordan systemet ditt er konfigurert
94 - bruk gjerne feilrapporteringsverktøy som bug-buddy (Gnome),
95 perlbug (Perl), reportbug (Debian) sendpr (FreeBSD), eller
96 produktets feilrapporterings-webside (bugzilla, request-tracker,
97 gnats e.l. Se på prosjektets hjemmeside)
98 - husk å følge opp feilrapporten din
99
100 <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=306147">an
101 example</a>
102
103 <h2>Joining a free software project</h2>
104
105 - painful
106
107 <h2>Starting a free software project</h2>
108
109 <p>I got this idea for a piece of software...</p>
110
111 <ul>
112
113 <li>reuse when possible, prefer to improve existing
114 projects</li>
115
116 <li>read other peoples code, download and test other peoples
117 programs</li>
118
119 <li>understand software licenses
120
121
122 </ul>
123
124 <h2>Running a successful free software project</h2>
125
126 - let everyone work on the things that interests them
127 - do not accept every change. make sure you like it first
128 - write down where you want the project to go
129 - set up a bug tracking systems
130 - create web pages
131 - screen shots
132 - short summary
133 - who to contact for more info
134 - include a README in the tarball
135 - home page URL
136 - download site URL
137 - short description
138 - where to send bug reports and patches
139
140 - public review (anonymous CVS, commit emails)
141 - licenses
142 - give well-formed bug reports, and include a patch if possible
143 - consider sourceforge
144 - tools
145 - compiler
146 - libraries
147 - debugging utilities (gdb, ddd, dmalloc, valgrind, strace, ltrace,
148 electric fence, fncchk, etc)
149 - avoid duplicate work (check freshmeat)
150
151
152 - bruker
153
154 - hold deg til de store distribusjenene
155 - hvis du finner feil
156 - fortell din lokale sysadmin om feilen, og be personen teste
157 nyere versjoner og/eller å skrive en feilrapport
158
159
160 - patch-bidragsyter
161
162 - Hvis du har muligheten til å rette feilen selv, pass på fortelle
163 prosjekt-delagerene om fiksen
164 - lag en patch! (patch -u fil.org fil.ny > minfiks.patch)
165 - send denne til utvikler-mailinglisten, og følg med om den blir
166 inkludert, eller om den krever mere fiksing.
167 - ikke "glem" en patch. blir den ikke akseptert, sørg for å fikse
168 patchen så den blir akseptert.
169 - "glemte" patcher _vil_ skape merarbeide for deg neste gang
170 programmet skal oppgraderes.
171
172
173 - aktiv prosjektdeltager
174
175 - fiks feilene som er rapportert i bugrapport-systemet (prosjektet
176 _har_ et feilrapportsystem, ikke sant?)
177 - Test og gi tilbakemelding på rapporterte feil.
178 - sørg for at brukerdokumentasjonen er oppdatert, og henvis til
179 denne (så slipper du ekstraarbeide)
180 - sørg for at kildekoden du lager er selvdokumenterende, følger
181 kode-policy og har akkurat nok kommentarer til at formålet med
182 koden er lett å forstå
183
184 - prosjektleder
185
186 - hold oversikt over hvem som gjør hva
187 - kommuniser prosjektplanen til alle prosjektdeltagerne
188
189 <h2>Conclusion</h2>
190
191 <h2>References</h2>
192
193 <h2>Thank you very much</h2>
194
195 <h3>Questions?</h3>
196
197 </body>
198 </html>