Es ist nicht unsere Aufgabe die Zukunft vorauszusehen, sondern sie zu ermöglichen
Antoine de Saint-Exupéry
 Français  English  Deutsch

Open-source, ein Kompetitivitäts Faktor

Kurzfassung

Dieser Artikel entstand nach dem Veranstaltung der London Financial Python Users Group vom 17. Oktober 2012. Dennis Pilsworth, Chief Technical Officer von AHL der MAN-Gruppe hatte als Hauptredner die Teilnehmer aufgefordert für die Open-Source Projekte zu spenden um das IT-Öko-System zu pflegen in dem die Finanzgesellschaften leben. Ich lege hiermit meine Sicht dieser Empfehlung dar.

Systemisch, gibt es einen Wettbewerb zwischen den Teilnehmern, aber auch zwischen Systemen. Und ein Teilnehmer kann nur hoffen zu gewinnen wenn das System in dem er operiert, im Wettbewerb der Systeme besteht !

Und deswegen ist es wichtig die Open-Source Software-Entwickler zu unterstützen. Das kann zum Beispiel, falls von Ihnen benutzt, die Programmiersprache Python betreffen oder ein auf Python basierendes Tool wie Panda (das auch in dieser Veranstaltung diskutiert wurde).

Wenn Sie für ein für Ihre Institution wichtiges Open-Source Projekt spenden, ist es eine aktive Beeinflussung des direkten IT-Umfelds Ihrer Institution ! Für ein bestimmtes Open-Source Projekt zu spenden ist eine Stimmabgabe.

Und Sie werden hier eine Diskussion über eine rationelle Spenden Strategie finden

Open-Source simply works better

Der Kontext

Grosse Investment-Banken benutzen Open-Source Systeme massiv. Zwei Beispiele:

  • Goldman-Sachs benutzt für Computer-Trading die Programmiersprache Erlang. Erlang ist Open-Source.
  • JP Morgan benutzt fast ausschliesslich die Programmiersprache Python für die gesamte Bank. Python ist Open-Source und wird auch von Organisationen wie die Nasa oder Google als strategisches Tool benutzt

Bill Gates bringt Open-Source mit Kommunismus in Verbindung: Sind Investment-Banker und Hedge-Fund Manager versteckte Kommunisten ?

Noch erstaunlicher, Regierungen und Verwaltungen, einschliesslich sozialistischer oder sozial-demokratischer Regierungen, haben eine natürliche Tendenz proprietäre Software einzusetzen.

Investment-Banken sind kein Hort versteckter Kommunisten: Sie benutzen eine effiziente Alternative zu kommerziellen Softwares. Dass keine Lizenzgebühren zu zahlen sind ist nicht der Hauptvorteil. Wichtig sind die mit der Logik des Open-Source Ökosystems verbundenen Vorteile !

'Open-Source' Tools sind freie Programme, es ist ein Programm dass sie wie Sie es wollen benutzen, studieren und abändern können. Der Null-Kaufpreis ist oft irrelevant gegenüber anderen Aspekten. Wichtig sind die Möglichkeit

  • die interne Logik des Programs zu studieren, womit der Programmierer seine Kompetenzen verbessern kann,
  • das Produkt besser und schneller verstehen zu können, und schliesslich
  • Fehler schnell beseitigen zu können, und sei es nur provisorisch. Wenn Sie und Ihre Mitarbeiter jemals wochenlang auf ein "Patch" für einen von Ihnen dokumentierten, blockierenden Fehler gewartet haben, wissen Sie wovon ich rede.

Spenden: Wieviel und für welches Projekt ?

Falls das Prinzip für Open-Source zu spenden festgelegt wird, bleibt die Frage der praktischen Umsetzung. Anbei ein Vorschlag und einige Kriterien

