Collaborative and transparent Free Software development
Lydia Pintscher
Institute of Applied Informatics and Formal Description MethodsKarlsruhe Institute of Technology
30. Juni 2011
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 1 / 28
Freie Software = integraler Bestandteil der Technologiewelt
sehr unterschiedliche Projekte mit ahnlichen Problemen: Amarok undHalo
mehr Transparenz und Kollaboration
Analyse und Verbesserung des Entwicklungsprozesses mit vertrautenTools (MediaWiki, Semantic MediaWiki, Bugzilla, ...)
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 2 / 28
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
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
Halo
Erweiterungen fur Semantic MediaWiki
Vereinfachung und Erweiterung der Nutzung semantischer Daten ineinem Wiki
Hauptaugenmerk auf Nutzung im Geschaftsumfeld
sehr starker Einfluss von Hauptsponsor Vulcan Inc.
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 5 / 28
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
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
Vorgehensweise
20 strukturierte, vertrauliche InterviewsI Wer sind die Beteiligten?I Welche Tools werden benutzt?I Welche Probleme mussen bewaltigt werden?
Auswahl der Teilnehmer basierend auf ihrer Zeit im Projekt und ihremTatigkeitsbereich
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 8 / 28
Halo - Releaseprozess
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 9 / 28
Amarok - Releaseprozess
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 10 / 28
Halo - Probleme
Probleme HaloKommuni-kation vonVision/Ziel
Koordi-nationder QA
Transpa-renz undKoordi-nation
Nutzer-input
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 11 / 28
Amarok - Probleme
ProblemeAmarok
klareVision/Ziel
Roadmap
Transpa-renz undKoordi-nation
Koordi-nationder QA
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 12 / 28
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
Anforderungen, Erwartungen und Rahmenbedingungen
Vertrauen aufbauen durch Transparenz
schnellen Uberblick und Beitrage gewahren
keine Zeit verschwenden
Freie Software nutzen
Einstellungen andern
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 14 / 28
Kommunikation und Kollaboration in einem verteiltenTeam
Ziel:
Team- undAufgabenbewusstsein
Umsetzung:
team dashboard
release dashboard
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 15 / 28
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
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 musicplayer that is innovative and powerful, yet easy to use. Amarokhelps rediscover music by giving access to a vast amount ofdifferent music sources and related information. In a world wheremusic and computing are everywhere, Amarok aims to providethe best music listening experience anywhere, anytime. TheAmarok team promotes free culture. Amarok makes peoplehappy.”
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 17 / 28
Kollaborativ eine Roadmap erstellen (1)
Ziele:
Umfang undSchwierigkeit von featurerequests kommunizieren
Erwartungen um einenfeature requestkommunizieren
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 18 / 28
Kollaborativ eine Roadmap erstellen (2)
Umsetzung:
2 Feature Tracking-SystemeI einfaches MediaWiki template fur AmarokI Semantic Form fur Halo
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 19 / 28
Qualitatssicherung
Ziele:
Testen durch eine großere Gruppe fordern
Problembereiche sichtbarer machen
Umsetzung:
Testcheckliste
Public Testing Contest
Emails von Bugzilla
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 20 / 28
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
Umfrage (1)
anonyme online Umfrage
10 Anfragen pro Projekt
8 (Halo) bzw. 7 (Amarok) Antworten
Antworten auf einer Skala von 1 (uberhaupt nicht) bis 5(sehr/absolut)
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 22 / 28
Umfrage (2)
“Wird das team dashboard dieTransparenz erhohen?”
“Glaubst du, dass der Prozess zurEntwicklung der neuen Vision auchvon anderen Freien SoftwareProjekten genutzt werden kann?”
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 23 / 28
Veranderung in der Offenheit des Entwicklungsprozesses
Halo Amarok
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 24 / 28
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
Zusammenfassung
Entwicklungsprozesse offener und kollaborativer gestaltet
Ergebnisse werden bereits genutzt
wichtige Fragen fur die Zukunft der Projekte gestellt
Werkzeuge und Prozesse entwickelt die auch von anderen FreienSoftware Projekten genutzt werden konnen
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 26 / 28
Ausblick
Tests mit anderen Projekten durchfuhren
Activity Indicator implementieren
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 27 / 28
Vielen Dank fur Ihre Aufmerksamkeit.
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 28 / 28
Kollaboration und Transparenz
Kollaboration: “working jointly with others or together especially inan intellectual endeavour” (Merriam-Webster)
Transparenz (hier): einfacher Zugang zu und Sichtbarkeit vonInformationen
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 29 / 28
Freie Software
verschiedene Projektformen (volunteer ↔ company)
verschiedene Grunde teilzuhaben (extrinsisch ↔ intrinsisch)
unterschiedlich große gefuhlte Distanz zwischen Mitgliedern
unterschiedliche Arbeits- und Kommunikationsstile
Spektrum der bestimmenden Krafte in einem Freien Software Projekt
ehrenamtlich
Amarok
gemischt
Halo
bezahlt
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 30 / 28
Die 4 Freiheiten
4 Freiheiten Freier Software (Free Software Foundation)
Die Freiheit, . . .
1 das Programm fur jeden Zweck zu benutzen.
2 zu verstehen, wie das Programm funktioniert und wie man es furseine Anspruche anpassen kann.
3 Kopien weiterzuverbreiten, so dass man seinem Nachsten weiterhelfenkann.
4 das Programm zu verbessern und die Verbesserungen derOffentlichkeit zur Verfugung zu stellen, damit die ganze Gemeinschaftdavon profitieren kann.
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 31 / 28
Communitymodell
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 32 / 28
Vergleich (1)
Halo Amarok
Alter 2 Jahre 7 Jahre
Programmiersprache PHP C++
Motivation vorw. extrinsisch vorw. intrinsisch
Teamgrenzen klar unklar
hauptsachlich genutz-te Medien
personlich, Mailingli-sten, Bugreports
IRC, Mailinglisten
Community außerhalbdes Kernteams
klein groß
Offenheit rel. geschlossen rel. offen
“release early releaseoften”
nein ja
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
Vergleich (2)
Halo Amarok
Versionskontrollsystem SVN git
wiki MediaWiki, SMW undHalo
MediaWiki
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
Prioritaten
Prioritat 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 patchessind 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
Umfang/Schwierigkeit
`````````````UmfangSchwierigkeit
leicht mittel schwer
klein 1 3 6
mittel 2 5 8
groß 4 7 9
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 36 / 28
Kollaborativ eine Roadmap erstellen (3)
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 37 / 28
Bausteine
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 38 / 28
Umfrage (3)
“Glaubst du, dass der Prozess zurEntwicklung der neuen Visiontransparent/kollaborativ war?”
“Wird das release dashboard dieTransparenz erhohen?”
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 39 / 28
Umfrage (4)
“Wird das neue feature trackingform/template die Kollaborationzwischen Contributorn/Contributornund Nutzern verbessern?”
“Wird das neue feature trackingform/template und die roadmap dieTransparenz erhohen?”
Lydia Pintscher (KIT) Collaborative & transparent FS development 30. Juni 2011 40 / 28