WikiDer > Open-Source-Software
Quelloffene Software (manchmal auch Quelloffene Software) ist Computer Software von denen der Benutzer zusätzlich zum Benutzer die Lizenz hat, Entwickler zu sein. Infolgedessen ist die Freigabe der Quellcode Teil der Lizenz. Dies gibt Benutzern die Möglichkeit, Software studieren, anpassen, verbessern, verteilen oder verkaufen. Die Entwicklung von Open-Source-Software erfolgt oft auf öffentliche und kollaborative Weise durch die Zusammenarbeit einzelner Programmierer sowie Regierungen und Unternehmen. Open-Source-Software ist auch die bekannteste Entwicklung in der Open-Source-Bewegung.
Situation
Ein Computerprogramm besteht normalerweise aus zwei Teilen: dem Software dass ein Computer laufen kann (die zusammengestelltausführbar) und der 'Quellcode“, mit dem diese Software erstellt wird. Der Quellcode ist für die Funktion der Software nicht erforderlich, nur die ausführbare Datei wird dafür benötigt. Wenn jemand eine Software ändern möchte, muss er den Quellcode haben, ihn ändern und dann kompilieren. Anschließend wird eine neue Version der Software erstellt.
Eine Community ist Teil der meisten Open-Source-Softwareprojekte. Der Erfolg eines solchen Projekts lässt sich oft an der Aktivität und Größe der Community messen.
Die Basis

