Was ist Open-Source?
Open-Source ist ein Modell der dezentralisierten Produktion, das es jedem ermöglicht, Technologien zu verändern und weiterzugeben, da ihr Design öffentlich zugänglich ist. Der Begriff stammt ursprünglich aus dem Bereich der Softwareentwicklung und bedeutet, dass die Software bestimmte Kriterien für die freie Verteilung erfüllt. Heute bezeichnet der Begriff Open-Source einen breiteren Wertekanon, der auf den Prinzipien des freien Informationsaustauschs, der zeitnahen Erstellung von Prototypen und der gemeinschaftlichen Entwicklung beruht. Jeder kann neue Ideen einbringen und die Technologie weiter verbessern, sodass sie sich organisch weiterentwickelt.
Warum ist Open-Source wichtig?
Die Idee von Open-Source entstand in der Technologie-Community. Technische Innovationen brauchen globale Zusammenarbeit, um sich weiterzuentwickeln. Ein Beispiel: Ein Programmierteam in den USA entwickelt eine neue Open-Source-Technologie für eine Finanzanwendung. Ein anderes Programmierteam in Australien verändert die Technologie mit neuen Funktionen, die besser für den Gesundheitssektor geeignet sind. Ein drittes Team in Asien entwickelt dann neue Open-Source-Produkte, die die ursprüngliche Technologie als Kernkomponente verwenden.
Ein solcher Wissensaustausch und kollektive Innovationen kommen der gesamten Community zugute. Die Einschränkung der Technologie durch Patente, Urheberrechte und teure Lizenzen limitiert den Fortschritt. Viele beliebte Open-Source-Projekte haben in den letzten Jahrzehnten weltweit zu einem raschen technologischen Fortschritt geführt.
Was sind die Grundsätze von Open-Source?
Jedes Open-Source-Projekt hat die folgenden Grundprinzipien:
Community
Eine Open-Source-Community ist eine Gruppe von Menschen, die sich zusammenschließen, um ein gemeinsames Ziel zu erreichen. Ihre gemeinsamen Werte und Ziele sind der Leitfaden für die Entscheidungsfindung und fördern das Open-Source-Projekt.
Transparenz
Open-Source-Projekte ermöglichen jedem in der Community Zugriff auf die Informationen und Materialien, die er für seine Arbeit benötigt. Mit dem Bewusstsein für das Gesamtbild treffen die Teammitglieder effizientere Entscheidungen und entwickeln die Ideen und Entdeckungen der anderen weiter.
Offene Zusammenarbeit
Community-Projekte fördern die Teamarbeit, was dazu führt, dass ein Gruppe Probleme lösen kann, die ein Einzelner nicht lösen konnte. Zum Beispiel tragen die Mitglieder jeder Open-Source-Initiative dazu bei, etwas zu verbessern, was von jemand anderem entwickelt wurde. Sie können auch Regeln aufstellen, damit andere die Lösung bei Bedarf in Zukunft ändern können.
Schnelle Prototypenerstellung
Ein Open-Source-Projekt verfolgt einen iterativen Ansatz, bei dem die Teammitglieder in regelmäßigen Abständen Prototypen erstellen und austauschen. Die schnelle Prototypenerstellung fördert die Experimentation. Sie können Änderungen, die sich bewährt haben, verbessern und weiterführen und solche, die nicht funktionieren, verwerfen.
Inklusive Meritokratie
Die Open-Source-Bewegung ermutigt zu vielfältigen Perspektiven und Gesprächen. Die Community trifft ihre Entscheidungen durch Zustimmung der Mitglieder, priorisiert aber auch den Erfolg. Die besten Ideen werden von der Open-Source-Community unterstützt und gefördert.
Was sind die Funktionen von Open-Source-Software?
Die Funktionen jeder Open-Source-Software stehen in engem Zusammenhang mit den Werten der Open-Source-Bewegung.
Open-Source
Open-Source-Software muss unter einer Open-Source-Lizenz veröffentlicht werden, die bestimmte Verbreitungskriterien erfüllt, wie z. B. die folgenden:
- Keine Beschränkungen für den Verkauf oder die Weitergabe der Software als Bestandteil der gesamten Softwareverteilung
- Der Quellcode muss enthalten sein und seine Verbreitung muss erlaubt sein
- Änderungen und abgeleitete Werke müssen erlaubt sein
- Die mit dem Programm verbundenen Rechte müssen ohne Diskriminierung für alle gelten
Offenes Design
Ein offenes Design garantiert einen transparenten und offenen Vorgang bei der Entwicklung und Planung von Software. Es geht darum, dass die Community das Design der Software und die Roadmap für die Funktionen fördert. Das kann eine Herausforderung sein, denn die Zustimmung der Community zu erhalten, kann ein zeitaufwändiger Vorgang sein. Ein von der Community abgestimmter Entwurf führt jedoch zu einem besseren Produkt, das die Bedürfnisse der Benutzer besser erfüllt.
Offene Entwicklung
Eine offene Entwicklung bedeutet die Einführung integrativer und transparenter Entwicklungsvorgänge, die allen eine gleichberechtigte Teilnahme ermöglichen. Öffentlich zugängliche Services machen die Entwicklungsaktivitäten sichtbar. Bei Open-Source-Projekten werden in der Regel Standards festgelegt, in denen die Metriken, nach denen ein Beitrag bewertet wird, klar definiert sind. Dies ermöglicht es, dass alle Software-Updates gleichermaßen berücksichtigt werden, unabhängig davon, ob das Update von einem Erstautor oder einem erfahrenen Entwickler stammt.
Offene Community
Eine offene Community sorgt dafür, dass die Softwareentwicklungs-Community eine integrative Umgebung ist, in der alle Stimmen gehört werden und jeder in Führungspositionen aufsteigen kann. Die Community bringt die Bedürfnisse von Entwicklern und Benutzern in Einklang, indem sie gemeinsame Ziele festlegt und starke Verbindungen entwickelt.
Was ist Open-Source-Software?
Open-Source-Software ist Software, deren Quellcode von jedermann eingesehen, verändert und verbessert werden kann. Unter Quellcode versteht man den Teil der Software, den Computerprogrammierer bearbeiten, um die Funktionen einer Anwendung zu ändern oder neue Funktionen hinzuzufügen. Jeder, der Zugriff auf den Quellcode einer Software hat, kann die Anwendung verbessern oder anpassen, indem er ihr Funktionen hinzufügt oder vorhandene Fehler behebt. Open-Source-Software findet sich in den meisten Webanwendungen und Geräten, die heute verwendet werden. Einige Beispiele für Open-Source-Software sind Linux, ein Open-Source-Betriebssystem, und Mozilla Firefox, ein Open-Source-Internetbrowser.
Wo liegt der Unterschied zwischen Open-Source-Software und anderen Softwaretypen?
Manchmal wollen Organisationen oder Personen, die Software erstellen, diese aus Geschäftsgründen kontrollieren. Dabei behalten sie die exklusiven Eigentumsrechte am Quellcode, was bedeutet, dass nur sie den Code ändern können, um Fehler zu beheben oder neue Funktionen hinzuzufügen. Solche Software wird als proprietäre Software oder Closed-Source-Software bezeichnet. Adobe Photoshop und Norton-AntiVirus-Produkte sind Beispiele für proprietäre Software.
Open-Source-Software vs. Closed-Source-Software
Die drei Hauptunterschiede zwischen Open-Source-Software und Closed-Source- oder proprietärer Software sind:
Zuverlässigkeit
Sicherheit
Jeder Quellcode kann Sicherheitslücken aufweisen, die ihn für Cyberangriffe anfällig machen. Open-Source-Software hat jedoch den Vorteil, dass diese Lücken schneller behoben werden kann. Sobald Sie oder andere Mitglieder der Community Sicherheitslücken melden, veröffentlichen Open-Source-Projekte innerhalb von ein oder zwei Tagen ein Code-Update. Wenn kommerzielle Unternehmen Open-Source-Software entwickeln, führt die hohe Sichtbarkeit dazu, dass Probleme dringend behoben werden müssen, und kann sogar zu besserer Originalsoftware führen.
Im Gegensatz dazu hat proprietäre Software aus diesen Gründen längere Aktualisierungszyklen:
- Der Anbieter hat möglicherweise weniger Mitarbeiter, die an einem bestimmten Projekt arbeiten.
- Der Anbieter kann finanziellen Erwägungen Vorrang vor Sicherheitsmängeln geben.
- Der Hersteller kann die Veröffentlichung des Sicherheitsupdates verzögern, weil er es vorzieht, mehrere Änderungen zu bündeln und sie auf einmal zu veröffentlichen.
Lizenzen
- Änderung des Quellcodes für persönliche Projekte.
- Wiederverteilung des geänderten Codes, wenn die Benutzer es weiterhin anderen ermöglichen, ihre Änderungen einzusehen.
Welche Arten von Open-Source-Softwarelizenzen gibt es?
Obwohl eine Open-Source-Lizenz weniger restriktiv ist als eine proprietäre Lizenz, sind Umfang und Reichweite der Berechtigungen je nach Typ unterschiedlich. Im Folgenden sind einige gängige Arten von Open-Source-Lizenzen aufgeführt.
Lizenz der öffentlichen Domäne
Die Lizenz für die öffentliche Domäne besagt, dass jeder die Software ohne Einschränkungen verändern, benutzen oder vermarkten kann. In den meisten Fällen haben die Urheber von Open-Source-Software in der öffentlichen Domäne absichtlich oder freiwillig darauf verzichtet, die Software urheberrechtlich zu schützen.
Permissive Lizenz
Permissive Open-Source-Lizenzen enthalten minimale Anforderungen an die Art und Weise, wie Sie die Software verändern oder weitergeben dürfen. Einige Beispiele für diesen Lizenztyp sind die Apache-Lizenz und die Berkeley Source Distribution (BSD)-Lizenz. Obwohl die Originalsoftware urheberrechtlich geschützt und Open-Source ist, können die Benutzer modifizierte Versionen kommerziell nutzen und weitergeben.
Lesser General Public License (Lizenz für das weniger allgemeine Publikum)
Die Lesser General Public License (LGPL) erlaubt es Ihnen, Open-Source-Komponenten ohne Einschränkungen zu verwenden. Der Zugriff auf diese Komponenten erfolgt häufig in Form von Code-Modulen, den so genannten Bibliotheken, die Sie in Ihren Code einfügen und verwenden können. Wenn Sie LGPL-Quellcode in Ihrer Anwendung verwenden, können Sie die Anwendung kommerziell nutzen. Wenn Sie jedoch den bestehenden LGPL-Code ändern, müssen Sie ihn erneut unter derselben Lizenz verbreiten.
Copyleft-Lizenzen
- Wenn Sie Open-Source-Komponenten unter Copyleft verändern, müssen Sie den gesamten neuen Quellcode zusammen mit Ihrer Anwendung veröffentlichen. Dies ist jedoch nicht erforderlich, wenn Sie die Anwendung nur intern verwenden und sie nicht für die Öffentlichkeit freigeben.
- Sie können Ihre GPL-Änderungen verkaufen, aber der Käufer kann sie weiter verbreiten, wenn er will.
- Sie müssen alle früheren Codeautoren in der Copyright-Erklärung Ihres neuen Codes erwähnen.
Wer reguliert Open-Source-Software?
Die Open-Source-Initiative (OSI) ist eine globale, gemeinnützige Organisation, die über alle Arten von Open-Source-Software aufklärt und sich für sie einsetzt. Als Normungsgremium verwaltet sie die Open-Source-Definition, ein Dokument, das die Bedingungen, die jede Software zu Open-Source machen, rechtlich definiert.
Wenn Sie die Open-Source-Definition der Organisation befolgen, erhalten Sie die von der OSI genehmigte Lizenzmarke. Das Markenzeichen schafft Vertrauen und ermutigt andere, mitzumachen und mit Ihnen zusammenzuarbeiten. Die OSI führt eine Liste der genehmigten Lizenzen und genehmigt neue Lizenzen in der Open-Source Community. Sie regelt auch die Anforderungen an offene Standards für Software.
Was sind offene Standards?
Offene Standards sind Regeln für die Softwareentwicklung, die die Einheitlichkeit und Interoperabilität von Technologien unterstützen. Sie sind frei für die Implementierung, Übernahme und Aktualisierung verfügbar. Dadurch machen sie viele Dinge des täglichen Lebens angenehmer und bequemer.
Beispielsweise wird durch die Standards ermöglicht, dass alle Arten von Geräten mit allen Arten von drahtlosen Routern verbunden werden können. Sie können Ihren Laptop benutzen, um von zu Hause oder von Ihrem Lieblingscafé aus ins Internet zu gehen, egal welchen Router sie benutzen. Ohne Standards müssten Sie ein Café mit einem Router finden, der mit Ihrem Laptop kompatibel ist!
Open-Source vs. offene Standards
Standards sind die Regeln, Richtlinien und Spezifikationen für das Schreiben bestimmter Arten von Quellcode – nicht der Code selbst. Software-Standards müssen bestimmten Regeln folgen, um als Open-Source eingestuft zu werden. Instances, die für die Umsetzung bestimmter Standards proprietäre Technologien benötigen, sind nicht Open-Source-Instances.
Warum gibt es kommerzielle Versionen von Open-Source-Software?
Entwickler und andere Unternehmen haben viele Open-Source-Projekte durch den Verkauf von Add-ons, wie z. B. Analytik- oder Sicherheitsfunktionen, die für größere Unternehmen interessant sind, profitabel gemacht. Private Unternehmen können alle Software in der öffentlichen Domäne vermarkten, indem sie solche Open-Source-Programme in ihren Anwendungscode aufnehmen. Sie können auch verschiedene Versionen der gleichen Software unter verschiedenen Lizenzen herausgeben.
Ein Beispiel: Ein Unternehmen veröffentlicht ein Datenbankmanagementsystem sowohl unter der General Public License (GPL) als auch unter einer proprietären Lizenz. Alle können die GPL-Version für die Softwareentwicklung benutzen, solange sie den neuen Code als Open-Source zur Verfügung stellen. Im Gegensatz dazu bietet die proprietäre Version zusätzliche Software-Services, wie z. B.:
- Ein vollständig verwalteter Datenbankservice
- Ein Backup-Service für Unternehmen
- Zusätzliche Sicherheitsverschlüsselung
Sind Open-Source-Software und kostenlose Software dasselbe?
Der Begriff kostenlose Software bezieht sich auf eine soziale Bewegung, die auch als Bewegung für kostenlose Software bezeichnet wird. Das Ziel dieser Bewegung ist es, bestimmte Freiheiten für Software-Benutzer zu erhalten und zu garantieren. Diese Bewegung setzt sich dafür ein, dass die Benutzer Folgendes tun können:
- Die Software ausführen.
- Die Software studieren.
- Die Software verändern.
- Kopien der Software weitergeben.
Open-Source-Software vs. kostenlose Software
Heute bezieht sich der Begriff „kostenlose Software“ auf Open-Source-Lizenzen in der öffentlichen Domäne. Open-Source-Software umfasst jetzt mehr Lizenztypen und kann den Benutzern im Gegensatz zur Bewegung für kostenlose Software einige Einschränkungen vorschreiben. Da die Begriffe Freeware und kostenlose Software austauschbar verwendet werden, ist es besser, von „kostenlose Software“ als von „Software der öffentlichen Domäne“ zu sprechen.
Open-Source-Software vs. Freeware
Der Begriff Freeware bezeichnet einfach ein ansonsten kommerzielles Produkt, das für eine begrenzte Zeit kostenlos erhältlich ist. Bei Freeware kann es sich auch um kostenlose Testprogramme oder Versionen mit eingeschränkten Funktionen eines Produkts, für das ansonsten Abonnementgebühren anfallen, handeln. Selbst wenn Sie Zugriff auf Freeware erhalten, haben Sie nicht das Recht, diese weiterzuverkaufen, weiterzugeben oder in irgendeiner Weise zu verändern.
Wie trägt AWS zur Open-Source-Software bei?
Wir von AWS glauben, dass Open-Source allen zugute kommt. Wir möchten unseren Kunden den Wert von Open-Source vermitteln, und den Open-Source-Communitys die operative Exzellenz von AWS nahebringen. AWS-Ingenieure entwickeln regelmäßig Open-Source-Software und tragen zu Tausenden von Open-Source-Communitys auf GitHub, Apache, der Linux Foundation und anderen bei. Im Folgenden finden Sie einige Beispiele dafür, wie wir Open-Source unterstützen:
- Wir haben hart gearbeitet, damit Kunden ihre bevorzugte Open-Source-Software in der Cloud bereitstellen und einsetzen können. AWS unterstützt eine breitere Auswahl von Open-Source-Technologien als andere Cloud-Anbieter.
- Wir haben mehrere langfristige Projekte in der Open-Source-Community. Wir tragen kontinuierlich zu Fehlerbehebungen, Sicherheit, Skalierbarkeit, Leistung und Funktionserweiterungen zu diesen Projekten bei.
- Wir arbeiten eng mit führenden Open-Source-Unternehmen zusammen – von HashiCorp über MongoDB und Confluent bis hin zu Red Hat – und helfen ihnen, die Erwartungen ihrer Kunden zu übertreffen.
Erfahren Sie mehr über unsere Open-Source-Projekte unter Open-Source bei AWS, oder entdecken Sie mehr als 1 200 von Amazon geführte Open-Source-Projekte auf GitHub.
Legen Sie sofort mit Open-Source in AWS los, indem Sie noch heute ein kostenloses Konto erstellen.
Nächste Schritte auf AWS
Schauen Sie sich das kostenlose Kontingent für AWS-Services an
Beginnen Sie mit der Entwicklung mit AWS in der AWS-Managementkonsole.