Produktion von Open Source Software

Wie man ein erfolgreiches freies Software Projekt führt

Karl Fogel

(Author)

Manuel Barkhau

(Deutsche Übersetzung, mit freundlicher Unterstützung durch mg.softech)

Sebastian Menge

(Deutsche Übersetzung)

Reiner Pittinger

(Deutsche Übersetzung)

Widmung

Dieses Buch ist zwei lieben Freunden gewidmet, ohne die es nicht möglich gewesen wäre: Karen Underhill und Jim Blandy.

Inhaltsverzeichnis

Vorwort
Warum dieses Buch schreiben?
Wer sollte dieses Buch lesen?
Quellen
Danksagung
Haftungsausschluss
Anmerkung der Übersetzer
1. Einleitung
Geschichte
Der Aufstieg proprietärer Software und freier Software
Bewusster Widerstand
Zufälliger Widerstand
"Frei" kontra "Open Source"
Die Heutige Situation
2. Der Einstieg
Mit dem Vorhandenen anfangen
Wählen Sie einen Guten Namen
Formuliere ein Klares Missionsziel
Sagen Sie, dass das Projekt Frei ist
Funktionen und Anforderungen
Stand der Entwicklung
Downloads
Zugriff auf die Versionsverwaltung und den Bug-Tracker
Kommunikationswege
Richtlinien für Entwickler
Dokumentation
Erreichbarkeit der Dokumentation
Entwickler Dokumentation
Beispiel Ausgaben und Screenshots
Hosting Bündel
Die Wahl einer Lizenz
"Alles ist erlaubt" Lizenzen
Die GPL
Anwendung einer Lizenz
Den Ton angeben
Vermeide private Diskussionen
Unhöflichkeit im Keim ersticken
Code Review
Der Übergang geschlossener Projekte nach Open Source
Bekanntmachung
3. Technische Infrastruktur
Das nötige Werkzeug
E-Mail Verteiler
Schutz vor Spam
Filterung von Nachrichten
Verschleierung von Adressen im Archiv
Umgang mit E-Mail Header
Die große "reply-to" Debatte
Zwei Fantasien
Archivierung
Software für den Verteiler
Versionsverwaltung
Vokabular der Versionsverwaltung
Wahl einer Versionsverwaltung
Nutzung einer Versionsverwaltung
Versioniere alles
Suchfunktion
Commit E-Mail
Benutzen Sie Zweige um Engpässe zu vermeiden
Singulare Informationen
Authorization
Bug-Tracker
Interaction mit E-Mail Verteiler
Ticket Filterung
IRC / Echtzeit Nachrichtendienste
Bots
IRC Archive
Wiki
Webseite
Hosting Bündel
Die Wahl eines Hosting Bündels
Anonymität und Beteiligung
4. Soziale und Politische Infrastruktur
Gütige Diktatoren
Wer kann ein gütiger Diktator sein?
Konsensbasierte Demokratie
Versionsverwaltung heißt Entspannung
Wenn Kein Konsens möglich ist, Stimme ab
Wann Abzustimmen
Wahlberechtigung
Meinungsumfragen contra Abstimmung
Vetos
Schriftliche Regeln
5. Geld
Arten der Beteiligung
Dauerhafte Entwickler
Treten Sie als Viele auf
Seien Sie offen über Ihre Absichten
Geld kann dir keine Liebe kaufen
Auftragsarbeit
Kritik und Annahme von Änderungen
Fallbeispiel: Das Protokoll zur Passwort Authentifizierung in CVS
Finanzierung von Tätigkeiten außer Programmieren
Qualitätssicherung
Rechtliche Beratung und Schutz
Dokumentation und Benutzerfreundlichkeit
Bereitstellung von Hosting/Bandbreite
Marketing
Denken Sie daran, dass Sie beobachtet werden
Machen Sie Konkurierende Open Source Produkte Nicht Schlecht
6. Kommunikation
Du bist was du schreibst
Struktur und Formatierung
Inhalt
Tonfall
Erkennung von Unhöflichkeit
Gesicht
Vermeidung Häufiger Fallstricke
Schreiben Sie Nicht Ohne Sinn
Produktive kontra Unproduktive Threads
Je Weicher Das Thema, Desto Länger Die Debatte
Vermeiden Sie Heilige Kriege
Der "Lauten Minderheit" Effekt
Schwierige Leute
Handhabung Schwieriger Leute
Fallbeispiel
Handhabung von Wachstum
Auffällige Nutzung der Archive
Behandeln Sie alle Resourcen wie Archive
Festschreiben von Traditionen
Keine Unterhaltungen auf dem Bug Tracker
Öffentlichkeit
Bekanntgabe von Sicherheitslücken
Empfang der Meldung
Entwickeln Sie den Fix im stillen
CAN/CVE Nummer
Vorankündigung
Verteilen Sie den Fix öffentlich
7. Paket Erstellung, Veröffentlichung, und Tägliche Entwicklung
Versions Nummerierung
Die Komponenten der Versions Nummer
Die Einfache Strategie
Die Gerade/Ungerade Strategie
Versionszweige
Mechanik von Versionszweigen
Stabilisierung Einer Neuen Version
Diktatur durch den Versionsherr
Abstimmung über Änderungen
Verwaltung der Gemeinschaftlichen Stabilisierung einer Neuen Version
Versionsverwalter
Erstellung der Pakete
Format
Name und Aufbau
Groß Schreiben oder Nicht Groß Schreiben
Vorveröffentlichenden
Kompilierung und Installation
Binäre Pakete
Tests und Veröffentlichung
Release Candidate
Bekanntgabe Neuer Versionen
Wartung Mehrerer Versionszweige
Sicherheits-Versionen
Neue Versionen und Tägliche Entwicklung
Planung Neuer Versionen
8. Leitung von Freiwilligen
Das Meiste Aus Freiwilligen Herausholen
Delegierung
Unterscheiden Sie Eindeutig Zwischen Anfrage und Anweisung
Schließen Sie Nach Der Deligierung An
Achten Sie Darauf Wofür Leute Sich Interessieren
Lob und Kritik
Verhindern Sie Revierabsteckung
Das Verhältniss der Automatisierung
Automatisiertes Testen
Behandeln Sie Jeden Nutzer, Wie Einen Möglichen Freiwilligen
Teilen Sie Sowohl Verwaltungsaufgaben Als Auch Technische Aufgaben
Patch Verwalter
Übersetzungs Verwalter
Dokumentations Verwalter
Ticket Verwalter
FAQ Verwalter
Übergänge
Committer
Auswahl von Committer
Widerruf von Commit Zugriff
Eingeschränkter Commit Zugriff
Untätige Committer
Vermeiden Sie Geheimnisse
Anerkennung
Abspaltungen
Umgang Mit Einer Abspaltung
Anstoßung einer Abspaltung
9. Lizenzen, Urheberrecht, und Patente
Terminologie
Lizenzaspekte
Die GPL und Lizenz-Kompatibilität
Die Wahl einer Lizenz
Die MIT / X Window System Lizenz
Die GNU GPL
Ist die GPL frei oder nicht frei?
Wie sieht es mit der BSD Lizenz aus?
Zuweisung von Urheberrechten
Keine Zuweisung von Urheberrecht
Lizenzvereinbarung der Beitragenden (CLA)
Übertragung vom Urheberrecht
Doppelte Lizenzierung
Patente
Weitere Quellen
A. Systeme zur Versionsverwaulung
B. Freie Bug-Tracker
C. Warum sollte es mich kümmern, welche Farbe der Fahrradschuppen hat?
D. Beispiel Anleitung für die Meldung von Fehlern
E. Urheberrecht