Closed vs. Open Source: Im Programmcode lesen

Android oder der VLC Player sind weltweit genutzte Open Source-Programme. Was genau versteckt sich aber hinter diesen Begrifflichkeiten und wie soll ich als «normaler» Nutzer damit umgehen?

Code - Open vs Closed SourceWie in meinem Studium beginne ich hier mal damit, einige Definitionen einzuführen:

  • Source Code: Der Quellcode eines Programmes. Der besteht aus verschiedenen Textdateien, welche Anweisungen in irgendeiner Programmiersprache beinhalten.
  • Open Source: Software bei denen der Source Code der Welt offen steht. Jeder darf den Code lesen, ändern oder erweitern. Die Software ist gratis, da man das Programm sowieso selbst kopieren könnte.
  • Closed Source: Mit Closed Source wird Software bezeichnet, bei der der Source Code nicht öffentlich zugänglich ist. Der Benutzer kann das Programm nur installieren und anwenden. Es sind keine Änderungen direkt im Code möglich. Die Software kann gratis sein, muss aber nicht.
  • Freeware: Freeware sagt nichts über die Zugänglichkeit des Source Codes aus. Freeware heisst einfach, die Software ist lizenzfrei und somit kostenlos und uneingeschränkt zu verwenden. Es gibt Open Source und Closed Source Freeware.

Der Entwickler, der gewöhnliche Nutzer und der Freak?

Die Vorteile können grundsätzlich aus drei Perspektiven betrachtet werden. Einerseits aus der Sicht des Entwicklers (resp. des Auftraggebers), anderseits aus der des Anwenders (entspricht dem Nutzer). Die Anwender können wiederum in zwei grobe Kategorien geteilt werden:

  • Der gewöhnliche Anwender will die Software als fertiges Produkt verwenden. Ihn interessieren Funktionsumfang, Bedienung und Kosten.
  • Der Freak-Anwender ist wahrscheinlich selbst ein Programmierer. Er hat die Fähigkeit, die Software zu verbessern.

Ganz klar, dass sich bei drei Sichten die Meinungen streuen. Da es am meisten gewöhnliche Nutzer gibt, versuche ich mich auf jene Sicht zu fokussieren.

Die soziale Open Source Software

Open Source ist sozial, und sozial findet eigentlich jeder sympathisch: Jeder darf mitarbeiten und jeder darf die Software gratis verwenden. Der Entwickler selbst steckt viel Leidenschaft und Motivation in seine Lösung. Vermutlich steht auch nicht der Gewinn im Vordergrund. Es gibt viele erfolgreiche Open Source Software für Home- wie auch für Business Anwendungen. Um einen zu erwähnen: den VLC Player, spielt beinahe jedes Format ab. (Wer den noch nicht installiert hat, hier meine klare Empfehlung).

«Offen hört sich unsicher und aufwändig an.»

Zum Thema Sicherheit in Open Source gibt es zwei Meinungen: Auf der einen Seite kann im Code gezielt nach Sicherheitslücken gesucht und jene auch ausgenützt werden. Auf der anderen Seite werden gefundene Sicherheitslücken oft gemeldet. Zudem wird der Entwickler bereits beim Schreiben gezwungen, sich Gedanken bezüglich der Sicherheit zu machen. – da ihm bewusst ist, dass der Code gelesen werden kann. Der Entwickler muss die Software meist nebst seinen Alltagspflichten entwickeln. Eine effiziente Organisation, die alle mitarbeitenden Entwickler umfasst, ist nur schwer möglich: Meist arbeiten Freiwillige auf der ganzen Welt mit.

«Die abgeschottete Closed Source ist doch nur am Gewinn interessiert!»

Hier kriegt die Welt eine Blackbox vor die Nase gestellt. Im Idealfall funktioniert alles, jedoch sieht nebst dem Entwickler niemand die genaue Funktionsweise. Änderungswünsche können nur vom Entwickler umgesetzt werden. Das hat den Vorteil, dass böswillige Menschen ein deutlich schwereres Spiel haben. Sie haben keine einfache Möglichkeit, den genauen Ablauf eines Programmes einzusehen und darin einzugreifen.

Der Nutzer muss oft für die Software bezahlen – wo bleibt da der Vorteil gegenüber kostenloser Open Source Software? Sobald Geld im Spiel ist, sind automatisch auch mehr Menschen an der Mitarbeit interessiert. Es generiert sich ein Kernteam, das oft vollzeitlich an der Software arbeiten kann. Das Kernteam hat die Möglichkeit die Software einheitlich zu planen. Der Code, wie auch die Benutzerführung ist im Idealfall einheitlich umgesetzt. Nicht von nirgendwo kommt das Sprichwort: «Zu viele Köche verderben den Brei».

Vor- und Nachteile von Open Source für Unternehmen

Gemäss einer Studie Open Source Studie Schweiz 2012 gibt es für Unternehmen verschiedene Gründe, sich für Open Source-Software zu entscheiden – Kosteneinsparungen und die Vermeidung eines Vendor Lock-ins sind nur zwei davon. Grösste Hürde allerdings ist die häufig fehlende Lieferantenhaftung.

Vorteile von Open Source (klicken zum Vergrössern)

Nachteile von Open Source (klicken zum Vergrössern)

Was wird mir jetzt empfohlen?

Wie bei so vielen Vergleichen gibt es keinen Sieger. Für viele Alltagsnutzer sind natürlich die wegfallenden Kosten bei Open Source-Software attraktiv – der Zugriff auf den eigentlichen Source Code dürfte für wenige Leute entscheidend sein. Googles Smartphone-OS Android ist ein gutes Beispiel dafür: Selbst als Programmierer will ich die die Millionen Zeilen Code überhaupt nicht sehen und noch weniger verändern. Jedoch gibt es Communities, die bewusst das sogenannte Stock Rom (die Original-Software von Google) modifizieren und ihre Version weiter anbieten. Bei jedem Update der Stock Rom müssen sie diese jedoch wieder manuell aufdatieren – es schleichen sich immer wieder Fehler ein und Performance-Einbussen sind kaum zu verhindern. Hält sich der Nutzer aber an die grossen und getesteten Versionen der Programme, lassen sich diese aber problemlos in den normalen Computeralltag einbinden.

Michael Hadorn

Michael Hadorn ist Software-Entwickler bei Blogwerk AG.

 

Schreiben Sie einen Kommentar

Wir sind sehr an einer offenen Diskussion interessiert, behalten uns aber vor, beleidigende Kommentare sowie solche, die offensichtlich zwecks Suchmaschinenoptimierung abgegeben werden, zu editieren oder zu löschen. Mehr dazu in unseren Kommentarregeln.

Pflichtfelder
OK
Bitte geben Sie Ihren Namen ein.
OK
Bitte geben Sie Ihre E-Mail-Adresse ein.
OK
Bitte geben Sie einen korrekte Website ein.
OK
Bitte geben Sie einen Kommentar ein.