1 <!DOCTYPE HTML PUBLIC
"-//IETF//DTD HTML//EN">
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">
11 <h1>Free software development for beginners
</h1>
13 <p>An introduction to free software development, for those
14 interested in participating.
</p>
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>
18 <div class=
"presenter">Petter Reinholdtsen
20 <br>IFI/UiO, Forskningsparken rom
207 2004-
04-
27</div>
26 <li>been involved in free software development since
1992</li>
28 <li>programmer and system administrator
</li>
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>
34 <li>debian developer
</li>
36 <li>initiater and current tech coordinator in skolelinux
</li>
38 <li>currently employed at USIT, UiO
</li>
42 <h2>Free Software - user freedom
</h2>
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>
53 <p><em>Richard M. Stallmann, FSF
</em></p>
55 <h2>Getting involved and helping out
</h2>
57 <p>So, you found a nice project on Freshmeat, and want to help
58 improve the project...
</p>
62 <li>read the project documentation
63 <li>join the relevant mailing list, IRC channels, etc
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
75 <h2>Reporting bugs
</h2>
77 <p>This software suck. A lot!
</p>
79 - do not report duplicate bugs
80 - document how to reproduce the bug
81 - include relevant information
83 - sysadmin/feilrapportør
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
100 <a href=
"http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=306147">an
103 <h2>Joining a free software project
</h2>
107 <h2>Starting a free software project
</h2>
109 <p>I got this idea for a piece of software...
</p>
113 <li>reuse when possible, prefer to improve existing
116 <li>read other peoples code, download and test other peoples
119 <li>understand software licenses
124 <h2>Running a successful free software project
</h2>
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
133 - who to contact for more info
134 - include a README in the tarball
138 - where to send bug reports and patches
140 - public review (anonymous CVS, commit emails)
142 - give well-formed bug reports, and include a patch if possible
143 - consider sourceforge
147 - debugging utilities (gdb, ddd, dmalloc, valgrind, strace, ltrace,
148 electric fence, fncchk, etc)
149 - avoid duplicate work (check freshmeat)
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
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.
173 - aktiv prosjektdeltager
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å
186 - hold oversikt over hvem som gjør hva
187 - kommuniser prosjektplanen til alle prosjektdeltagerne
193 <h2>Thank you very much
</h2>