Erfahrungsbericht von Wire

Sharing is Caring – darum ist Open Source die neue Norm
Kommentare

Firefox, Linux und WordPress machen es vor – und immer mehr ambitionierte Softwareunternehmen ziehen nach: Open-Source-Projekte sind im Trend!

Proprietäre Software ist endgültig out! Galt eigens programmierter Softwarecode einst als größtes Entwicklerheiligtum, in dessen Geheimhaltung auch Unternehmen digitale Wettbewerbsvorteile sahen, hat sich diese Einstellung gegenüber Open-Source-Software vielerorts grundlegend geändert. Gerade erst bestätigte eine von der EU initiierte Studie, dass quelloffene Software zum Innovationstreiber geworden ist und wirtschaftlichen Erfolg verspricht. Speziell in Verbindung mit Cloud-Computing seien die Chancen enorm, auch im Einsatzbereich öffentlicher Verwaltungen.

Open Innovation anstelle von geschlossener Softwareentwicklung – so soll die Devise zukünftig lauten. Und auch die Softwareriesen um Microsoft, Facebook, Google und Amazon haben den Trend erkannt und geben Teile des eigenen Quellcodes frei. Die Unternehmen profitieren dabei von weitreichenden Vorteilen, die über finanzielle Einsparungen weit hinausgehen. Ob aufstrebendes Start-up oder gestandener Konzern – Open-Source ist salonfähig geworden und findet mittlerweile in allen Bereichen Anwendung.

Go for PHP Developers

mit Terrence Ryan (google)

Everything you need to know about PHP 7.2

mit Sebastian Bergmann (thePHP.cc)

Firefox, Apache, WordPress: erfolgreich dank offener Software

Einer der wohl beliebtesten Browser weltweit, Firefox, ist nur ein Beispiel dafür, dass sich Open-Source-Projekte durchsetzen können. 1998 wurde der Quelltext der Netscape-Browsersuite öffentlich gemacht. Mit der Zeit wuchs die Gemeinschaft, die an der Weiterentwicklung beteiligt war, sodass 2004 Firefox 1.0 live ging. Schon im selben Jahr wurde der Browser über hundert Millionen Mal heruntergeladen, 2013 folgte Firefox OS, ein mobiles Betriebssystem für Smartphone und Tablets.

Eine ähnliche Erfolgsgeschichte legt OpenOffice.org hin. Als Alternative zu Programmen wie Microsoft Office wurde es 2002 unter der GNU Lesser General Public License ins Leben gerufen. Die freie und offene Bürosoftware ist heutzutage, nachdem Oracles Lizenz- und Entwicklerpolitik für Unruhe sorgte, unter dem Namen Apache OpenOffice zu finden und steht unter der Apache-Lizenz Version 2.

Fernab von Webseitenbaukästen hat sich zudem das Content-Management-System WordPress etabliert. Mittlerweile basiert jede vierte Webseite auf dem Open-Source-CMS, das unter der GNU-GPLv2+-Lizenz steht. Mit Joomla! und Drupal gibt es zwei weitere Content-Management-Systeme, die das Bearbeiten und Verbreiten der eigenen Software ermöglichen.

Abb. 1: Die Vorteile von Open Source im Überblick, Quelle: [3]

Abb. 1: Die Vorteile von Open Source im Überblick, Quelle: Mashup Communications GmbH

Transparenz bis Kostensenkung: Open-Source-Benefits im Überblick

