Upstream und Downstream

Das Verhältnis zwischen den Open Source Projekten und ihren Distributionen ist ein sehr besonderes. Die Distributionen brauchen die Open Source Projekte, denn ohne sie haben sie nichts zu paketieren und die Open Source Projekte brauchen die Distributionen um den Quellcode zu verteilen – wie der Name schon sagt. Dieses Verfahren ist so eingespielt, dass richtig große Open Source Gemeinschaften wie z.B. KDE überhaupt keine Pakete bereitstellen, sondern nur den Quellcode zum Download anbieten. Im Falle KDE sind die Distributionen so eingebunden, dass sie Zugriff zu den Quellcode Paketen eines neuen Releases bekommen bedeutend vor dem Rest der Welt (mich eingeschlossen) um Pakete rechtzeitig zum Release bereitstellen zu können.

Die Beziehung zwischen den Open Source Projekten und ihren Distributionen ist so speziell, dass sie sogar eigene Namen haben. Die Open Source Projekte bezeichnen sich als "Upstream" und die Distributionen als "Downstream". Das Projekt ist also flußaufwärts und der Quellcode strömt zur Distribution den Fluß hinunter. Patches, die von den Distributionen zurück an die Projekte fließen, wir mit "to upstream" bezeichnet.

Mir persönlich ist das Verhältnis zu den "Downstreams" sehr wichtig. Ich kenne die Paketbetreuer unserer wichtigsten Distributionen und helfe regelmäßig falls es darum geht KWin besser in die Distribution zu integrieren und Bugreports von "Downstream" werden von mir priorisiert behandelt. Genauso wie einem als Upstream die Downstreams wichtig sind, erwartet Upstream auch, dass Downstream sich um Upstream kümmert. Einer der Punkte, die einem da sehr wichtig sind, ist die Anzahl der Patches, die Upstream integriert. Von einer guten Downstream erwartet man, dass Patches geupstreamed werden. Wenn nicht stellt sich immer die Frage: warum? Hier erfolgt dann sehr oft der Vorwurf, dass Distributionen ihre Upstreams kaputt patchen.

Natürlich ist es einer Downstream erlaubt den Quellcode zu verändern und zu verbreiten. Dies ist durch die dritte Freiheit der Free Software Definition klargestellt:

The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

Wer die Open Source Welt in den letzten Tagen verfolgt hat, dem dürfte klar sein auf was ich mit meiner Einleitung hinaus wollte: dem Fall Banshee und Canonical oder verallgemeinert Upstream und Downstream. Zu dem Fall an sich will ich gar nichts mehr sagen. Das haben andere schon viel besser erledigt.

Für mich als Maintainer einer Upstream Software ist das Verhalten der Downstream aber ein sehr interessanter Fall zum Studieren und ich bin mir sicher, dass sehr viele Upstream Entwickler den Fall sehr genau betrachten und auch andere Downstreams schauen sehr genau darauf. Faktisch ist alles klar: Canonical hat durch die dritte Freiheit das Recht den Code zu ändern in welcher Art sie wollen. Ob sie es sollen ist eine andere Sache. Ich möchte hierzu den relevanten Quellcode in Banshee zitieren:

// We ask that no one change these affiliate codes. ALL (100%) revenue
// generated by these affiliate IDs is sent directly to the GNOME
// Foundation. The GNOME Foundation controls/owns these affiliate IDs.
// Please help support Free Software through the GNOME Foundation!

Ob es nun moralisch vertretbar ist, dass ein Unternehmen diesen Code ändert um selbst Profit daraus zu ziehen, muss im Endeffekt jeder selbst entscheiden. Für mich persönlich ist es befremdlich zu sehen, dass eine Downstream gegen den Wunsch des Upstream Projekts den Code ändert – auch wenn es ihr gutes Recht ist. Für mich als einer der vielen altruistisch arbeitenden Open Source Entwickler ist es noch befremdlicher zu sehen, dass das Geld eigentlich an eine gemeinnützige Organisation gehen soll. Der finanzielle Beitrag ist dabei übrigens eher marginal. Banshee bringt aktuell etwa 10.000 $ pro Jahr ein. Wir können nicht wissen wie viel Ubuntu beisteuern würde, aber meine Vermutung ist, dass es nicht viel mehr wäre. Der aktuelle Beitrag reicht vllt. um einen Entwickler einen Monat zu finanzieren oder aber um einen Sprint auszurichten. Ich überlasse die Bewertung dessen dem Leser.

Der "Skandal" ist für mich aber nicht, dass Canonical den Code geändert hat, sondern das Vorgehen. Zuerst eine Diskussion mit den Entwicklern zu starten und zwei Optionen zur Wahl zu stellen und danach einstimmig zur abgelehnten Option umzuschwanken, ist meiner Meinung nach mehr als nur schlechter Stil. Persönlich denke ich auch, dass hier das Hauptproblem ein Kommunikationsproblem von Seiten Canonicals war. Und ich meine nicht, dass überhaupt Optionen angeboten werden, wie Mark Shuttleworth es nun verteidigt hat, sondern dass man das Upstream Projekt falsch angesprochen hat.

Als Distribution muss man seine Upstreams kennen. Bei den zwei Optionen hätte es Canonical bereits im Vorfeld klar sein müssen, wie sich die Entwickler entscheiden. Canonical hätte also wissen müssen dass die gewünschte Option nicht gewählt wird und das anschließende Erzwingen stößt jeden Entwickler nur vor den Kopf. Natürlich wäre nicht zu kommunizieren genauso falsch gewesen, genauso wie zu kommunizieren, dass man das jetzt einfach so macht. Ich halte es aber für durchaus denkbar, dass man die Community so führen kann, dass sie selbst den Vorschlag zum Aufteilen der Einnahmen erbringt – wenn es unbedingt sein muss. Eine klare Aufgabe für einen Communitymanager – den Ubuntu ja hat.

Canonical hat sich mit der gesamten Geschichte einen riesigen Bärendienst erwiesen. Canonical und auch Ubuntu stehen schon länger unter genauer Beobachtung von Upstream Projekten. Immer wieder mehren sich die Vorwürfe, dass Canonical nur nimmt und nicht gibt (vgl. Diskussion zu Quellcode Beiträge zu Kernel und GNOME). Immer wieder wird auch die Art und Weise wie Canonical mit der Community umgeht kritisiert (vgl. Copyright Assignment, Ayatana, Unity). Persönlich habe ich auch schon sehr lange und intensiv mir Gedanken zu Canonical gemacht und auch immer wieder gefragt, ob Canonical überhaupt Open Source versteht. Für mich passt (leider) das aktuelle Geschehen in mein Bild von Canonical – denken viele Entwickler so, dann ist dies eine sehr gefährliche Entwicklung für Canonical. Verscherzt es sich Canonical zu stark mit allen Upstream Projekten, dann stehen sie sehr alleine dar und ob sie dafür Manpower und Kompetenz auf allen Feldern haben, ist mehr als fraglich.

Hinweis: in diesem Text fehlen viele Fußnoten. Ich habe mich aus aktuellem Anlass dazu entschlossen meine Quellen nicht anzugeben und überlasse dem Leser das Suchen der Quellen selbst. Bei der großen Anzahl von Quellen zu diesem Blogpost habe ich leider den Überblick verloren, dennoch ist es kein Plagiat, auch wenn Gedanken aus anderen Quellen übernommen worden. Dies sieht man schon daran dass alle nicht angegebenen Quellen auf Englisch sind und dieser Post auf Deutsch.

=-=-=-=-=
Powered by Blogilo

16 thoughts on “Upstream und Downstream”

  1. Ich finde Mark Shuttleworths Blogpost lesenswert:
    “We also made a mistake, I believe, as this blew up in private conversations, when a well-meaning person presented a choice to the Banshee developers, who then of course made a choice. But our position isn’t at all what was communicated. Our position is that we’ll deliver the best overall experience to users, we’ll derive services revenue from that, and we’ll share it with upstreams where we can attribute it efficiently. It wasn’t in the mandate of that person to offer a choice outside of that framework, but it was an honest mistake.”

    http://www.markshuttleworth.com/archives/611

  2. Ich finde auch die Copyright-Regelung bei Unity ist sehr abschreckend. Ich habe mir selbst auch überlegt bei Unity mitzuentwickeln, doch diese förmliche Enteignung hat mich abgeschreckt

  3. Ich mag Ubuntu und werde es weiter nutzen. Allerdings bin ich der Meinung die Upstreams sollten jetzt etwas tun, nicht erst dann, wenn Wut und Enttäuschung und ablehnende Haltung gegenüber Canonical beginnt Positionen zu verhärten und die Kreativität für Lösungen geraubt wird. Upstream sind nicht die einzigen, die Schwierigkeiten haben. Der Community geht es genau so, laut anderer Blogposts ignoriert Canonical die Fangemeine fast Vollständig. Man sollte dringen Versuchen mit Mark zu reden, die führenden Upstream und Community Member sollten sich zusammentun. Und Shuttleworth zum aktivengespräch auffordern
    Ich für meinen Teil halte alles was Canonical tut genial, nur WIE sie es tut ist meiner Meinung nach ein Problem aber eben ein lösbares.

    1. Ich für meinen Teil halte alles was Canonical tut genial, nur WIE sie es tut ist meiner Meinung nach ein Problem aber eben ein lösbares.

      Ich empfehle alles etwas distanzierter zu betrachten. Egal wie genial Canonical ist, alles ist definitiv nicht genial – das ist einfach unmöglich. Jeder macht Fehler und sie zu verblenden ist sehr gefährlich.

      Und ja, das Wie ist ein Problem, gerade bei Canonical und ich fürchte Canonical ist bereits über den Punkt, dass man es lösen kann hinaus.

      1. Glaube ich nicht. Ich habe bisher noch nicht gehört, das man versucht hätte mit Mark Shuttleworth selbst zu sprechen.
        Canonical ist eine Gewinnorientierte Firma. Wenn man versucht via Canonical mit Mark zu sprechen, wird Canonical die Filterfunktion übernehmen und das sagen, was die Firma am bessten dünkt. Ebenso wird Canonical informationen weiterleiten, von der sie Denkt das sie wichtig sind. Hier könnten viele Missverständnisse auftreten.

        Ein grosser runder Tisch, dürfte es ermöglichen, dass jeder, ob nun Mark oder Community Mitglied oder Upstream etwas vom anderen erfahren oder Lernen kann.

        Ich denke das hier dürfte auch ein Problem der fragmentierten Community sein. Es kann ja durchaus sein, das die eine oder andere Person vielleicht denkt, das die andere schon aus Gewohnheit mault und das in Wirklichkeit eh kein Problem ist.

  4. Ein paar Punkte die ich wichtig sind:
    - Ubuntu ist ein kostenloses Desktop-Betriebssystem, das von einer Firma angeboten wird mit dem Fokus auf Privatbenutzer (jedermann). Es gibt keine Enterprise-Version mit der sie Geld beschaffen können.
    Die einzigen Möglichkeiten durch das Desktop-Betriebssystem Geld zu beschaffen sind Support-Verträge, welche von Privatpersonen selten in Anspruch genommen werden oder eben solche Abzweigungen von Geld, das durch Shops oder Suchanfragen (Firefox) generiert wird.

    Canonical setzt bewusst auf die Benutzerfreundlichkeit und “nimmt” sich daher von allem das Beste, was die OpenSource Community zu bieten hat.

    Ubuntu’s Auftrag ist nicht Software zu entwickeln, sondern aus den vorhandenen Teilen ein möglichst gut bedienbares System zu machen.

    Und Canonical macht das nicht, um möglichst viel Geld zu verdienen! Da sitzt keiner der Millionen absahnt, wie in anderen (OpenSource-) Firmen. Im Gegenteil: da buttert einer freiwillig seine Millionen in das Projekt. Canonical da zu unterstellen sie seien gierig, scheint mir nicht angemessen. Canonical unterstützt mit dem Geld möglichst gut Projekte, welche dem Ziel “Linux an die Massen zu bringen” förderlich sind.

    Das Problem ist, dass da auch nur Menschen arbeiten (Linux for Human Beings) und die machen eben Fehler. Dann gibt es viele Leute, die etwas was sie nicht verstehen, als mutwillig böse abstempeln und Zoff provozieren.

    Was Canonical/Ubuntu der OpenSource Community gibt, will ich nicht gross draufeingehen. Aber mir scheint, dass durch Ubuntu Linux salonfähig geworden ist. Vor zwei, drei Jahren gab es nicht viele Möglichkeiten, einen schönen Linux-Desktop mit modernen Icons und Themes zu gestalten. Heute ist es ein Kinderspiel, x verschiedene Looks zu konfigurieren. Ich denke, dass dies u.a. dank einer grossen Ubuntu Benutzermenge so weit kam. Viele dieser Designer sind nicht Entwickler, aber sie schätzen die Einfachheit und Möglichkeiten von Ubuntu und OpenSource. Sie tragen keine Zeile Code nach Upstream und leisten doch einen sehr wichtigen Beitrag, OpenSource, Linux und Ubuntu an die Massen zu bringen!

    Liebe Grüsse
    Philipp

    1. Und Canonical macht das nicht, um möglichst viel Geld zu verdienen! Da sitzt keiner der Millionen absahnt, wie in anderen (OpenSource-) Firmen. Im Gegenteil: da buttert einer freiwillig seine Millionen in das Projekt.

      Ich glaube von der Vorstellung, dass Canonical die Weltretter sind und es Mark nicht um sein Geld geht, sollte man sich verabschieden. Natürlich hat Canonical ein rein wirtschaftliches Interesse, genauso wie jedes andere gewinnorientierte Unternehmen. Die GNOME Foundation jedoch, hat keine wirtschaftlichen Interessen, genauso wie die Mozilla Corporation keine wirtschaftlichen Interessen hat.

      1. Ich glaube nicht, das Canonical eine geldhungrige, gewinnorientierte Firma ist. Natürlich ist es eine Firma, die auch wachsen will und das läuft nunmal mit Geld. Aber ich glaube nicht dass Canonical Geld anhäufen will und übermässige Löhne und Boni an Manager auszahlen wird. Canonical dient als Firma dem Zweck, Ubuntu zu verbessern.
        Und wurde wortwörtlich aus weltverbessernder Absicht gegründet. Dies erkennt man, wenn man die Gründe von Mark Shuttleworth betrachtet und sein Engagement für eine bessere Welt. Betrachte zum Beispiel die Shuttleworth Foundation, welche Projekte aller Art unterstützt, welche explizit die Welt verbessern zum Ziel haben. http://www.shuttleworthfoundation.org/

        Ebenfalls ist es erkennbar am Namen “Ubuntu” und weiteren Projektnamen, dem Code of Conduct, den vielen Community-Förderprojekten etc.

        Dann finde ich es sehr bemerkenswert, dass sich Mark Shuttleworth nicht etwa um die Finanzen und Strategie kümmert, sondern sich im Ayatana-Projekt der Benutzerfreundlichkeit widmet.

        Kürzlich habe ich an die Ayatana Mailingliste geschrieben, wegen einem Schulprojekt. Ich war sehr erfreut, als die Antwort von Mark Shuttleworth persönlich kam. Stell dir sowas mal von einem gewinnhungrigen Microsoft, Apple, oder sonstwas “Boss” vor!

        Ich glaube, dass Canonical und Ubuntu mit den besten Absichten gegründet wurden. Was nicht heisst, dass alles das Beste ist, was sie machen, aber der Wille wäre da!

        1. ganz entscheidend: du glaubst das alles, aber du weißt es nicht. Du interpretierst sehr viel, wie den Namen, Marks Beweggründe etc. etc. Du weißt aber nicht, ob die Argumente noch stimmen oder nicht. Das kann niemand wissen außer Mark selbst. Dementsprechend ist Canonical für mich ein gewinnorientiertes Unternehmen wie jedes andere auch. Anzunehmen dass es altruistische Unternehmen gibt, ist in der heutigen Zeit leider naiv.

          1. Richtig, ich glaube es.

            Allerdings gibt es aus meiner Sicht mehr Anhaltspunkte für ein gutwilliges Ubuntu/Canonical als ein böswilliges.
            Canonical ist noch nicht mal selbsttragend!

            Klar kann man pessimistisch behaupten, es gäbe nur gewinnorientierte (böse) Unternehmen, welche nur aufs Geld aus sind. Das ist eine Unterstellung und ist mindestens genauso naiv, wie ans Gute zu glauben.

            Ja, Mitarbeiter von Canonical haben Fehler gemacht. Aber sie stehen dazu, entschuldigen sich und gehen vorwärts. Ich habe auch noch selten ein verurteilendes Wort von Ubuntu/Canonical-Seite gehört. Im Gegensatz dazu höre ich dauernd Angriffe und Verurteilungen gegen Canonical.

            Bleibt freundlich und versucht einander zu verstehen!
            PS: Erkläre nicht mit Bosheit, was auch mit Dummheit erklärt werden kann.

            1. Bitte beachte: ich habe nirgends behauptet, dass Canonical böse ist und ich stelle gewinnorientierent nicht mit böse gleich. Canonical ist ein gewinnorientiertes Unternehmen. Punkt. Nicht mehr und nicht weniger hab ich hier geschrieben. Erneut an dich den Hinweis: nicht so viel interpretieren. Du hast mir gerade sehr viel in den Mund gelegt durch deine Interpretation. Genauso interpretierst du Canonical, das ist gefährlich, da man sehr leicht daneben liegen kann.

              Ich habe hier in meinem Blogpost nicht interpretiert, sondern über Tage das Geschehen beobachten und meine Beobachtung (ohne Interpretation) in einen Blogpost umgewandelt.

              1. Sorry, ich habe zur Kenntnis genommen, dass du niemanden verurteilt hast.

                Ich habe mich auch nicht direkt auf dich bezogen, sondern wollte die Gefühle beschreiben, welche die Situation ausgelöst hat, bei unbestimmten Personen.
                Und dabei wirkt “gewinnorientiert” wie “Geldmacherei” und das wird als “böse” empfunden.

                Mit meinen Beiträgen wollte ich eventuellen Lesern auch noch ein paar Punkte zeigen. Welche für mich entscheidend sind für das Bild der Situation.

                Zum Teil habe ich die Formulierung etwas überspitzt und nicht ganz ausgewogen getroffen. Ich will nicht streiten, sondern gegenseitig den Horizont erweitern :-)

                Ich finde deinen Beitrag gut, und bin auch der Ansicht, dass die Situation nicht unheikel ist. Aber ich versuchte nicht zu wiederholen, sondern noch weitere Aspekte zu beleuchten.

    2. Interessant, soeben habe ich auch Mark Shuttleworths Statement gelesen. Und er schreibt im Generellen, genau das, was ich darüber denke.

      “Canonical seeks to earn revenue from services delivered to Ubuntu, and we will share a portion of that revenue with relevant projects who help make that possible.”

      Canonical ersucht Erträge aus Dienste, welche mit Ubuntu geliefert werden, zu ziehen, und wir werden einen Teil der Einkünfte mit relevanten Projekten teilen, welche das möglich gemacht haben”

Comments are closed.