Spenden Sie auf einer jährlichen Basis. Zögern Sie nicht einen vom IT-Direktor unterschriebenen Brief zu verschicken indem Sie festhalten wieviel und warum Sie spenden, was Sie am Projekt mögen und welche Verbesserungen Sie sich wünschen. Und natürlich spenden Sie für Projekte deren Tools Sie benutzen oder fördern möchten !

Sie spenden für die Entwickler, Sie spenden nicht für Marketing, die Rechtsabteilung oder Profite. Und so könnten Sie eine Spende von ca 10% des Verkaufs- und Maintenance-Preis des vergleichbaren kommerziellen Produktes ins Auge fassen. Ein Arbeitsplatz für einen Programmierer kostet leicht 5.000$, 10% davon wären 500$ pro Mitarbeiter. Aber es ist **Ihre** Entscheidung

Eine andere Referenz sind die Löhne und Gehälter der Programmierer. Zumindest in der Finanzindustrie sind Kosten von 100.000€ pro Jahr häufig. Wenn Sie Urlaub und Lohnnebenkosten berücksichtigen, berechnet sich ein Kostenpunkt von ca 500€ pro Tag. Das ist eine interessante Referenz wenn Sie Ihre eventuelle Spendenpolitik festlegen

Wer Zugriff auf den Quellcode hat, kontrolliert das Produkt. Er braucht den Entwickler nicht mehr, zumindest im Prinzip. Was auch erklärt dass Open-Source Programme typischerweise frei erhältlich sind. Wenn Sie den Quellcode aus der Hand geben, können Sie keine Lizenzgebühren durchsetzen. Obwohl prinzipiell, Open-Source und keine Lizenzgebühren zwei verschiedene Sachen sind.

Wobei eine andere Frage fällig wird: Warum sollte ein "vernünftiger" Programmierer sein System verschenken ?

Warum gibt es Open-Source?

Viele Entscheider scheuen mit gutem Grund Geschäfte deren Rationalität für die Gegenseite sie nicht verstehen.

Obwohl die Benutzung von Open-Source allgemein akzeptiert ist, stelle ich fest dass viele Manager sich nach wie vor nicht mit Open-Source angefreundet haben, und zwar wegen vermeintlicher Intransparenz.

Wir werden jetzt Open-Source aus der Perspektive des Programmierers analysieren. Und für die hat Open-Source auch durchaus Vorteile:

Marketing

Vorab, viele Open-Source Entwickler bieten Beratungsdienste für ihre Produkte an.

Software oder Softwaredienste zu verschenken oder sehr billig anzubieten ist aber auch eine übliche Marketing Strategie. Das erlaubt einem (relativ) schwachen Anbieter den Markt zu überfluten.

Microsoft hat ähnliche Strategien mehrfach benutzt. Microsoft hat ganz am Anfang eine sehr restriktive Politik in Sachen Copyright praktiziert. Jedoch schwächte Bill Gates diese Politik in den Jahren explosiven Wachstums ab, insbesondere während der heissen Schlacht mit Lotus und Wordperfect in der DOS Welt. Bill Gates wusste dass Benutzer ohne Lizenz Kunden werden würden. Und dass Microsoft diese User zum damaligen Zeitpunkt bei der Installation und der Inbetriebnahme dieser nicht lizenzierten Software natürlich nicht unterstützen musste.

Es gibt etliche andere Beispiele, denken Sie nur an die Produkt-Bündlungs-Strategie bezüglich von Internet-Explorer (als Gratis-Zugabe für Windows), Office (entstanden aus den Produkten Word, Excel und Powerpoint),... und die de-facto sehr grossen Preisreduzierungen.

Google startete auch als eine fast altruistische Konstruktion die ohne Einnahmen funktionnierte.

Eric Schmidt, langjähriger General Manager von Google, war nicht Mitglied der Mannschaft die Google aus der Taufe hob. Software-Engineering und Marketing entsprechen zwei sehr unterschiedlichen Kulturen. Die Idee ist es die Ingenieure das Produkt entwickeln zu lassen, den Markt zu beobachten und später zu erkunden wie Umsatz erwirtschaftet werden kann.

Die Strategie von Google ist typisch. Sie erklärt sich dadurch dass der Betrieb einer weltweit operierenden Marketing-Abteilung hohe Kosten generiert, welche öfter höher sind als die Kosten der Entwicklung des Produktes. Warum sollte man also nicht die Kosten der Verkaufsabteilung und der Rechts-Abeteilung sparen und dem Kunden erste Produkte gratis zur Verfügung stellen ?

Viele kleinere Gesellschaften verfolgten und verfolgen nach wie vor eine ähnliche Strategie. Natürlich sind diese Strategien nicht so radikal wie eine Lizenz ohne Gebühr zu vergeben; sie dokumentieren jedoch dass Preiskriege in der Software Welt gang und gäbe sind.

Bug Fixing, neue Funktionalitäten

Es ist üblich dass Open-Source Entwickler Bug-Fixes und zusätzliche Funktionalitäten für ihre Produkte von Benutzern erhalten. Das reduziert nicht nur die Entwicklungs-Kosten und -Zeiten sondern führt dem Team auch zusätzliches Know-How zu.

Qualität der Software, Termindruck

Typischerweise, starten Open-Source Projekte mit hohen Qualitätsansprüchen. Viele Programmierer haben eine Künstlerseele ! Da Geld in diesem Zusammenhang nicht so wichtig ist ;) , sind zeitliche Planungen weniger wichtig als das eigentliche Produkt, und so wird das Gewicht viel mehr auf Qualität und die damit einhergehende Ästhetik gelegt.

Und natürlich profitieren Gesellschaften die die Software benutzen von dieser Qualitätsorientierung

Open-Source aus historischer Perspektive

Google hat verschiedene Programmierer, die in der Python-Entwicklung impliziert sind, angeheuert, insbesondere Guido van Rossum, der Schöpfer von Python, Alex Martelli und Greg Stein

IBM und Xerox haben eine ähnliche Tradition. Erinnern wir an Benoît Mandelbrot der die Fraktaltheory bei IBM entwickelte, und an Charles Simonyi, den Erfinder der "hungarian notation", der in Xerox Parc arbeitete bevor er zu Microsoft kam.

Könige haben oft bei Hof Wissenschaftler, Künstler und Philosophen empfangen. Ziel war es ihr Leben zu verschönern und auch dank deren Hilfe besser im Leben bestehen zu können. Man denke an die Karrieren von Voltaire, Archimedes, Michelangelo, Leonardo Da Vinci und andere

Unter untersciedlichen Formen ist Sponsoring während der Geschichte der Menscheit immer wieder praktiziert worden.

Spenden ist auswählen

Open-Source ist ein Beispiel der Tragik der Allmende wie wir es aus der Spieltheorie kennen. Wenn niemand spendet, zerfällt das Ökosystem (typischerweise mangels Maintenance). Natürlich ist zumindest im Prinzip jeder Teilnehmer besser gestellt, wenn andere Teilnehmer die Finanzierung seiner Open-Source Projekte übernehmen.

Argumentation die in diesem Fall nur begrenzt richtig ist, da die Spenden sehr klein im Verhältnis zum Einsatz sind. Wobei der Einsatz in etwa dem Kostenaufwand entspricht der nötig wäre, um die für Ihr Haus entwickelten Programme innerhalb 5 bis 10 Jahre neu zu entwickeln.

Durch das Sponsern von Entwicklern deren Software Ihre Gesellschaft intensiv benutzt, erhalten Sie einen sparsamen Weg Ihre Sicht der Dinge einzubringen und Sie helfen eines der Ökosysteme, in dem Ihre Gesellschafft operiert, zu beleben.

Und natürlich Sie können auch direkt von Ihrer Spende profitieren indem Sie Ihre Firma gegenüber für Ihre Firma relevanten Aktoren positionnieren

PS: Mein Dank an Didrik Pinte von Enthought und Richard Gomes von JQuantLib für ihre interessanten Beiträge