Das professionelle Feedback der Open-Source-Community ist der offensichtlichste Vorteil, geht allerdings mit einer Reihe weiterer Benefits einher (Abb. 1):

  • Motivation und Produktivität: Die Entscheidung, Software unter eine Open-Source-Lizenz zu stellen, sorgt gleichzeitig oft für einen Motivationsschub im Entwicklerteam, ein tolles Produkt zu konzipieren und zu entwickeln.
  • Qualität: Entwickler, die an einem Open-Source-Projekt arbeiten, müssen einem hohen Qualitätsanspruch gerecht werden. Dadurch, dass die Codezeilen für jeden einsehbar sind, müssen diese auch für Dritte interpretierbar sein. Bei Updates oder Bug Fixes muss der Code erneut aufwändige Prüfprozesse durchlaufen, bevor er der Community zugänglich gemacht wird. Der Code ist dementsprechend sauberer und besser zu verstehen. Generell gelten Open-Source-Projekte zudem als sehr gut dokumentiert.
  • Sicherheit: Mit der Freigabe des Quellcodes erhalten externe Entwickler die Möglichkeit, diesen einzusehen. Dabei spielt vor allem der Sicherheitsaspekt eine wesentliche Rolle. Backdoors und andere potenzielle Sicherheitslücken können somit von den Professionals direkt entdeckt beziehungsweise behoben werden. Außerdem kann die Software schnell und einfach unabhängigen Sicherheitsaudits unterzogen werden. Diese Validierung erhöht wiederum die Vertraulichkeit der Software für Nutzer.
  • Transparenz: Open-Source-Projekte geben Aufschluss darüber, was die Nutzer schon wissen sollten: die Datenverarbeitung. Die Community ist sich somit im Klaren, was mit den eigenen, übertragenen Daten passiert, etwa ob bewusst beispielsweise Schnittstellen für Dritte implementiert wurden. Aber auch hinsichtlich der digitalen Privatsphäre eigener sensibler Daten sind verwendete Verschlüsselungsmechanismen nachvollziehbar.
  • Flexibilität: Laufende Veränderungen in den Bereichen Big Data, Internet of Things und Co. sorgen für ständig neue Impulse in der IT. Durch Offenlegung des Programmiercodes können Unternehmen anhand des Feedbacks der kundigen Community auf diese Entwicklung reagieren. Die ständige Optimierung der eigenen Software wird somit fortlaufend garantiert.
  • Demokratisierung: Quelloffener Code soll bewusst zur Diskussion anregen, bestehende Funktionalitäten hinterfragen oder Produktupdates anregen, denn auf Basis der Community entstehen Verbesserungen der eigenen Software. Dem Expertennetzwerk steht es frei, den Code zu bearbeiten und zu teilen.
  • Kosteneffizienz: Offene Software ist leistungsfähiger und skalierbarer als das proprietäre Gegenstück. Zudem entfallen die Lizenzgebühren bei der Implementierung zusätzlicher Open-Source-Software, wie beispielsweise dem Apache-HTTP-Server.
  • Dauerhaftigkeit: Dass der Code online verfügbar ist, hat den Vorteil, dass er über einen langen Zeitraum einsehbar ist. Codezeilen gehen nicht verloren und können jederzeit abgerufen werden.
  • Unabhängigkeit: Unternehmen sind nicht von Softwareanbietern abhängig und beschäftigen ihr eigenes Entwicklerteam. Das eigene interne Wissen wird bei Open-Source-Projekten um das des Expertennetzwerks erweitert.

Alle Vorteile resultieren aus der kontinuierlichen Interaktion der Open-Source-Community, daher ist es wichtig, einen stetigen, offenen Dialog zu führen.

Open-Source-Plattformen: GitHub, GitLab und Launchpad

Es gibt verschiedene Plattformen, um Open-Source-Projekte zu veröffentlichen. Die wohl bekannteste Plattform ist GitHub. Wie es der Name schon sagt, basiert der webbasierte Onlinedienst auf dem Versionsverwaltungssystem Git und erlaubt Features wie Issue Tracking und Projektmanagement. Über 57 Millionen Repositories laden die Entwicklercommunity dazu ein, Feedback zu geben. Ab 21 US-Dollar gibt es zusätzlich eine monatliche Nutzerlizenz für Unternehmen, die es erlaubt, unbegrenzte Repositories anzulegen.

Eine weitere Möglichkeit, Programmcode publik zu machen, bietet GitLab. Dort ist es zusätzlich möglich, unterschiedliche Benutzerrollen anzulegen, die mit individuellen Zugangsberechtigungen einhergehen. Zudem gibt es eine GitLab-Enterprise-Nutzerlizenz mit vielen Features für jährlich 39 US-Dollar. Auch Launchpad, gegründet von Canonical, ist ein Onlineservice, um die Entwicklung von Softwareprojekten mit der Gemeinschaft zu fördern. Überwiegend wird Launchpad aber dafür genutzt, um Ubuntu weiterzuentwickeln.

Erfahrungsbericht: plattformübergreifende Open-Source-App Wire

