Collaborative and transparent Free Software development (presentation)

Preview:

DESCRIPTION

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.

Citation preview

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

Recommended