Die Entwicklungsmethode, die Eric S. Raymond beschrieben wird, dass der Quellcode der Software zur Verfügung gestellt wird. Dies schafft die Möglichkeit, ein Programm von jedem zu ändern, der die Kenntnisse hat, den Quellcode zu verstehen. Dies orientiert sich im Wesentlichen an der Praxis der ersten (Hochschul-)Informatiker, die (von Beginn des Datenaustauschs über z ARPANET) wollten sich bei der Nutzung der (damals neuen) Computer gegenseitig helfen.
Geschichte
Obwohl die Open-Source-Bewegung unter diesem Namen (Open-Source-Bewegung) 1998 gegründet, ähneln die Ziele der Bewegung weitgehend denen der Free Software Foundation, und das Konzept der offenen Zusammenarbeit mit frei verfügbarem Quellcode ist viel älter.
In den 1960er Jahren, als die ersten kommerziellen Großrechner unter anderem von IBM, eine kostenlose Software wurde mitgeliefert. 'Kostenlos' bedeutet, dass es unter den Benutzern geteilt werden kann. Auch der Quellcode wurde eingebunden und die Software konnte so verbessert und angepasst werden. Dies änderte sich jedoch in den 1970er Jahren: Benutzer durften diese Art von Software in der Regel nicht mehr entwickeln oder teilen. Teilweise als Reaktion darauf entwickelten in den späten 1970er und frühen 1980er Jahren verschiedene Gruppen und Hacker freie Betriebssysteme, wie z GNU und FreeBSD.
Richard Stallman, ein ehemaliger Programmierer im Labor für künstliche Intelligenz von MIT an der US-Ostküste startete es GNU-Projekt und gegründet am 4. Oktober 1985 de Free Software Foundation ("Free Software Foundation"). Das ultimative Ziel war es, ein freies Betriebssystem zu erstellen. Sozusagen ein kostenloser Klon des geschlossenen Betriebssystems Unix. Der Name GNU ist a rekursives Akronym was für "GNU's Not Unix!" steht. Darüber hinaus ist als Rechtsinstrument die GNU General Public License entworfen, um GNU frei zu halten und die freie Software zu fördern. Stallman schrieb auch die GNU-Manifest,[1] in dem er argumentiert, dass die Verfügbarkeit des Quellcodes und die Freiheit, ihn weiterzugeben und zu ändern Grundrechte sein.
Gleichzeitig in der Forschungsgruppe Informatik der at University of California in Berkeley arbeitete an einer Verbesserung des Unix-Systems und der Anwendungen, die bald als "BSD Unix". BSD steht hier für Berkeley Software Distribution. Das Projekt wurde gefördert von DARPAVerträge und unterstützt von Unix-Hackern weltweit. Es wurde Ende der 1980er Jahre unter BSD-Lizenz vertrieben, nachdem die Software nur innerhalb der Unix-Community veröffentlicht wurde AT&TLizenznehmer vorhanden war. BSD-Unix-Benutzer hingegen benötigten eine AT&T-Lizenz für ein brauchbares System.
In den 1980er und 1990er Jahren wurde die Entwicklung des Open-Source-Konzepts fortgesetzt. Durch die Verwendung von USENET und Internet Es wurde möglich, die Bemühungen von Hackern und Programmierern in anderen Teilen der Welt zu koordinieren. Langsam aber sicher konnten viele verschiedene Software auf dem Unix-Betriebssystem gebaut werden. Es war höchste Zeit für Veränderungen und sie kamen 1991 und 1992.
Bill Jolitz in Kalifornien die fehlenden Teile des Betriebssystems von BSD Net/2 erkannt und zum Laufen gebracht Intel 80386Maschinen. Es hat auch funktioniert Kernel. Dieses Engagement wurde innerhalb der BSD- und Unix-Communitys sehr geschätzt. Es wurde unter der BSD-Lizenz vertrieben, was es sofort zur freien Software machte.
Linus Torvalds, ein Informatikstudent aus Finnland, realisierte die ersten Versionen des first LinuxKernel. Immer mehr Leute arbeiteten schließlich zusammen, um den Kernel weiter zu verbessern und Dienstprogramme hinzuzufügen, um ein echtes Betriebssystem, GNU/Linux6, zu vervollständigen. 1993 waren sowohl 386BSD als auch GNU/Linux6 ziemlich stabile Plattformen. In den 1990er Jahren wurden viele Open-Source-Projekte mit einer großen Menge nützlicher und hochwertiger Software verfügbar, wie z Apache, GNOME, K THE und Mozilla. GNOME und KDE waren besonders beliebt, weil sie für Personen mit weniger technischen Kenntnissen zugänglich waren. GNU/Linux und BSD begannen sich als echte Alternativen zu proprietären Systemen zu entwickeln.[2]
1998 wurde der Quellcode von Netscape Communicator veröffentlicht. So entstand aus einer Strategiesitzung am 3. Februar 1998 in Palo Alto der Begriff „Open Source“. Anwesend waren Todd Anderson und Chris Peterson (Foresight-Institut), John „Maddog“ Hall und Larry Augustin (Linux International), Sam Ockman (Silicon Valley Linux User Group), Micheal Tiemann und Eric Raymond. Zuvor war Raymond von Netscape eingeladen worden, die Veröffentlichung des Quellcodes von Netscape Communicator zu planen. Die Mitglieder der Strategiesitzung nutzten die Veröffentlichung des Quellcodes, um sich von dem, was sie als ideologische und konfrontative Konnotationen des Begriffs ansehen, zu befreien Gratis Software. Sie dachten über eine Taktik und ein neues Label nach. Open Source, mitgestaltet von Peterson, war das Beste, was mir in den Sinn kam. In der folgenden Woche wurde viel harte Arbeit geleistet, um den Begriff zu verbreiten. Am 8. Februar machte Raymond den ersten öffentlichen Aufruf an die Gemeinde, den neuen Begriff zu verwenden. Die Gründung der Open-Source-Initiative folgte kurz darauf. Am 8. April billigte der Free Software Summit von Tim O'Reilly die Entscheidung, die Verwendung des Begriffs "Open Source" zu fördern und die neue Rhetorik pragmatischer und marktfreundlicher Richtlinien von Raymond zu übernehmen.[3]
Dies war der Ausgangspunkt für viele große Unternehmen, Open-Source-Software einzuführen. Ebenso haben die Medien inzwischen begonnen, der bisher am Rande liegenden Open-Source-Bewegung mehr Aufmerksamkeit zu schenken, die heute nicht nur Einzelpersonen und gemeinnützige Organisationen, sondern auch kleine und mittlere Unternehmen umfasst.
Anfang der 2000er Jahre hatte eine Reihe von Unternehmen damit begonnen, einen Teil ihres Quellcodes zu veröffentlichen, um zu beweisen, dass sie an der Open Source Phänomen, während die wichtigen Teile für sich behalten. Dies führte zur Entwicklung der heute weltweit verwendeten Begriffe Kostenlose Open-Source-Software und Kommerzielle Open-Source-Software zwischen vollständig offenen und halboffenen Formen unterscheiden Open Source.
Open-Source-Definition
Auf der Grundlage der Open-Source-Definition (Definition von Open Source, OSD) die Open Source Initiative (OSI) bestimmt, ob eine Softwarelizenz qualifiziert Open Source verdient. Die Definition basiert auf der Debian-Richtlinien für freie Software. Beide sind geschrieben und angepasst von Bruce Perens.
Entwicklungsphilosophie
Eric S. Raymond präsentierte in dem von ihm verfassten Aufsatz Die Kathedrale und der Basar[4] ein Modell für die Entwicklung von Open-Source-Software, das als Basar bekannt ist. Diese Theorie beschreibt, wie Software im Basarstil entwickelt würde. In seinen Worten: "Ein großartiger Basar mit verschiedenen Agenden und Ansätzen."
Die traditionelle Entwicklungsweise, die Kathedrale, ist eher zentralisiert. Darin sind Rollen und Aufgaben in der Entwicklung klar unterteilt. Traditionelles Software-Engineering folgt dem Dom-Modell. Softwareentwickler Frederick P. Brooks plädiert in seinem Buch Der mythische Mann-Monat, für das Dommodell.[Quelle?] Er führt dies weiter, indem er für die Bewahrung der Integrität des Systems plädiert. Die Systemauslegung sollte von möglichst wenigen Architekten durchgeführt werden.
Das Basarmodell hingegen hat keine spezifischen Rollen. Gregorio Robles schrieb, dass Software, die nach dem Basar-Modell entwickelt wurde, folgenden Mustern folgen sollte:[5]
- Benutzer sollten als Mitentwickler behandelt werden
- Die Nutzer sollen als Mitentwickler behandelt werden und auch Zugang zum Quellcode der Software erhalten. Sie können zur Verbesserung der Software beitragen. Nach Linus' Gesetz sind alle Probleme in der Software zu finden und das System kann optimal getestet und weiterentwickelt werden.
- Frühe Veröffentlichungen
- Das erste Release sollte so früh wie möglich veröffentlicht werden, um Co-Entwickler so schnell wie möglich einzubeziehen.
- Regelmäßige Integration
- Geänderter Code sollte möglichst bald in eine gemeinsame Codedatenbank integriert werden, um Codeprobleme am Ende des Projekts nicht zu lösen. Dies ist bei einigen Open-Source-Software bereits der Fall.
- Verschiedene Versionen
- Es sollten mindestens zwei Versionen eines Softwarepakets vorhanden sein. Eine stabile Version mit eingeschränkter Funktionalität und eine weniger stabile Version mit mehr oder besserer Funktionalität. Die instabile Version oder Entwicklungsversion (auch Beta genannt) ist für Benutzer gedacht, die die neuesten Funktionen haben möchten und bereit sind, das Risiko einzugehen, mit Software zu arbeiten, die noch nicht gründlich getestet wurde. Nutzer sind auf diese Weise auch Mitentwickler, indem sie Feedback zur Software geben.
- Modularisierung
- Der generelle Aufbau der Software sollte modulweise programmiert werden, damit Entwicklungen an verschiedenen Komponenten gleichzeitig durchgeführt werden können
- Dynamische Entscheidungsstruktur
- Ob formell oder informell, es sollte eine Entscheidungsstruktur geben. Es sollte strategische Entscheidungen in Abhängigkeit von sich ändernden Benutzeranforderungen und anderen Faktoren treffen.
Entwicklung
Die Mitarbeiterstruktur unterscheidet sich deutlich von der klassischen Unternehmensstruktur. Anstelle eines einzelnen Unternehmens, das das Projekt unterstützt, handelt es sich in der Regel um eine Kombination aus Gruppen, Einzelpersonen und möglicherweise Unternehmen.[6] Dies hat einige Konsequenzen:
- Es gibt in der Regel keine vorgefertigten Zeitpläne, die Entwickler Arbeit an dem Teil, an dem sie lieber arbeiten, und niemand ist zur Arbeit verpflichtet.[7]
- Über die endgültige Funktionalität etc. des Programms wird gemeinsam ein Konsens erzielt. Es gibt kein Management, das entscheidet, was letztendlich hereinkommt oder nicht kommt.[8]
- Die Grenze zwischen Design und Umsetzung ist verwischt: Der Designer setzt um und umgekehrt.[7]
Ein Großteil der Programmierung wird auch von Außenstehenden durchgeführt und kontrolliert. Jeder kann zum Code beitragen. Anstatt auf den Abschluss des Programms zu warten, während der Entwicklung er Testversionen des Programms veröffentlicht. So kann es bereits vor der eigentlichen Fertigstellung von Anwendern getestet werden. Dies stellt sicher, dass Fehler die sich noch im Programm befinden, können erkannt werden, bevor die endgültige Version des Programms erscheint. Oft stehen mehrere Versionen parallel zur Verfügung: eine stabile Version für den allgemeinen Gebrauch und mehrere Entwicklungsversionen.[7]
Da mehrere Personen gleichzeitig daran arbeiten, unterscheidet sich Open Source Software von kommerzieller Software in der Architektur. Kommerzielle Software ist meist voneinander abhängig, die einzelnen Teile sind viel schwieriger anzupassen, weil alles so eng zusammenhängt. Bei Open-Source-Software ist das genau umgekehrt: Da diverse Anpassungen vorgenommen und Anwendungen hinzugefügt werden, ist alles lockerer. Dies ist notwendig, da diese Art von Software ein sich ständig weiterentwickelnder Prozess ist.[6]
Unterschied zu anderer Software
Die meiste kommerzielle Software ist entweder proprietär proprietär. Der Benutzer hat nur eine eingeschränkte Lizenz und darf die Änderungen nicht ändern oder verteilen. Manchmal gibt es Möglichkeiten, Erweiterungen zu erstellen, aber das Paket selbst ist für den Benutzer unantastbar. Der Lieferant hat als einziger Zugriff auf die Software und kann und darf Änderungen vornehmen.
Open-Source-Software verhindert die Anbietersperre von einem einzigen Softwarehersteller. Der Nutzer hat jederzeit die Möglichkeit, Gabel (eine eigene Version), sofern sie sich an die Lizenz hält: normalerweise bedeutet dies, dass sie mit dem modifizierten System auch die Quellcode veröffentlichen muss.
Vorteile Open Source
Wenn Software Open Source bedeutet, dass der Erwerber die Lizenz hat, die Änderungen zu modifizieren und zu verteilen, sofern dies im Rahmen der Lizenzbedingungen erfolgt (Zurverfügungstellung der Quellcode).
Damit wird der Nutzer auch zum Entwickler des Pakets, wenn er dies wünscht. Die meisten Benutzer/Entwickler versuchen, ihre Änderungen in das Originalpaket zu übertragen, indem sie es an die entsprechende Community senden. Wenn dies nicht möglich ist, kann der Benutzer jederzeit Gabel der Software und des Pakets unter einem geänderten Namen. Der Vorteil der Einführung in das Originalpaket besteht darin, dass die Wartung jetzt beim ursprünglichen Team erfolgt und daher automatisch mit zukünftigen Versionen des Systems einhergeht.
Anbieter offener Software wie z roter Hut konzentrieren sich auf den Service und verfügen über fundierte Kenntnisse der von ihnen unterstützten Pakete. Dank dieses Modells hat ein Kunde mehr Wahlfreiheit beim Lieferanten, was bedeutet, dass er Anbietersperre kann auftreten. Darüber hinaus kann ein Unternehmen oder ein Kunde mit Geld einen Entwickler beauftragen, Änderungen speziell für diesen Kunden vorzunehmen. Bei kleineren Paketen stellen sich die Entwickler oft für kostenpflichtige Änderungen zur Verfügung. Dadurch stehen die Änderungen dann allen anderen Benutzern zur Verfügung.
Ein weiterer Vorteil ist, dass die Offenheit der Software auch mehr bedeutet Augen zur Software mit der dazugehörigen Kritik. Diese Kritik (sofern konstruktiv) kann eine höhere Qualität gewährleisten, als wenn nur ein kleiner Kreis von Entwicklern Zugriff auf die Software hätte.
Darüber hinaus hat Open-Source-Software oft eine Community, in der Änderungen diskutiert und vorbereitet werden. Dies ermöglicht sowohl Benutzern als auch Entwicklern, zukünftige Änderungen zu beeinflussen. Die größeren Gemeinschaften treffen sich regelmäßig zu Konferenzen.
Ein weniger sichtbarer Vorteil ist, dass, wenn ein Benutzer Gabel der Software (eine andere Version unter einem anderen Namen) und die ursprünglichen Entwickler die Änderungen sinnvoll finden, können sie diese Änderungen in das Originalpaket kopieren. Dies gilt insbesondere für die GPL-Versionen der Software, da dies nicht der Fall ist proprietär gemacht werden. Die BSD-Lizenzen sind konvertierbar, sofern sich der Nutzer an die Lizenz hält (hauptsächlich unter Erwähnung der Originallizenz) Solange die Software freie Software bleibt, kann jeder Fork im Originalpaket zurückkommen.
Suchmaschine für Code
Mit einer Suchmaschine wie Google-Codesuche oder Kodierer kann in den meisten Open-Source-Softwareprojekten, die für jedermann zugänglich sind, nach verfügbarem Code durchsucht werden, unter anderem PHP, Rubin, Javascript, Delphi, C und ASPI.
Regierungssoftware
In mehreren Ländern laufen Initiativen, um die Regierungen aufzufordern, so viel wie möglich Open-Source-Software zu verwenden, anstatt proprietäre Software. In den Niederlanden ist die Repräsentantenhaus im Jahr 2002 die Bewegung Vendrik angenommen. Damit wies das Repräsentantenhaus die niederländische Regierung an, dafür zu sorgen, dass die niederländische Regierung zu offene Software und offene Standards. In diesem Zusammenhang ist das Programm OSOSS Konfiguration.
Siehe auch
- Freie Software und Open-Source-Software
- Liste der Open-Source-Software
- Open-Source-Definition (OSD)
- Offener Standard
- Public-Domain-Software
- Gemeinsam genutzte Quellsoftware
- Softwareentwicklungsmethode
- Liste der Softwarelizenzen
Quellen, Anmerkungen und/oder Verweise
|
| Bibliographische Informationen |
|---|