Schon bei der Gründung von Wire haben wir uns dafür entschieden, ein Kommunikationstool auf den Markt zu bringen, das unter Open-Source-Lizenz steht, um möglichst transparent gegenüber den Endverbrauchern zu sein. Wire ist ein Messenger für Teams und für mobile sowie stationäre Endgeräte entwickelt. Außerdem ging im Jahr 2014 die Web-App live. Uns war es wichtig, ein Kommunikationstool zu entwickeln, das die eigene Privatsphäre schützt.

Wir nutzen daher die modernste Open-Source-Verschlüsselung für alle Konversationen. Bevor wir den Programmcode öffentlich gemacht haben, mussten alle Sicherheitsfunktionen implementiert sein. Es hat viel Zeit und viel Anstrengung in Anspruch genommen, diese Funktionalitäten ausgiebig zu testen. Das war allerdings notwendig, um unsere Nutzer zu schützen, wenn sie unsere App ausprobieren.

Stand heute haben wir iOS-, Android-, Desktop- und Web-App veröffentlicht. Unsere Nutzer können ihren eigenen Client entwickeln und uns dabei gleichzeitig wertvollen Input zu Bugs, Featureideen oder der Verbesserung des Quellcodes liefern. Uns werden regelmäßig Probleme gemeldet, wobei die Mehrzahl potenzielle Erweiterungen und Produktupdates betrifft. Zusätzlich haben wir unter anderem auch die Audio-Video-Signaling-Library (AVS), unsere angepasste Implementierung des quelloffenen Axolotl-Protokolls Proteus zur Synchronisation zwischen mehreren Endgeräten, das Cryptobox-API sowie den C Wrapper Cryptobox-C veröffentlicht.

Seit April 2017 geben wir Stück für Stück Libraries der Backend-Services frei. Unser Ziel ist es, bald alle Bestandteile des Wire-Servers freizugeben. Im Dezember 2016 haben wir den ersten Ende-zu-Ende-verschlüsselten Chatbot vorgestellt. Er soll es Unternehmen ermöglichen, eigene digitale Assistenten ins Leben rufen zu können. Sobald wir die Testphase abgeschlossen haben, werden wir das Chatbot-API auch zur Verfügung stellen.

Fazit: Open Source sollte die neue Norm sein

Open Source ist kein Hexenwerk, sollte aber auch kein Schnellschuss sein. Um das eigene Softwareprojekt der Öffentlichkeit verfügbar zu machen, sollten viele interne Reviews vonstattengehen und der Code auf Sicherheit geprüft werden. Zusätzlich sollte das Projekt offen für Feedback sein, egal ob positiv oder negativ.

Diese Transparenz ist aber nicht der Hauptgrund, auf Open Source zu setzen. Darüber hinaus teilen Unternehmen auf diesem Weg auch den Erfolg anderer Softwareentwickler. Viele Firmen sehen sich denselben Herausforderungen ausgesetzt. Wenn diese den Quellcode freigeben, wird es anderen erlaubt, miteinander zu kollaborieren.

Die Optimierung des Quellcodes, die Anpassung anhand der Nutzerinteressen, die Meldung von Bugs oder sogar komplett neue Produktfeatures – die Interaktion der Community ist der größte Vorteil von Open-Source-Projekten. Dadurch sparen Unternehmen Zeit bei der Entwicklung; zusätzlich lässt sich ein Ökosystem gleichartiger Services aufbauen, bei denen der fachliche Austausch für alle Beteiligten vorteilhaft ist.

Quelloffener Programmiercode schafft so die Brücke zu IT-Talenten aus der ganzen Welt und verspricht eine rundum optimierte Softwarelösung. Open Source sollte für Unternehmen daher die neue Norm werden – nicht nur aus Transparenzgründen, sondern auch, weil die Community unentdecktes Potenzial der eigenen Software fördern kann.

PHP Magazin

Entwickler MagazinDieser Artikel ist im PHP Magazin erschienen. Das PHP Magazin deckt ein breites Spektrum an Themen ab, die für die erfolgreiche Webentwicklung unerlässlich sind.

Natürlich können Sie das PHP Magazin über den entwickler.kiosk auch digital im Browser oder auf Ihren Android- und iOS-Devices lesen. In unserem Shop ist das Entwickler Magazin ferner im Abonnement oder als Einzelheft erhältlich.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -