These are the slides for the presentation of my diploma thesis.
In the thesis the development process of two Free Software projects, Halo and Amarok, is analysed and improved. Halo is a set of extensions to SMW (Semantic MediaWiki) and Amarok is a music player. They represent a broad spectrum of Free Software projects with similar challenges. The thesis focuses on improving the collaboration in these projects and increasing the transparency of both projects.
Through the thesis several tools and processes are developed. This includes a way to create a vision for a project, tools to improve collaboration in a team, methods and tools to improve the quality of the project's software and feature tracking and roadmap creation. These tools and processes fit both the ideals and day-to-day realities of Free Software creation, making them suitable for a wide range of Free Software projects.
Collaborative and transparent Free Software development (presentation)
1. Collaborative and transparent Free Software development
Lydia Pintscher
Institute of Applied Informatics and Formal Description Methods
Karlsruhe Institute of Technology
30. Juni 2011
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 1 / 28
2. Freie Software = integraler Bestandteil der Technologiewelt
sehr unterschiedliche Projekte mit ¨hnlichen Problemen: Amarok und
a
Halo
mehr Transparenz und Kollaboration
Analyse und Verbesserung des Entwicklungsprozesses mit vertrauten
Tools (MediaWiki, Semantic MediaWiki, Bugzilla, ...)
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 2 / 28
3. ¨
Ubersicht
1 Grundlagen
2 Analyse
3 Design und Implementierung
4 Evaluation
5 Zusammenfassung und Ausblick
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 3 / 28
4. ¨
Ubersicht
1 Grundlagen
2 Analyse
3 Design und Implementierung
4 Evaluation
5 Zusammenfassung und Ausblick
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 4 / 28
5. Halo
Erweiterungen f¨r Semantic MediaWiki
u
Vereinfachung und Erweiterung der Nutzung semantischer Daten in
einem Wiki
Hauptaugenmerk auf Nutzung im Gesch¨ftsumfeld
a
sehr starker Einfluss von Hauptsponsor Vulcan Inc.
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 5 / 28
6. Amarok
Musikabspielprogramm aus der KDE Community
fast ausschließlich ehrenamtlich entwickelt
Motto: rediscover your music
verteiltes Team - Kommunikation uber IRC und Mailinglisten
¨
sehr flache Teamstruktur
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 6 / 28
7. ¨
Ubersicht
1 Grundlagen
2 Analyse
3 Design und Implementierung
4 Evaluation
5 Zusammenfassung und Ausblick
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 7 / 28
8. Vorgehensweise
20 strukturierte, vertrauliche Interviews
Wer sind die Beteiligten?
Welche Tools werden benutzt?
Welche Probleme m¨ssen bew¨ltigt werden?
u a
Auswahl der Teilnehmer basierend auf ihrer Zeit im Projekt und ihrem
T¨tigkeitsbereich
a
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 8 / 28
9. Halo - Releaseprozess
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 9 / 28
10. Amarok - Releaseprozess
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 10 / 28
11. Halo - Probleme
Koordi-
nation
der QA
Transpa- Kommuni-
renz und kation von
Koordi-
Probleme Halo
Vision/Ziel
nation
Nutzer-
input
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 11 / 28
12. Amarok - Probleme
Roadmap
Transpa-
renz und Probleme klare
Koordi- Amarok Vision/Ziel
nation
Koordi-
nation
der QA
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 12 / 28
13. ¨
Ubersicht
1 Grundlagen
2 Analyse
3 Design und Implementierung
4 Evaluation
5 Zusammenfassung und Ausblick
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 13 / 28
14. Anforderungen, Erwartungen und Rahmenbedingungen
Vertrauen aufbauen durch Transparenz
¨
schnellen Uberblick und Beitr¨ge gew¨hren
a a
keine Zeit verschwenden
Freie Software nutzen
Einstellungen ¨ndern
a
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 14 / 28
15. Kommunikation und Kollaboration in einem verteilten
Team
Ziel:
Team- und
Aufgabenbewusstsein
Umsetzung:
team dashboard
release dashboard
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 15 / 28
16. Kollaborativ an einer Vision arbeiten (1)
Ziele:
Erstellen und Kommunizieren einer Vision
Aktualisieren einer Vision
Umsetzung:
adaptierter Prozess von Levin
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 16 / 28
17. Kollaborativ an einer Vision arbeiten (2)
etwa 70 Revisionen im Wiki
8 aktive Teilnehmer im IRC Meeting
Amaroks neue Vision
“The Amarok team strives to develop a free and open music
player that is innovative and powerful, yet easy to use. Amarok
helps rediscover music by giving access to a vast amount of
different music sources and related information. In a world where
music and computing are everywhere, Amarok aims to provide
the best music listening experience anywhere, anytime. The
Amarok team promotes free culture. Amarok makes people
happy.”
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 17 / 28
18. Kollaborativ eine Roadmap erstellen (1)
Ziele:
Umfang und
Schwierigkeit von feature
requests kommunizieren
Erwartungen um einen
feature request
kommunizieren
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 18 / 28
19. Kollaborativ eine Roadmap erstellen (2)
Umsetzung:
2 Feature Tracking-Systeme
einfaches MediaWiki template f¨r Amarok
u
Semantic Form f¨r Halo
u
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 19 / 28
20. Qualit¨tssicherung
a
Ziele:
Testen durch eine gr¨ßere Gruppe f¨rdern
o o
Problembereiche sichtbarer machen
Umsetzung:
Testcheckliste
Public Testing Contest
Emails von Bugzilla
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 20 / 28
21. ¨
Ubersicht
1 Grundlagen
2 Analyse
3 Design und Implementierung
4 Evaluation
5 Zusammenfassung und Ausblick
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 21 / 28
22. Umfrage (1)
anonyme online Umfrage
10 Anfragen pro Projekt
8 (Halo) bzw. 7 (Amarok) Antworten
Antworten auf einer Skala von 1 (¨berhaupt nicht) bis 5
u
(sehr/absolut)
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 22 / 28
23. Umfrage (2)
“Wird das team dashboard die “Glaubst du, dass der Prozess zur
Transparenz erh¨hen?”
o Entwicklung der neuen Vision auch
von anderen Freien Software
Projekten genutzt werden kann?”
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 23 / 28
24. Ver¨nderung in der Offenheit des Entwicklungsprozesses
a
Halo Amarok
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 24 / 28
25. ¨
Ubersicht
1 Grundlagen
2 Analyse
3 Design und Implementierung
4 Evaluation
5 Zusammenfassung und Ausblick
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 25 / 28
26. Zusammenfassung
Entwicklungsprozesse offener und kollaborativer gestaltet
Ergebnisse werden bereits genutzt
wichtige Fragen f¨r die Zukunft der Projekte gestellt
u
Werkzeuge und Prozesse entwickelt die auch von anderen Freien
Software Projekten genutzt werden k¨nnen
o
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 26 / 28
27. Ausblick
Tests mit anderen Projekten durchf¨hren
u
Activity Indicator implementieren
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 27 / 28
28. Vielen Dank f¨r Ihre Aufmerksamkeit.
u
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 28 / 28
29. Kollaboration und Transparenz
Kollaboration: “working jointly with others or together especially in
an intellectual endeavour” (Merriam-Webster)
Transparenz (hier): einfacher Zugang zu und Sichtbarkeit von
Informationen
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 29 / 28
30. Freie Software
verschiedene Projektformen (volunteer ↔ company)
verschiedene Gr¨nde teilzuhaben (extrinsisch ↔ intrinsisch)
u
unterschiedlich große gef¨hlte Distanz zwischen Mitgliedern
u
unterschiedliche Arbeits- und Kommunikationsstile
Spektrum der bestimmenden Kr¨fte in einem Freien Software Projekt
a
Amarok Halo
ehrenamtlich gemischt bezahlt
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 30 / 28
31. Die 4 Freiheiten
4 Freiheiten Freier Software (Free Software Foundation)
Die Freiheit, . . .
1 das Programm f¨r jeden Zweck zu benutzen.
u
2 zu verstehen, wie das Programm funktioniert und wie man es f¨r
u
seine Anspr¨che anpassen kann.
u
3 Kopien weiterzuverbreiten, so dass man seinem N¨chsten weiterhelfen
a
kann.
4 das Programm zu verbessern und die Verbesserungen der
¨
Offentlichkeit zur Verf¨gung zu stellen, damit die ganze Gemeinschaft
u
davon profitieren kann.
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 31 / 28
32. Communitymodell
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 32 / 28
33. Vergleich (1)
Halo Amarok
Alter 2 Jahre 7 Jahre
Programmiersprache PHP C++
Motivation vorw. extrinsisch vorw. intrinsisch
Teamgrenzen klar unklar
haupts¨chlich genutz-
a pers¨nlich, Mailingli-
o IRC, Mailinglisten
te Medien sten, Bugreports
Community außerhalb klein groß
des Kernteams
Offenheit rel. geschlossen rel. offen
“release early release nein ja
often”
Planung viel sehr wenig
Richtungsvorgabe Management/Team individuelle Entwickler
Standort Kernteam Deutschland weltweit
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 33 / 28
34. Vergleich (2)
Halo Amarok
Versionskontrollsystem SVN git
wiki MediaWiki, SMW und MediaWiki
Halo
bug tracker Bugzilla Bugzilla
build server Hudson Hudson
test case management TestLink Seite im wiki
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 34 / 28
35. Priorit¨ten
a
Priorit¨t
a Bedeutung
P1 wird vom core team implementiert werden
P2 wird vielleicht vom core team implementiert werden
P3 wird nicht vom core team implementiert werden aber patches
sind gern gesehen
P4 unentschieden oder kontrovers
P5 wird nicht implementiert werden und patches werden wahr-
scheinlich nicht akzeptiert werden
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 35 / 28
37. Kollaborativ eine Roadmap erstellen (3)
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 37 / 28
38. Bausteine
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 38 / 28
39. Umfrage (3)
“Glaubst du, dass der Prozess zur “Wird das release dashboard die
Entwicklung der neuen Vision Transparenz erh¨hen?”
o
transparent/kollaborativ war?”
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 39 / 28
40. Umfrage (4)
“Wird das neue feature tracking “Wird das neue feature tracking
form/template die Kollaboration form/template und die roadmap die
zwischen Contributorn/Contributorn Transparenz erh¨hen?”
o
und Nutzern verbessern?”
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 40 / 28