Der Unterschied zwischen freier und Open-Source-Software. Was ist Open Source und warum ist es wichtig für Kryptowährungen und offene Blockchain?

Open Source und freie Software
07.07.2009 12:25

Unter den Programmierern gibt es Menschen, die bereit sind, die Ergebnisse ihrer Arbeit kostenlos zur Verfügung zu stellen, zusammen mit der Möglichkeit, sie zu ändern und zu verbessern. Es geht um über Hersteller sogenannte Open-Source-Software, die seit vielen Jahren in der weltweiten IT-Community kontrovers diskutiert wird. Manche sagen, dass Open-Source-Software die Zukunft ist, während andere sie im Gegenteil für gefährlich und unnötig halten. Aber wer hat am Ende recht? Auf diese Frage gibt es kaum eine endgültige Antwort.

Was ist also Open-Source-Software? Die vielleicht gebräuchlichste Definition dieses Begriffs offenbart seine Hauptmerkmale. Open-Source-Software ist alle Open-Source-Software, darauf basierende Softwareprodukte, die nicht nur zum Anzeigen, sondern auch zum Modifizieren verfügbar sind, wodurch Sie bereits erstellten Code verwenden können, um neue Softwareversionen zu schreiben, um Fehler zu beheben und Verbesserungen an Open Source vorzunehmen Programm. Es ist erwähnenswert, dass diese Definition, spiegeln laut Open-Source-Befürwortern die Essenz des Konzepts nicht vollständig wider. Aus ihrer Sicht ist Open-Source-Software neben dem zur Bearbeitung verfügbaren Quellcode auch eine ganze Philosophie, deren Sinn es ist, durch die umfassende Anwendung eine Informationsgesellschaft zu schaffen Programme öffnen ny Produkte in allen Bereichen der menschlichen Tätigkeit.

Was ist das Schöne an Open-Source-Software? Laut Vertretern dieses Trends ermöglicht Open-Source-Software:

  1. Anpassung des Softwareprodukts an die Anforderungen eines bestimmten Benutzers oder einer Benutzergruppe;
  2. Beheben Sie die Fehler früherer Entwickler;
  3. verfeinern und verbessern Software.

Zudem ist Open-Source-Software meist kostenlos, was vor allem für kleine und mittelständische Unternehmen attraktiv ist, die sich beispielsweise derzeit keine Lizenzen für kommerzielle Softwareprodukte verschaffen können. Auch die Befürworter der Idee von Open-Source-Code heben dessen Sicherheit als Vorteil hervor, das heißt, Open-Source-Software ist aufgrund ihrer geringen Popularität praktisch nicht anfällig für Virenangriffe. Und wenn dennoch eine Bedrohung erkannt wird, dann wird diese schnellstmöglich beseitigt, da in der Regel viele Profis und Laien, die miteinander in Kontakt stehen, Zugriff auf den Quellcode haben. Dementsprechend wird eine bereits erkannte Sicherheitsbedrohung schnell durch eines der Gemeinschaftsmitglieder oder durch gemeinsame Anstrengungen beseitigt.

Es ist erwähnenswert, dass Open-Source-Software aus globaler Sicht direkt Open-Source-Software sowie andere Arten von Softwareprodukten umfasst, die kostenlos vertrieben werden können und Quellcode für Änderungen bereitstellen. Solche Software umfasst kostenlose (Freeware) und kostenlose (kostenlose Software) Programme.

So wurde der Begriff Open Source (Open-Source-Software) erstmals 1998 von den Programmierern Eric Raymond (Eric Steven Raymond) und Bruce Perens (Bruce Perens) verwendet. Sie waren sich sicher, dass der Begriff Freie Software (Free Software) im Englischen mehrdeutig ist und in gewisser Weise sogar Unternehmer abschrecken kann, die potenzielle Nutzer solcher Software sind. Open Source ist jetzt ein Warenzeichen der Open Source Initiative, die Open-Source-Software vertreibt. Darüber hinaus gibt es auch ein spezielles Gremium, das entscheidet, ob die Lizenz eines bestimmten Programms als Open Source bezeichnet werden darf.

Hier sollte klargestellt werden, dass der Großteil der Open-Source-Software ebenfalls kostenlos ist. Die Definitionen von Open Source und freier Software sind zwar nicht genau gleich, aber im Großen und Ganzen ähnlich, und die meisten Softwarelizenzen passen zu beiden.

Der Unterschied zwischen Open Source und freier Software liegt in den Prioritäten. Beispielsweise betonen Open-Source-Befürworter für Effizienz arbeiten mit Open Source als Methode zur Entwicklung, Modernisierung und Wartung von Programmen. Befürworter des Begriffs „freie Software“ glauben, dass die Rechte zur freien Verbreitung, Änderung und zum Studium von Programmen der Hauptvorteil von freier Open-Source-Software sind, wodurch die Urheberschaft eines bestimmten Softwareprodukts festgelegt wird.

Begründer des Freie-Software-Konzepts ist der amerikanische Programmierer Richard Matthew Stallman. Er war es, der erstmals das Konzept der freien Software formulierte, das die Prinzipien der offenen Softwareentwicklung in der wissenschaftlichen Gemeinschaft widerspiegelte, die sich in den 1970er Jahren an US-Universitäten entwickelten. Stallman formulierte klare Kriterien für freie Software. Diese Kriterien legen die Rechte fest, die ein Autor freier Software jedem Benutzer gewährt. Somit erhält der Benutzer bei der Verwendung freier Software "vier Freiheiten": Ausführen, Studieren, Verteilen und Verbessern des Programms.

  • "Null Freiheit" - das Programm kann für jeden Zweck verwendet werden.
  • "Erste Freiheit" - Sie können die Funktionsweise des Programms studieren und für Ihre Zwecke anpassen. Voraussetzung hierfür ist die Verfügbarkeit des Quellcodes des Programms.
  • "Zweite Freiheit" - Sie können Kopien des Programms verteilen - um dem Entwickler zu helfen.
  • "Third Freedom" - das Programm kann verbessert und in verbesserter Version veröffentlicht werden, um der gesamten Gemeinschaft zugute zu kommen. Voraussetzung hierfür ist auch die Verfügbarkeit des Quellcodes des Programms.

Ein Programm, das all diese Prinzipien erfüllt, kann als kostenlos angesehen werden, dh es ist garantiert offen und zugänglich für die wissenschaftliche Gemeinschaft und einfach für interessierte Personen und Organisationen. Es muss betont werden, dass diese Grundsätze nur die Verfügbarkeit von Programmen zur allgemeinen Nutzung, Kritik und Verbesserung betreffen, aber keine diesbezüglichen Bestimmungen vorsehen mit der Verbreitung Money-Relations-Programme, einschließlich implizieren nicht kostenlos.

Freie Software funktioniert so, dass ein Softwareprodukt und sein Quellcode standardmäßig urheberrechtlich geschützt sind, was dem Urheberrechtsinhaber die volle Befugnis gibt, das Programm zu verbreiten und zu modifizieren, selbst wenn der Quellcode öffentlich verfügbar ist. Das heißt, der Urheber hat unter anderem das Recht, sein Produkt zu verkaufen. Allerdings einmal Benutzer wird nicht geliefert das Recht, die Quellcodes von Programmen zu erhalten, sie zu ändern und verteilen weiter, dann wird die Software - unabhängig von anderen Bedingungen - urheberrechtlich geschützt.

Was die Verteilungs- und Nutzungsbedingungen für kostenlose Softwareprogramme betrifft, so ist deren Kopieren oft verboten, und Reverse Engineering, Modifikation und Weiterverteilung sind in der Lizenzvereinbarung festgelegt.

Allerdings gibt es Programme, die nach Ansicht einiger Experten unter die Definition von offen fallen, aber nicht kostenlos sind. Zu solchen Programmen gehört beispielsweise UnRAR, ein Entpacker für RAR-Archive. Tatsache ist, dass sein Quellcode gemeinfrei ist, aber die Lizenz verbietet, ihn zum Erstellen von RAR-kompatiblen Archivierern zu verwenden.

Wichtig ist natürlich auch, dass die Kategorien von Open-Source-Software unterschiedlich sind, da sie unterschiedliche Freiheitsgrade in Bezug auf Benutzeraktionen beinhalten. Gleichzeitig ist mitunter ein deutlicher Unterschied zwischen der Definition von Free- und Open-Source-Software zu beobachten. Open-Source-Software, also Software mit (offenem) Quellcode (Open-Source-Software), ist eine Methode der Softwareentwicklung, bei der der generierte Quellcode von Programmen offen, also öffentlich einsehbar und veränderbar ist. So kann jeder den bereits erstellten Code für die eigenen Zwecke nutzen und vielleicht bei der Entwicklung eines Open-Source-Programms helfen. Freie Software ist das Recht des Nutzers, aber nicht die Pflicht des Herstellers, denn Die offene Lizenz erfordert nicht, dass die Software immer kostenlos zur Verfügung gestellt wird. Viele der erfolgreichsten Open-Source-Projekte sind jedoch immer noch kostenlos.

Open-Source-Software ist auch ein wesentliches Merkmal freier Software, so dass der später von Eric Raymond vorgeschlagene Begriff „Open Source Software“ manchem sogar noch passender für das Phänomen Freie Software erscheint, als Stallman seinerzeit „freie Software“ vorschlug.

Beachten Sie, dass die Vorteile der freien Entwicklung für den Benutzer nicht überbewertet werden sollten. Nicht alle freie Software steht gleichermaßen zur Modifikation durch den Nutzer zur Verfügung, was wiederum nichts mit der Lizenz zu tun hat ihre Verteilung. Eine wichtige Rolle spielt das Volumen des Programms: Wenn es Zehntausende von Zeilen enthält (wie zum Beispiel in OpenOffice.org, einem Analogon von Microsoft Office), braucht selbst ein qualifizierter Spezialist ziemlich viel Zeit um den Fehler zu finden und zu beheben. zählen für Entwickler, die auf alle Kommentare und Vorschläge des Benutzers reagieren und das Programm sofort korrigieren, ist ebenfalls unmöglich, da sie keine Verpflichtungen gegenüber dem Benutzer hinsichtlich der Qualität des Programms übernehmen. In dieser Hinsicht kann der Benutzer eines proprietären Programms in einer besseren Position sein.

Bemerkenswert ist, dass sich alle Teilnehmer des Open-Software-Prozesses in der Regel aus Interesse oder weil an einem bestimmten Programm beteiligen diese Software ist für sie ein notwendiges Werkzeug für jede Aktivität. Die Zeit, die für die Entwicklung des Programms aufgewendet wurde nicht bezahlt Daher besteht keine Hoffnung, dass sich die Umstände nicht ändern und die Entwicklung nicht vollständig zum Stillstand kommt. Es gibt Fälle, in denen die Entwicklung eines Programms dank eines Autor-Enthusiasten begann, der viele Menschen zur Teilnahme anzog, dann lässt die Begeisterung des Leiters nach und damit wird die Entwicklung von Software ausgesetzt. Leider gibt es heute Tausende von kostenlosen Programmen, die es nie geschafft haben, eine voll funktionsfähige Version zu erreichen. Außerdem ist das Programm möglicherweise notwendig, aber nicht von Interesse, was bedeutet, dass es keine freien Entwickler dafür gibt.

Der Platz freier Software auf dem heutigen Softwaremarkt ist sehr bedeutend und viele kommerziell und Zustand Unternehmen nutzen freie Software direkt oder indirekt. Zum Beispiel nutzen alle Internetnutzer, wenn auch indirekt, das kostenlose Programm Bind, das einen DNS-Dienst bereitstellt. Darüber hinaus verwenden viele Organisationen (insbesondere diejenigen, die Dienste über das World Wide Web anbieten) den kostenlosen Apache-Webserver, von dessen Betrieb der Gewinn des Unternehmens direkt abhängen kann, ganz zu schweigen von Servern auf der Linux-Plattform.

Die Vorteile der Verwendung von freier und quelloffener Software liegen auf der Hand: Sie müssen normalerweise nicht dafür bezahlen, und wenn Sie es tun, kostet es viel weniger als proprietäre Pendants. Der Hauptnachteil aus Sicht eines kommerziellen Benutzers ist, dass Entwickler freier Software keine anderen Verpflichtungen als moralische haben. Das heißt, sie sind tatsächlich nicht für die Qualität der Software verantwortlich.

Beispielsweise findet sich in einer der öffentlichen Lizenzen (GNU) sogar eine Standardformulierung, die das Fehlen von Garantien angibt: „Dieses Programm wird ohne Mängelgewähr bereitgestellt. Sofern nicht anders schriftlich angegeben, übernimmt der Autor und/oder andere Urheberrechtsinhaber keinerlei Gewährleistungsverpflichtungen, weder ausdrücklich noch und impliziert Programms, einschließlich der stillschweigenden Garantien der Marktgängigkeit und Eignung für einen bestimmten Zweck sowie aller anderen Garantien."

Übrigens ist derzeit das GNU-System, besser bekannt als GNU/Linux oder einfach Linux, vor allem im Servermarkt weit verbreitet und ein vollständiges Softwareprodukt. Es besteht aus einer großen Anzahl von GNU-Projektprogrammen (hauptsächlich den Systemdienstprogrammen und der GNU-Toolchain), dem Linux-Kernel - dem Teil des Systems, der für die Ausführung anderer Programme verantwortlich ist, einschließlich Gerätetreibern und dergleichen - und einer Vielzahl anderer freier Programme .

Daher gibt es heute eine Tendenz, wenn große IT-Konzerne wie Intel, Oracle oder IBM versuchen, Entwicklungsprojekte für freie Software zu unterstützen, indem sie die Arbeit der Mitarbeiter dieser Projekte bezahlen, so dass der Grad der Verantwortung der Entwickler auf einem hohen Niveau liegt. Warum tun sie das, weil offene und freie Software für sie konkurrenzfähig ist? Die Antwort ist einfach - sie sehen darin einen Vorteil, den sie nicht verpassen wollen, da täglich viele Programme auf Basis von Open-Source-Software erscheinen, von denen einige später zu starken kommerziellen Produkten werden können.

Derzeit werden mehrere Hauptlizenzen für die Verteilung freier Software verwendet: AROS Public License, BSD License, CDDL, Common Public License, GNU Free Documentation License, GNU General Public License, GNU Lesser General Public License, MIT License, Mozilla Public License, Open Directory Lizenz usw. Alle freien Lizenzen sind auf die eine oder andere Weise durch die Einhaltung der Prinzipien von Copyleft gekennzeichnet (Copyleft ist ein Wortspiel mit dem Wort Urheberrecht). Im Gegensatz Der traditionelle Ansatz zum Urheberrecht, der die Freiheit zum Kopieren von Werken einschränkt, das Copyleft-Prinzip, verwendet Urheberrechtsgesetze, um sicherzustellen, dass es niemandem möglich ist, das Recht auf Nutzung oder Änderung einzuschränken und verteilen sowohl das Werk selbst als auch darauf basierende Werke. Die Idee von Copyleft ist, dass jeder, der ein Programm mit oder ohne Änderungen verbreitet, kein Recht hat, die Freiheit seiner weiteren Verbreitung oder Modifikation einzuschränken. Copyleft garantiert, dass jeder Benutzer in seinem Handeln frei ist.

Die Zahl der Lizenzen, die der Definition von Open Source (offene Software) entsprechen, liegt derzeit bei über fünfzig. Open Source ist eine Marke der Open Source Initiative. Es gibt ein spezielles Komitee, das entscheidet, ob eine Lizenz als Open Source bezeichnet werden darf. Eine der weltweit größten Websites für Open-Source-Entwickler ist das bekannte Portal SourceForge.net. Auf dieser Seite können Entwickler ihre Softwareprojekte veröffentlichen und gemeinsam entwickeln. Derzeit werden mehrere Hunderttausend Projekte auf SourceForge.net gehostet, und die Zahl der registrierten Benutzer übersteigt eine Million.

Offene und freie Software zieht natürlich zunehmend das Publikum in ihren Bann. Open-Source-Programme werden sowohl von Privatanwendern als auch recht erfolgreich eingesetzt und kommerziell staatliche und öffentliche Organisationen. Bei einigen Modellen von Laptops und Netbooks verschiedener Hersteller wird bereits Software auf Basis von Open Source und kostenlose Software als Vorinstallation verwendet. Darüber hinaus erobert Open-Source-Software nach und nach den Markt für Automatisierungssysteme für kleine und mittelständische Unternehmen.

Das Erscheinen von Programmen dieser Klasse ist mit der Idee verbunden, Software zu erstellen, die frei von Verbreitungsbeschränkungen ist. 1998 wurde auf Anregung der amerikanischen Entwickler Bruce Perens und Eric Raymond die Open Source Initiative ins Leben gerufen.

(Open-Source-Initiative, OSI). Diese Bewegung hat die „Definition von Open Source Software“ entwickelt und veröffentlicht. Programmcode".

Die Open-Source-Softwarelizenz sieht die folgenden Befugnisse vor:

  • 1) Zugriff auf den Quellcode;
  • 2) das Computerprogramm zu ändern;
  • 3) das modifizierte Programm unter denselben Bedingungen zu vertreiben, unter denen die Software vom Lizenznehmer erhalten wurde;
  • 4) dem Lizenznehmer, das Computerprogramm für den beabsichtigten Zweck zu verwenden;
  • 5) zur Weiterverbreitung durch den Nutzer des Programms ohne Zahlung von Abzügen und Vergütungen.

Als zusätzliche Befugnisse können Open-Source-Softwarelizenzen Folgendes umfassen:

  • 1) eine Beschreibung der von jedem Lizenznehmer vorgenommenen Änderungen;
  • 2) Weigerung, Garantien zu geben,
  • 3) Haftungsausschluss für Schäden;
  • 4) Regelung von Patentfragen;
  • 5) Bestimmungen zur Kompatibilität dieser Lizenz mit anderen Lizenzen;
  • 6) Regelung des Urheberrechts im Text einer offenen Lizenz;
  • 7) eine Anzeige der Änderungen, die in dem empfangenen Öffnungscode vorgenommen wurden;
  • 8) Bestimmungen über das anwendbare Recht und das zuständige Gericht.

Dies bedeutet jedoch nicht, dass eine Open-Source-Lizenz zwangsläufig kostenlos zur Verfügung gestellt wird, es können Optionen für eine kostenpflichtige Bereitstellung bestehen (z. B. kostenpflichtiger Service-Support oder eine kommerzielle Lizenz zur Nutzung von freiem Code für die Softwareentwicklung). Die Verwendung eines Open-Source-Programms bedeutet, dass der Code offen ist, verarbeitet werden kann und auf der Grundlage dieses Codes ein eigenes Programm erstellt werden kann – ein „abgeleitetes Werk“. Software, deren Benutzern nicht das Recht eingeräumt wird, die Open Source zu modifizieren, ist unfreie Software, unabhängig von anderen Bedingungen.

Seit Januar 2012 wurde zum ersten Mal in der Russischen Föderation das Konzept eines Open-Source-Programms eingeführt, als Software, die unter den Bedingungen einer einfachen (nicht-exklusiven Lizenz) oder exklusiven Lizenz vertrieben wird, die dem Benutzer Zugriff darauf gewähren die Quellcodes des Programms.

Unterschiedliche Open-Source-Lizenzen beinhalten unterschiedliche Rechte und Pflichten. Bei manchen Lizenzen zur Nutzung von Open-Source-Programmen ist der Urheber solcher Änderungen bei der Weitergabe eines überarbeiteten, modifizierten Programms verpflichtet, darüber zu informieren, welche Funktionen, Verfahren des ursprünglichen Programms geändert oder neu geschaffen wurden. Solche Aktionen werden bereitgestellt, um andere Benutzer zu informieren, um den Autoren des ursprünglichen Programms keinen Schaden zuzufügen, falls sich herausstellt, dass das abgeleitete Programm von schlechter Qualität und nicht funktionsfähig ist.

Das Konzept der freien Software basiert auf vier Grundfreiheiten:

  • 1) Freiheit, das Programm auf einem Computer zu reproduzieren und für jeden Zweck auszuführen;
  • 2) Freiheit, die Arbeit des Programms zu studieren und es an die Bedürfnisse des Benutzers anzupassen;
  • 3) Freiheit, empfangene Kopien kostenloser Software zu reproduzieren und zu verteilen;
  • 4) Freiheit, das Programm zu verbessern, d.h. verändern und in veränderter Form weitergeben.

Nur ein Computerprogramm, das alle Prinzipien erfüllt, kann als freie Software betrachtet werden. Zu den Freiheiten gehört die Freiheit, die Vergütung eines solchen Lizenzvertrages für die Nutzung eines Computerprogramms festzulegen. Daher kann argumentiert werden, dass freie Software auf einer erstattungsfähigen Basis verbreitet werden kann, während die Freiheit des Benutzers respektiert wird, den Quellcode der Programme zu erhalten, sie zu modifizieren und sie weiter zu verbreiten.

Es gibt folgende Arten von Open-Source-Lizenzen:

  • – Allgemeine öffentliche Lizenz (GPL);
  • – Apache-Softwarelizenz;
  • – Berkeley Software Distribution (BSD)-Lizenz;
  • – Lizenziert vom Massachusetts Institute of Technology (MIT);
  • – Mozilla Public License (MPL) usw.

Die allgemeine Bedeutung von GPL, BSD, MIT besteht darin, die Befugnisse des Benutzers des Programms zu erweitern und ihm gleichzeitig einige Verpflichtungen aufzuerlegen, die nicht charakteristisch für Lizenzen sind, die durch die Gesetze der Russischen Föderation und des Auslands vorgesehen sind. Aber derzeit wird die Entwicklung solcher Software in der Russischen Föderation unterstützt. Außerdem wurden das Konzept der Verwaltungsreform in der Russischen Föderation und das Föderale Zielprogramm „Elektronisches Russland“ verabschiedet.

Lassen Sie uns die Hauptmerkmale von Open-Source-Software auflisten.

1. kostenlose Verteilung

Die Lizenzvereinbarung darf das Recht zum Verkauf oder Vertrieb von Software, die Bestandteil einer zusammengesetzten Software ist, die Programme aus verschiedenen Quellen enthält, nicht einschränken.

2. Quelle

Das Programm muss Quellcode enthalten, der wie die kompilierten Formulare weitergegeben werden darf. Einige Produktvarianten werden ohne Quellcode vertrieben. In diesem Fall sollte es bekannte Möglichkeiten geben, den Quellcode zu einem angemessenen Preis zu erhalten, oder die Möglichkeit dazu kostenlose Quittungüber das Internet. Der Quellcode muss so beschaffen sein, dass der Programmierer das Programm modifizieren kann. Absichtlich verschleierter Quellcode, Zwischenformen wie ein Präprozessor oder ein Übersetzungsausgabegerät sind nicht erlaubt.

  • 3. Sekundärprodukte. Die Lizenzvereinbarung sollte das Recht einräumen, eigene abgeleitete Produkte zu modifizieren und zu entwickeln, um die Software zu den gleichen Bedingungen wie die Lizenz des ursprünglichen Programms zu vertreiben.
  • 4. Erhaltung des Quellcodes des Autors. Die Lizenzvereinbarung kann die Verbreitung eines Produkts einschränken, dessen Quellcode von Dritten modifiziert wurde. Die Vereinbarung kann die Weitergabe angehängter Quellcodedateien erlauben, um das Programm zum Zeitpunkt der Erstellung zu modifizieren. Die Lizenz muss das Recht geben, Ihr eigenes Programm zu verbreiten, das durch Modifizieren des Quellcodes erstellt wurde. Die Lizenzvereinbarung kann Anforderungen enthalten, den Namen der Software oder die Versionsnummer von abgeleiteten Werken zu ändern.
  • 5. Keine Einschränkungen für Einzelpersonen oder Benutzergruppen. Die Lizenzvereinbarung muss allen Antragstellern zur Verfügung stehen.
  • 6. Keine Einschränkungen bezüglich des Umfangs. Der Lizenzvertrag sollte keine Beschränkungen für die Nutzung des Programms in einem bestimmten Tätigkeitsbereich, wie z. B. kommerzielle oder andere Forschung, enthalten.
  • 7. Verteilung der Lizenz. Die mit dem Programm verbundenen Rechte müssen für alle Benutzer gelten. Hierfür ist keine zusätzliche Lizenz erforderlich.
  • 8. Die Lizenzvereinbarung muss nicht spezifisch für einen Teil des Produkts sein. Die mit dem Softwarepaket erworbenen Rechte gelten für jedes einzelne Element des Softwarepakets. Wenn ein Programm einer Distribution entnommen und außerhalb davon verwendet wird, gelten die Bedingungen der Lizenzvereinbarung der Distribution für das Programm.
  • 9. Die Lizenzvereinbarung darf keine Beschränkungen für andere Software enthalten, d.h. Softwaretools, die mit der lizenzierten Software vertrieben werden. Die Lizenz soll auch keine Anforderungen an die Offenheit von Softwaretools enthalten, die nicht unter dieser Lizenzvereinbarung erstellt werden.
  • 10. Die Lizenz muss technologieneutral sein. Lizenzbedingungen können nicht auf individuellen Technologien und Schnittstellenstilen basieren.

Die Einhaltung der vorstehenden Bedingungen beim Abschluss eines Lizenzvertrages ermöglicht die Beurteilung eines Computerprogramms als Open-Source-Software.

Open-Source-Software ist freier Software ähnlich, jedoch mit einem wesentlichen Unterschied: Im Fall von freier Software verbleiben die ausschließlichen Rechte am Quellcode beim Urheberrechtsinhaber des Programms, und im Fall von Open-Source-Software sind diese Rechte nicht vorhanden vom Urheberrechtsinhaber des Programms einbehalten, aber nur Nicht-Eigentumsrechte bleiben erhalten, sowohl beim ursprünglichen Entwickler als auch bei allen nachfolgenden Entwicklern.

Im Jahr 2006 in der Russischen Föderation gemäß der Verordnung Nr. 83 des Ministeriums für Information und Kommunikation der Russischen Föderation vom 29. Juni 2006 „Über die Aktivitäten des Ministeriums für Information und Kommunikation Russlands für 2006 zur Umsetzung der wichtigsten Bestimmungen der Ansprache des Präsidenten der Russischen Föderation an die Bundesversammlung der Russischen Föderation" wurde ein Aktionsplan entwickelt, um die Entwicklung und Nutzung freier Software (Open Source) in Behörden zu fördern. Der Plan beinhaltete folgende Aktivitäten:

  • 1) Entwicklung von Anforderungen und Empfehlungen für die Verwendung offener Standards und Spezifikationen bei der Entwicklung von Computerprogrammen für den staatlichen und kommunalen Bedarf;
  • 2) Bewertung der Kosteneffektivität der Implementierung von ISO/IEC 26300:2006 (offenes Dokumentenformat für Büroanwendungen);
  • 3) Organisation der Teilnahme von Vertretern der Kommunikationsverwaltung der Russischen Föderation an internationalen Organisationen für Standardisierung im Bereich der Informationstechnologie sowie Erleichterung und Koordinierung der Teilnahme von Vertretern russischer Unternehmen an internationalen Organisationen für Standardisierung (falls die Teilnahme von staatliche Stellen in solchen Organisationen sind nicht vorgesehen);
  • 4) Entwicklung und Umsetzung des Verfahrens zur Erlangung (einschließlich Bestimmung des Umfangs und der Bewertung) und des Schemas zur Verwaltung der Rechte an Computersoftware, die Kunden als Ergebnis der Ausführung von Arbeiten für staatliche und kommunale Zwecke erhalten;
  • 5) Verbesserung der Mechanismen zur Überwachung der Wettbewerbsbedingungen, um die Bereitstellung gleicher Marktbedingungen für Entwickler verschiedener Software zu kontrollieren;
  • 6) Entwicklung eines Konzepts und eines Aktionsplans, um das Niveau zu erhöhen Berufsausbildung Und Schulung von Benutzern im Bereich Informationskommunikationstechnologien;
  • 7) Entwicklung einer Liste von Typen (Sorten) freier Software für Computer, deren Zweckmäßigkeit und Gültigkeit der überwiegenden Verwendung durch die weltweite Praxis nachgewiesen wurde und (oder) von einer erheblichen Anzahl von Marktteilnehmern anerkannt wird, sowie die Entwicklung anderer Klassifikatoren für verschiedene Zwecke, einschließlich für Standardisierungszwecke;
  • 8) Entwicklung eines Konzepts und Aktionsplans für die Entwicklung eines dienstleistungsorientierten Modells für die Verbreitung von Computerprogrammen in der Russischen Föderation, einschließlich für staatliche und kommunale Bedürfnisse.
  • Korruptionsbekämpfung;
  • Sicherheit;
  • Schutz nationaler Interessen;
  • Bürgerfreundlichkeit;
  • einfache Anpassung;
  • wirtschaftlicher Vorteil.

Die Qualität solcher Computerprogramme entspricht kommerziellen Programmen. Dies liegt daran, dass diese Software von allen getestet, geändert und verbessert wird, sodass die Anzahl der Entwickler, die an der Verbesserung des Programms arbeiten, der Anzahl der Entwickler von kommerzieller Closed-Source-Software entspricht (und in einigen Fällen ihre Anzahl erheblich übersteigt). .

Auf der positiven Seite stellte sich heraus, dass solche Software nicht nur öffentlich verfügbar, sondern auch zuverlässig war, und die Freiheit der Kreativität für die Autoren solcher Software wichtiger ist als die Vergütung. Selbstverständlich müssen Nicht-Eigentumsrechte an solchen Lizenzen respektiert werden, d. Für Urheber verteilter Open-Source-Softwarelizenzen ist es besonders wichtig, Nicht-Eigentumsrechte zu beachten, wie z. B. das Anbringen eines Schutzvermerks, das Jahr der Erstveröffentlichung und den Namen des Urhebers oder sonstigen Rechteinhabers.

All dies lässt uns sagen, dass Open-Source-Software immer beliebter wird, und zwar nicht nur bei weltweit führenden Unternehmen wie IBM und Hewlett Packard, sondern auch Russische Unternehmen gehören zu denen, die diese Programme verwenden und entwickeln, auch für ausländische Kunden.

Das Dekret der Regierung der Russischen Föderation vom 18. Oktober 2007 Nr. 1447-r legt das Recht fest, jede Software mit Open-Source-Code in Schulen der Russischen Föderation zu verwenden. 2009 berichtete der Bundesvollzugsdienst über die Einführung von Open Source Software – Open Office, um die Landespolitik im Bereich der Nutzung Freier Software umzusetzen. „Von April bis Mai 2009 wurden Videokonferenzsitzungen mit den Leitern der Gebietskörperschaften des Föderalen Gerichtsvollzieherdienstes Russlands unter Verwendung kostenloser Software abgehalten.

Um rechtzeitig und regelmäßig Informationen auf der offiziellen Website der Zentrale der FSSP Russlands zu veröffentlichen und Bürger und Organisationen systematisch über die Aktivitäten der FSSP zu informieren, führte die Abteilung für Informationstechnologie Arbeiten zur Fertigstellung der Softwareplattform und des Site-Designs durch , was es ermöglichte, die Funktionalität der Website erheblich zu erweitern, den Informationsgehalt und die Besucherzahlen zu erhöhen".

Das Konzept der Entwicklung freier Software in der Russischen Föderation ging von der Erstellung der folgenden Produkte vor 2010 aus:

  • 1) Integrierte Standard-Bürolösungen für Beamte sowie Beschäftigte des öffentlichen Dienstes;
  • 2) Standardlösungen zur Sicherstellung der Arbeit von Bildungseinrichtungen;
  • 3) Software für kollektive Zugangspunkte zum Internet;
  • 4) Software für Internetseiten öffentlicher Dienste;
  • 5) Integrationsplattform für E-Government-Zwecke;
  • 6) sichere Lösungen für kritische Einrichtungen;
  • 7) Entwicklung eines serviceorientierten Modells für den Vertrieb von Computerprogrammen.

Derzeit sind viele der genannten Punkte erfüllt. Die Konkretisierung des Lizenzvertrages zur Nutzung von Open-Source-Software bestimmt sich somit nach dem Umfang der dem Lizenznehmer übertragenen ausschließlichen Rechte. Es ist wichtig zu beachten, dass z Lizenzvereinbarungen berühren in keiner Weise die persönlichen Nicht-Eigentumsrechte der Programmautoren, sondern schützen diese Rechte in größerem Umfang. Diese Programme sind zuverlässiger und sicherer, da der Programmcode überprüft und gegebenenfalls neu programmiert werden kann, was im Rahmen der Umsetzung der Informationssicherheitsdoktrin der Russischen Föderation sowie der Nationalen Sicherheitsstrategie der Russischen Föderation Föderation bis 2020, ist eine grundlegende Aufgabe der Gewährleistung der nationalen Sicherheit. In der Nationalen Sicherheitsstrategie umfassen die Mittel zur Gewährleistung der nationalen Sicherheit unter anderem Technologien sowie technische, softwaremäßige, sprachliche, rechtliche und organisatorische Mittel, einschließlich Telekommunikationskanäle, die im nationalen Sicherheitssystem verwendet werden, um Daten zu sammeln, zu bilden, zu verarbeiten, Übermittlung oder Empfang von Informationen über den Zustand der nationalen Sicherheit und Maßnahmen zu ihrer Stärkung.

Die Verwendung von Open-Source-Programmen auf dem Territorium der Russischen Föderation wird nicht nur Computerprogramme diversifizieren, sondern auch die Anzahl der Entwickler erhöhen und dadurch die Anzahl der Monopolisten verringern. Darüber hinaus symbolisiert dies die Entwicklung qualitativ neuer Phänomene in der Beziehung zwischen dem Autor eines Computerprogramms und dem Benutzer von Open-Source-Software auf dem Territorium der Russischen Föderation. Ein weiterer positiver Faktor ist, dass bei Open-Source-Programmen das gesetzlich vorgesehene Territorialmerkmal für Exklusivrechte fehlt. Daher wird die Verwendung einer solchen Programmklasse auf dem Territorium der Russischen Föderation zur Beseitigung vieler Urheberrechtsverletzungen beitragen.

Mit der Einführung des Nationalen Standards der Russischen Föderation GOST R 54593-201 im Jahr 2012 ist freie Software eine sichere, zuverlässige und finanziell attraktive Plattform zum Bauen Informationssysteme in Unternehmen und der öffentlichen Hand. Freie Software bietet: technologische Unabhängigkeit der Softwareentwicklung und -nutzung von einem Monopolisten; Unabhängigkeit bei der Wahl einer Hardwareplattform; niedrige Anschaffungskosten für die Ausrüstung; Früherkennung von Fehlern in Software und die Fähigkeit, diese schnell zu beheben; keine obligatorische Zahlung für das Nutzungsrecht an Produkten.

Freie Software verwendet Prinzipien offene Systeme, die derzeit der Haupttrend in der Entwicklung des Bereichs der Informationstechnologie, der Systeme sowie der Computertechnologie sind, die diese Technologien unterstützt. Die Ideologie offener Systeme wird in ihren neuesten Entwicklungen von allen führenden Unternehmen - Anbietern von Computerausrüstung, Informationsübertragung, Software und der Entwicklung angewandter Informationssysteme - umgesetzt.

Lassen Sie uns also die Befugnisse offenlegen, die im Rahmen verschiedener Arten von Lizenzen für Computerprogramme mit Open-Source-Code übertragen werden.

  • Siehe: Nationale Norm der Russischen Föderation GOST R 54593 201 "Informationstechnologie. Freie Software. Allgemeine Bestimmungen", genehmigt durch Anordnung des Ministeriums für Industrie und Handel der Russischen Föderation und der Bundesagentur für technische Regulierung und Metrologie vom 6. Dezember, 2011 Nr. 718-st.
  • Genehmigt vom Präsidenten der Russischen Föderation am 9. September 2000: siehe Website des russischen Außenministeriums mid.ru/ns-osndoc.nsf/d06bd3f5303124fe432569fa003a70ff/4db27 49a4b55f02f432569fb004872a4?OpenDocument.
  • Dekret des Präsidenten der Russischen Föderation vom 12. Mai 2009 Nr. 537 „Über die nationale Sicherheitsstrategie der Russischen Föderation bis 2020“.

Open-Source-Software ist eine Methode der Softwareentwicklung, bei der der generierte Quellcode von Programmen offen ist, dh öffentlich zur Ansicht und Änderung verfügbar ist. So kann jeder den bereits erstellten Code für die eigenen Zwecke nutzen und vielleicht bei der Entwicklung eines Open-Source-Programms helfen.

Eine "offene" Lizenz erfordert nicht, dass die Software immer kostenlos zur Verfügung gestellt wird. Aber viele der erfolgreichsten Open-Source-Projekte sind trotzdem kostenlos.

Überwiegende Mehrheit offen Programme ist gleichzeitig frei(GNU GPL) und umgekehrt, da die Definitionen von Open Source und freier Software eng beieinander liegen und die meisten Lizenzen beiden entsprechen.

Unterschied zwischen Bewegungen Open Source Und gratis Software geht es hauptsächlich um Prioritäten. Open-Source-Befürworter konzentrieren sich auf Effizienz von Open Source Programme als Entwicklungsmethode. Befürworter freier Software gehen von ideologischen Überlegungen aus und glauben, dass es genau so ist Rechte Vertrieb, Modifikation und Studium von Programmen sind der Hauptvorteil gratis Software.

Betriebssystem Microsoft Windows

Reis. 39. OC Windows-Logo.

MS Windows (ausgesprochen Windows) ist eine Familie von Betriebssystemen von Microsoft. Leiter der Microsoft Corporation - Bill Gates.

Seit 1995 ist Windows das beliebteste Betriebssystem auf dem PC-Markt – der De-facto-Standard. Bis 2005 war Microsoft Windows auf mehr als 89 % der PCs installiert.

Viele Benutzer haben sich jedoch für Windows entschieden, da sie mit Alternativen wie MacOS, Linux, BSD überhaupt nicht vertraut sind. In Russland wurden bis Anfang der 2000er Jahre fast alle PCs mit einem vorinstallierten Betriebssystem verkauft. Windows-System. Der Kampf gegen die Verbreitung von Raubkopien von Softwareprodukten hat zu einem steigenden Interesse an anderen Betriebssystemen geführt. So wurde es beispielsweise möglich, einen Personal Computer mit einem vorinstallierten zu kaufen Kostenloses Linux-Betriebssystem.

Veröffentlichungsverlauf der Windows-Version


Windows 1.0 (1985)

1. Windows 2.0 (1987)

2. Windows/386 (1987)

3. Windows 3.0 (1990)

4. Windows 3.1 (1992)

5. Windows NT 3.1 (1993)

6. Windows NT 3.5 (1994)

7. Windows 95 (1995)

8. Windows NT 4.0 (1996)

9. Windows 98 (1998)

10. Windows 2000 (2000)

11 Windows Me (2000)

12. Windows XP (2001)

13. Windows 2003 (2003)

14. Windows Vista (2007)

15. Windows-Arbeitstitel Wien (2010)


Integrierte Softwareprodukte und Anwendungssoftware

Das Betriebssystem Microsoft Windows umfasst Standardanwendungen, sowie Internet Explorer-Browser, Outlook Express-Mail-Client, Drehscheibe Windows Media Spieler.

Es gibt viele Kontroversen und Diskussionen um die Aufnahme solcher Standardprodukte in das Windows-Betriebssystem, da dies ein ernsthaftes Hindernis für den Vertrieb von Konkurrenzprodukten darstellt.

Reis. 40. Logo des MS Office-Pakets.

Für MS Windows gibt es eine sehr bequeme und von den meisten Benutzern gemeisterte Microsoft Office-Anwendungspaket, einschließlich:

Textverarbeitungssystem MS Word,

Tabellenkalkulationsprozessor MS-Excel,

Veranstalter MS-Outlook,

Antrag auf Vorbereitung von Präsentationen MS PowerPoint,

Anwendung zur Datenbankverwaltung MS-Access.

Vergessen Sie nicht, dass sowohl Windows als auch die überwiegende Mehrheit der gängigen Windows-Anwendungen eine Urheberrechtslizenz haben, d.h. Sind Eigentum VON. Dementsprechend muss jede Kopie eines solchen Programms für Geld erworben werden. Zum Beispiel lag Ende 2006 der Preis für Windows XP Home Edition Russian BOX (SP2) bei 185 US-Dollar, Office 2003 Russian CD bei 322 US-Dollar.

Durch die Verwendung nicht lizenzierter (raubkopierter) Software, die durch eine Urheberrechtslizenz geschützt ist, verstoßen Sie gegen Urheberrechtsgesetze.

GNU/Linux-Betriebssystem

Reis. 41. Das Logo des GNU/Linux-Betriebssystems ist der Tux-Pinguin.

Das Betriebssystem GNU/Linux (ausgesprochen „gnu linux“) ist ein freies UNIX-ähnliches Betriebssystem. Normalerweise wird dieses System aus historischen Gründen und der Kürze halber einfach "Linux" genannt. Es ist die leistungsstärkste Alternative zu MS Windows, das als Serverbetriebssystem beliebt ist und in den letzten Jahren aufgrund verstärkter Durchsetzung schnell an Popularität als Desktop-Betriebssystem gewonnen hat lizenzierte Nutzung Windows-Betriebssystem von Microsoft in den Versionen XP und Vista.

Das GNU/Linux-Betriebssystem enthält oft auch Programme, die dieses Betriebssystem ergänzen, und Anwendungsprogramme, die es zu einer vollwertigen multifunktionalen Betriebsumgebung machen.

Im Gegensatz zu den meisten anderen Betriebssystemen wird GNU/Linux nicht mit einem einzigen "offiziellen" Paket geliefert. Stattdessen gibt es GNU/Linux in einer großen Anzahl sogenannter Verteilungen, das GNU-Programme mit dem Linux-Kernel und anderen Programmen verbindet. Die gängigsten Distributionen der Welt:

amerikanisch roter Hut und sein Nachfolger Fedora-Kern;

Deutsch SuSE;

Französisch Mandriva(ehemalig Alraune);

Landesloser internationaler Vertrieb Debian GNU/Linux;

Eine der ältesten Distributionen Slackware;

Relativ junger und sich aktiv entwickelnder Vertrieb Gentoo;

Junge, aber vielversprechende Distribution Ubuntu-Linux.

Schöpfer des Linux-Kernels - Linus Torvalds. GNU/Linux hat kein geografisches Entwicklungszentrum. Es gibt keine Organisation, die dieses System besitzt; nicht einmal ein einziges Mittelpunkt. Programme für GNU/Linux sind das Ergebnis tausender Projekte. Einige dieser Projekte sind zentralisiert, andere sind in Firmen konzentriert, aber die meisten bringen Programmierer aus der ganzen Welt zusammen, die sich nur durch Korrespondenz kennen. Jeder kann sein eigenes Projekt erstellen oder sich einem bestehenden anschließen, und im Erfolgsfall werden die Ergebnisse der Arbeit Millionen von Benutzern bekannt. Benutzer beteiligen sich am Testen kostenloser Software, kommunizieren direkt mit Entwicklern, was ihnen ermöglicht, Fehler schnell zu finden und zu beheben und neue Funktionen zu implementieren.

Auf dem Markt für Server-Betriebssysteme in Australien hat Linux bereits etwa 30 % eingenommen. Den Australiern folgten die Brasilianer. Die brasilianische Regierung hat beschlossen, von den Ausgaben für Software wegzukommen und von Microsoft-Produkten auf Open-Source-Systeme, insbesondere das Betriebssystem Linux, umzusteigen. Der Hauptgrund für die Änderungen ist wirtschaftlicher Natur. In unserem Land ist der Linux-Markt noch klein.

Dateisystem

Alle Informationen im Computer werden in Dateien gespeichert, mit denen das Betriebssystem arbeitet.

Datei(Datei)- ist eine benannte Folge von Bytes, permanente Speicherung verschiedene Sorten Information.

Dateien sind organisiert in Verzeichnisse, auch Verzeichnisse oder Ordner genannt. Katalog ist eine Datei, die Informationen über andere Dateien speichert: Name, Größe, Erstellungsdatum, Dateiadresse auf der Festplatte.

Jedes Verzeichnis kann eine beliebige Nummer enthalten Unterverzeichnisse, die jeweils Dateien und andere Verzeichnisse speichern können.

Jede Platte hat einen Master bzw Wurzelverzeichnis, das alle anderen Verzeichnisse, sogenannte Unterverzeichnisse, und einige Dateien enthält. So schafft es hierarchische Struktur. Das Verzeichnis, mit dem der Benutzer gerade arbeitet, wird aufgerufen aktuell.

Dateien und Verzeichnisse sind die wichtigsten Objekte in einem Dateisystem. Dateisystem- eine Verordnung, die die Art der Organisation, Speicherung und Benennung von Daten auf Datenträgern definiert. Es definiert das Format für die physische Speicherung von Dateien. Ein bestimmtes Dateisystem bestimmt die Größe eines Dateinamens, die maximal mögliche Dateigröße, eine Reihe von Dateiattributen.

Die Art und Weise, wie Daten in Bytes organisiert sind, wird aufgerufen Datei Format. Um eine Datei wie eine Tabellenkalkulation zu lesen, müssen Sie wissen, wie die Bytes die Zahlen (Formeln, Text) in jeder Zelle darstellen; Um eine Texteditordatei zu lesen, muss man wissen, welche Bytes Zeichen und welche Schriftarten oder Felder und andere Informationen darstellen.

Alle Dateien können bedingt in zwei Teile geteilt werden - Text Und binär.

Textdateien- die häufigste Art von Daten in der Computerwelt. Um jedes Zeichen zu speichern, wird meistens ein Byte zugewiesen, und die Codierung von Textdateien wird unter Verwendung spezieller Codierungstabellen durchgeführt.

Aber sauber Textdateien kommen immer seltener vor. Die Leute möchten, dass Dokumente Bilder und Diagramme enthalten und unterschiedliche Schriftarten verwenden. Als Ergebnis erscheinen Formate, die verschiedene Kombinationen von Text-, Grafik- und anderen Datenformen sind.

Binärdateien Im Gegensatz zu Texten ist es nicht so einfach zu sehen, und in der Regel enthalten sie keine uns bekannten Wörter - nur viele unverständliche Zeichen. Diese Dateien sind nicht dazu bestimmt, von Menschen direkt gelesen zu werden. Beispiele für Binärdateien sind ausführbare Programme und Grafikdateien.

Jede Datei auf der Festplatte ist mit ( Vollständiger Name), die aus 2 Teilen besteht: Name Und Erweiterungen, getrennt durch einen Punkt.

Dateinamenerweiterung- eine optionale Zeichenfolge, die dem Dateinamen hinzugefügt wird und den Typ (das Format) der Datei identifizieren soll. Dies ist eine gängige Methode, mit der ein Benutzer oder eine Computersoftware den in einer Datei gespeicherten Datentyp bestimmen kann.

In frühen Betriebssystemen war die Länge der Erweiterung auf drei Zeichen begrenzt, in modernen Betriebssystemen gilt diese Beschränkung nicht mehr.

Das Betriebssystem oder der Dateimanager kann Dateierweiterungen Anwendungen zuordnen.

Wenn ein Benutzer eine Datei mit einer registrierten Erweiterung öffnet, wird das dieser Erweiterung entsprechende Programm automatisch gestartet. Einige Erweiterungen weisen darauf hin, dass die Datei selbst ein Programm ist. Häufig wird die Dateierweiterung dem Benutzer mit einem Symbol angezeigt.

Treiber

Eine Vielzahl von Geräten kann mit einem PC verbunden werden: eine Videokarte, eine Soundkarte, ein Drucker, ein Scanner, Manipulatoren, Laufwerke, Digitalkameras, Handys... Jeder von ihnen hat seinen eigenen Befehlssatz - seine eigene "Sprache". Damit ein bestimmtes Betriebssystem ein bestimmtes Gerät steuern kann, greifen sie auf „Übersetzer“-Programme zurück, die einerseits die Kommandosprache beherrschen bestimmtes Gerät, und andererseits die Sprache des jeweiligen Betriebssystems, unter dem dieses Gerät arbeiten soll.

Ein solches Programm wird aufgerufen Treiber(Treiber) und wird vom Hersteller mit dem Gerät geliefert. Hardwarehersteller veröffentlichen in der Regel auch von ihnen erstellte Gerätetreiber auf ihren Websites.

Peter Van Valkenburgh, Forschungsleiter beim Coin Center, Vorstandsmitglied der Zcash Foundation, erklärt warum Die Entwicklung von Open-Source-Software ist wichtig, um Vertrauen und Sicherheit in Blockchain-Netzwerken aufzubauen.

Der Computercode hinter allen großen Kryptowährungen und offenen Blockchain-Projekten wird als Open-Source-Software entwickelt. Regulierungsbehörden und politische Entscheidungsträger, die versuchen zu verstehen, was Kryptowährungen sind, aber mit solcher Software nicht vertraut sind, können sich täuschen lassen, zu glauben, dass diese Systeme von einem oder mehreren kommerziellen Unternehmen entwickelt werden (und entwickelt werden sollten). Während viele bekannte Software tatsächlich auf diese Weise entwickelt wird (z. B. Microsofts Windows oder Oracles RDBMS), ist dies bei Open-Source-Projekten anders, und dieser Unterschied kann und sollte sich bilden öffentliche Meinung. Open-Source-Software wird kollaborativ erstellt, frei verteilt, offen veröffentlicht und als Gemeinschaftsprodukt entwickelt, nicht als Eigentum eines einzelnen Unternehmens oder einer Einzelperson. In diesem Fall gibt es kein Monopol, es gibt keine Firma oder Einzelperson, die Software erstellen und verkaufen würde, die sie besitzen würde. So wie es kein einzelnes Unternehmen gibt, dem das Bitcoin-Netzwerk gehört, gibt es auch kein einzelnes Unternehmen, das die Software produziert, die auf mit dem Internet verbundenen Computern läuft und das Netzwerk bildet. Diese Art der Dezentralisierung bringt einige grundlegende Vorteile mit sich, die für Personen, die mit der Softwareentwicklung nicht vertraut sind, schwer zu verstehen sind. Um die Leistungsfähigkeit und das Wesen von Open Source besser zu verstehen, ist es hilfreich, einen Einblick in eine besonders erfolgreiche Open-Source-Software zu erhalten. Wir sprechen über das Betriebssystem Linux.

Überall Open Source

Es ist schwer zu berechnen, wie oft Sie Linux am Tag verwenden, da dieses Betriebssystem die Basis der meisten Server im Internet ist. Wann immer Sie Facebook, Google, Pinterest, Wikipedia und Tausende anderer wichtiger Websites besuchen, die Dienste, die diese (so unterschiedlichen) Websites Ihnen bieten, haben Sie es mit Computern zu tun, die höchstwahrscheinlich auf dem Linux-Betriebssystem laufen. Linux ist viel näher zu finden; höchstwahrscheinlich haben Sie es an Ihren Fingerspitzen. Nehmen wir an, das Betriebssystem von Android-Smartphones basiert auf Linux. Wenn Sie ein Chromebook haben, verwenden Sie einen Linux-basierten Laptop. Dieses Betriebssystem wird zunehmend in Fernsehern, Thermostaten, Multimediasystemen in Flugzeugen, Autos usw. verwendet.

Warum ist es interessant? Weil Linux nicht das Produkt eines Programmierers oder gar einer Gruppe von Programmierern ist; Im Gegensatz zu MacOS oder Windows wurde es nicht von einem oder sogar einem Dutzend Unternehmen entwickelt. Linux hat Tausende von Mitwirkenden. Wie die Linux Foundation (eine gemeinnützige Organisation, die die offene Entwicklung des Betriebssystems fördert) im Jahr 2015 berichtete, haben ungefähr 14.000 Entwickler aus mehr als 1.300 verschiedenen Unternehmen Codeschnipsel beigesteuert. Allein im Jahr 2015 haben 2.355 Entwickler zum ersten Mal zur Verbesserung des Codes beigetragen. So lässt sich hochrechnen, dass bis 2017 rund 18.000 Menschen Beiträge geleistet haben, Tendenz steigend.

Wer hätte noch vor fünf Jahren (1991) gedacht, dass ein Weltklasse-Betriebssystem wie von Zauberhand aus Fragmenten der freiberuflichen Arbeit von mehreren tausend Entwicklern, die über den ganzen Globus verstreut und nur durch die verbunden sind, zu einem einzigen Ganzen geformt werden könnte Geisterfäden des Internets?

Vorteile von Open Source

In seinem Buch spricht Raymond darüber, dass Open Source ein revolutionärer Weg ist, Technologie zu entwickeln. Linux mit Tausenden von unabhängigen Entwicklern, die öffentlich zusammenarbeiten, ist ein Beispiel für das Open-Source-Modell. Kryptowährungen folgen dem gleichen Muster, aber wir werden weiter unten darüber sprechen.

Raymond hob mehrere Vorteile des Open-Source-Modells hervor. Die wichtigsten im Kontext unserer Diskussion sind die folgenden:

  • Jede gute Software beginnt mit der Befriedigung des persönlichen Wunsches des Entwicklers. Die meisten Open-Source-Entwickler werden durch den Wunsch motiviert, die von ihnen erstellten Produkte persönlich zu verwenden. Sie sind nicht an einen Vertrag gebunden, der sie verpflichtet, etwas für einen anderen zu schaffen; Sie haben ein persönliches Bedürfnis, das sie befriedigen. Dadurch entsteht eine qualitativ andere Motivation, die ein detailliertes Problemwissen generiert.
  • Gute Programmierer wissen, was sie schreiben müssen. Die Großen wissen, was sie umschreiben (und wiederverwenden) müssen. Wenn die Entwicklung offen erfolgt, können Redundanzen vermieden und problematische, komplizierte oder redundante Codes identifiziert und vereinfacht werden.
  • Wenn Sie das Interesse an einem Programm verlieren, besteht Ihre letzte Pflicht darin, es einem kompetenten Nachfolger zu übergeben. Menschen kommen und gehen aufgrund ihrer Interessen und ihres Fachwissens in ein Open-Source-Projekt. Niemand bleibt an Projekten hängen, die nicht mehr interessant sind. Es entstehen frische Köpfe, die andere Sichtweisen auf alte Probleme oder neue Perspektiven anbieten.
  • Benutzer als Mitentwickler wahrzunehmen, ist der einfachste Weg, Code zu verbessern und Software effektiv zu debuggen. Viele Open-Source-Benutzer helfen bei der Identifizierung von Problemen und schlagen sogar Lösungen vor. Die Grenze zwischen dem Verbraucher und dem Hersteller von Open-Source-Software ist fließend: Die Arbeit an Software ist transparent, sie findet vor der Öffentlichkeit statt und die Beteiligung am Entstehungsprozess steht allen offen.
  • Mit einer ausreichend großen Basis von Betatestern und Entwicklern wird fast jedes Problem schnell qualifiziert, und seine Lösung wird sicherlich für jemanden offensichtlich sein. Dieses Postulat wird nach Linus Torvalds, dem Schöpfer des Linux-Kernels, der lange Zeit der Hauptentwickler dieses Betriebssystems war, Linus-Gesetz genannt. Wenn der Code-Entwicklungsprozess abgeschlossen ist, laufen Entwickler Gefahr, eine Schwachstelle zu übersehen oder einen bestimmten Fehler nicht zu bemerken. Die Entwicklung in einer Power-User-Umgebung mit einer einzigartigen Vision erhöht die Wahrscheinlichkeit, dass Fehler identifiziert und behoben werden, wodurch Open-Source-Software sicherer und widerstandsfähiger wird.

Das Ergebnis dieser Entwicklung ist sehr robuster Code, der von Benutzern für Benutzer erstellt wurde. Das Ziel ist nicht, etwas zu schaffen, das ein Unternehmen bereichert, das Produkte herstellt und verkauft, sondern ein Problem zu lösen, das so häufig vorkommt, dass eine große Gemeinschaft talentierter Programmierer gerne einen Beitrag leisten kann. Menschen ohne Programmierkenntnisse profitieren stark von einem solchen Modell. Freie Software scheint aus dem Nichts zu entstehen, sie kann von jedem kostenlos genutzt werden und wird aktualisiert, solange auch Experten auf Expertenebene daran interessiert sind, sie zu verwenden.

Recht und freie Software

Die aktuelle Gesetzgebung unterstützt und fördert in einigen Fällen die Entwicklung von Open-Source-Software. Wie jede Software ist sie urheberrechtlich geschützt, aber ihre Autoren veröffentlichen den Code mit einer Lizenz, die es jedem erlaubt, ihn ohne ausdrückliche Genehmigung oder Zahlung an die Autoren zu verwenden und zu modifizieren (d.h. mit einer vom Massachusetts Institute of Technologie - MIT).

Einige Lizenzen beinhalten Anforderungen, dass Derivate der Software unter den gleichen Bedingungen freigegeben werden. Durch dieses Schema wächst und verbreitet sich die Open-Source-Basis. Dieses Phänomen ist als Free Software License oder LGPL-3, die kleinere General Public License, bekannt.

Open Source in Kryptowährungen und Token-Projekten

Linux ist vielleicht das größte und wichtigste Beispiel für das Open-Source-Modell, aber es gibt noch andere. Dazu gehören alle großen Kryptowährungs- und Blockchain-Projekte. Sie alle erschaffen Computernetzwerke, die es den Teilnehmern ermöglicht, sich auf gemeinsame Daten zu einigen (Kryptowährungs-Blockchain).

Die Software, die es jedem Teilnehmer ermöglicht, sich mit dem Netzwerk zu verbinden, wird als Client bezeichnet und ist Open-Source-Software. Häufig wird Client-Software von mehreren unabhängigen Parteien als einfache Version von Netzwerksoftware (d. h. der sogenannte Referenzclient) entwickelt, auf deren Grundlage Mining-, Wallet-, Exchange- oder andere mit dem Netzwerk kompatible Software erstellt werden kann.

Klient Bitcoin-Kern- das Ergebnis der Arbeit von mehr als 450 unabhängigen Entwicklern, die mehr als 15.000 Mal zur Entwicklung des Codes beigetragen haben. Die Software steht gemäß der MIT Free Software License zur kostenlosen Nutzung und Änderung zur Verfügung, und die gesamte Entwicklungsgeschichte ist in einem öffentlichen Repository auf Github verfügbar - Cloud-Dienst, sodass jeder ein Konto erstellen, neuen Code hochladen und Änderungen verfolgen kann. Wenn das von Ihnen erstellte Repository zur Überprüfung, für Kommentare und Änderungsvorschläge öffentlich zugänglich ist, müssen Sie nicht einmal für ein Github-Konto bezahlen.

Das öffentliche Repository verfolgt auch sogenannte Forks des ursprünglichen Clients. Ein Fork erstellt einen Klon der ursprünglichen Software, die dann für den einen oder anderen Zweck modifiziert werden kann, ohne das ursprüngliche Repository zu ändern. Entwickler teilen das Bitcoin Core Github-Repository frei, um entweder bestimmte Bitcoin-kompatible Anwendungen (z. B. eine Smartphone-Brieftasche) oder eine neue Kryptowährung zu erstellen, die nicht mehr mit dem Bitcoin-Netzwerk kompatibel ist und die Erstellung eines neuen Kryptowährungsnetzwerks beinhaltet (z. B. mit Litecoin oder Zcash). Bis heute wurde der ursprüngliche Bitcoin Core-Client über 10.000 Mal gegabelt, und neue Repositories, die auftauchen, zeigen, dass die Arbeit mit Derivaten weitergeht.

Inzwischen gibt es auf Ethereum mindestens 121 Repositories, die sich jeweils auf einen bestimmten Aspekt des Projekts konzentrieren (z das Netzwerk usw.). Es gibt mindestens acht Projekte, die sich auf die Entwicklung von Ethereum-kompatiblen Clients konzentrieren, wobei Hunderte von unabhängigen Entwicklern an den beliebtesten Clients (Go-Ethereum und Parity) arbeiten. Der Ethereum-Code und seine vollständige Geschichte sowie der Code und die Geschichte von Bitcoin sind auf Github und anderen Netzwerk-Repositories öffentlich verfügbar, und alle Codes werden unter der LGPL-3-Lizenz veröffentlicht, was erfordert, dass alle zukünftigen abgeleiteten Werke unter veröffentlicht werden die gleiche Lizenz. .

Auch aktuelle Projekte von kommerziellen Start-Ups zeigen das Festhalten am Open-Source-Credo. Die Zcash Company entwickelt das Zcash-Protokoll über ein öffentliches Repository. Mehrere leitende Entwickler arbeiten nicht für das Unternehmen, und eine eigens gegründete gemeinnützige Organisation wird hinzugezogen, um sicherzustellen, dass es einen allmählichen Übergang von der unternehmensgesteuerten Entwicklung zur Community-gesteuerten Entwicklung gibt. Die Quellcodebasis von Zcash wird unter Lizenz des Massachusetts Institute of Technology veröffentlicht. Protocol Labs, der Entwickler von Filecoin, beabsichtigt, ein ähnliches offenes Modell zu erstellen und hat es bereits in seinem IPFS-Projekt getestet, indem es mit Code in offenen Repositories arbeitet und es unter der MIT-Lizenz veröffentlicht.

Warum Open Source wichtig ist

Kryptowährungen und offene Blockchains können Funktionen bereitstellen, die reguliert würden, wenn sie von einem einzelnen Unternehmen stammen würden. Zentralisierte Emittenten digitaler Währungen wie Liberty Reserve oder E-Gold waren Finanzdienstleister und mussten sich beim Financial Crimes Enforcement Office des US-Finanzministeriums registrieren lassen und eine Lizenz für den Geldtransfer in jedem Bundesstaat erhalten. Wenn solche Token auf dem Markt beworben werden, um Investoren anzuziehen, können sie gleichgesetzt werden Wertpapiere, in diesem Fall ist eine Registrierung bei der US Securities and Exchange Commission erforderlich. Diese Einschränkungen sind sinnvoll, da zentralisierte Dienste das Risiko eingehen, dass die Partei im Zentrum des gesamten Systems ihre Versprechen nicht erfüllen kann, indem sie das Produkt angemessen testet und sicher macht.

Technologien wie Bitcoin können jedoch ähnliche Funktionen bieten, da sie offene und unbesessene Netzwerke sind. Hier gibt es kein Unternehmen. Benutzer schließen sich diesen Netzwerken an, und Open-Source-Software stimuliert ihre Bereitschaft zur Zusammenarbeit. Letztendlich einigen sich alle Beteiligten auf alle Daten, die zur Erstellung einer Währung benötigt werden. Die Dezentralisierung ruht auf zwei Säulen: offene Konsensmechanismen und Open-Source-Software. Wenn der Code nicht Open Source wäre, wie würden Teilnehmer (Personen, die sich im Internet nicht kennen) in der Lage sein, das System, dem sie beitreten, zu verstehen und ihm zu vertrauen?

Tatsächlich können sich Token-Projekte, die auf proprietärem Code basieren, als zentralisierte Dienste erweisen, die sich hinter professionellem Slang und „Blockchain-Kauderwelsch“ verstecken. Bei „echten“ Projekten ist jedoch der Code, der ein dezentrales Netzwerk schafft, das es den Teilnehmern ermöglicht, einander zu vertrauen, eine gemeinsame Motivation zu haben und Betrüger zu bestrafen, selbst dezentralisiert. Es wird von Hunderten von Enthusiasten vor aller Augen entwickelt, steht jedem auf der ganzen Welt zur Nutzung und Modifikation zur Verfügung und ist völlig unabhängig von Unternehmensinteressen.

Markus Roberts
Leiter Produktmanagement (Direktor, Produktmanagement)
QNX-Softwaresysteme
Email: [E-Mail geschützt]

Anmerkung

Dieser Artikel konzentriert sich auf die Vorteile, strategischen Überlegungen, Hindernisse und Möglichkeiten, die mit der Verwendung von Open-Source-Software in der kommerziellen Produktion verbunden sind. Am Beispiel der Integrated Development Environment (IDE) auf Basis der Eclipse-Plattform gehen wir auf die Unterschiede zwischen schützenden (schützenden) und nicht schützenden (nicht schützenden) Software-Quellcodelizenzen ein. Bei der Integration oder Verknüpfung von Open-Source-Code mit „proprietärem“ Closed-Source-Code ist oft Sorgfalt und Aufmerksamkeit gefragt. Es gibt auch verschiedene rechtliche Fragen, die zu beachten sind, wie z. B. die Möglichkeit einer Patentverletzung. Wir werden auch versuchen zu erklären, warum die Grundprinzipien der Verwendung von Open-Source-Software in einer Umgebung der Informationstechnologie (IT) nicht für kommerzielle Produkte für eingebettete Geräte gelten.

QNX Momentics Entwicklungsumgebung als Open-Source-Beispiel

Im Jahr 2001, als viele Softwareunternehmen angesichts eines allgemeinen Zusammenbruchs der Aktienmärkte von IT-Unternehmen ums Überleben kämpften, traf QNX Software Systems die strategische Entscheidung, mit der Entwicklung eines neuen integrierten Systems zu beginnen Entwicklungsumgebung (IDE) für den Markt eingebettete Systeme. Das Unternehmen verfügte bereits über solide Erfahrung in der Entwicklung einer Reihe von Tools für die Entwicklung eingebetteter Geräte, aber das Management des Unternehmens erkannte, dass die Schaffung einer IDE es ihm ermöglichen würde, in einem hart umkämpften Umfeld auf der Höhe der Zeit zu bleiben. Die Entscheidung, eine IDE zu erstellen, wurde auch durch eine Schwerpunktverlagerung bei den Kundenanforderungen vorangetrieben. Während des Geschäftsabschwungs interessierten sich finanzschwache Kunden mehr für Lösungen, die die Produktivität maximieren und sie bei ihrer Arbeit mobiler (flexibler) machen könnten, was die allgemeine wirtschaftliche Effizienz verbessern würde.

Für QNX war die Entwicklung einer IDE „eine Wette auf die Zukunft“, da die Kosten und der Aufwand für die Entwicklung des Projekts zu dieser Zeit für die meisten Anbieter von Embedded-System-Tools unerschwinglich waren. Glücklicherweise hat QNX in verschiedenen Segmenten des Marktes für eingebettete Geräte eng mit IBM zusammengearbeitet. Durch enge Zusammenarbeit teilte IBM mit QNX seine Pläne zur Veröffentlichung einer integrierten Open-Source-Entwicklungsumgebung, die später die Grundlage für die Eclipse-Plattform wurde.

IBM bot an, die Erfahrung von QNX zu nutzen, um die IDE-Technologie an die Bedürfnisse von Entwicklern anzupassen, die an der Erstellung eingebetteter Anwendungen auf der Grundlage der Sprache C/C++ beteiligt sind. QNX-Experten wiesen fast sofort auf die unwiderlegbaren attraktiven Aspekte der Verwendung von Open-Source-Codes für die IDE hin. Für eine solche Umgebung wäre beispielsweise Folgendes möglich:

  • Eliminierung der Abhängigkeit von einem einzelnen Anbieter, die normalerweise mit der Notwendigkeit verbunden ist, eine Windows-Plattform zu lizenzieren;
  • den Quellcode zur Anpassung an die Bedürfnisse des Kunden anbieten;
  • seriöse Branchenakteure anziehen, um ein Ökosystem komplementärer Technologien und Plug-ins zu unterstützen und zu schaffen;
  • Bereitstellung einer stabilen Architektur für Kunden, die die Produktdifferenzierung unterstützen kann;
  • ermöglichen es Entwicklern von Embedded-Geräten, Standard-Workstations, die für die Arbeit mit Anwendungen der Informationstechnologie (in den unterschiedlichsten Anwendungsbereichen) geeignet sind, als Entwicklungsplattform zu verwenden.

Schließlich gab es eine separate Möglichkeit, dass sich die IDE-Plattform durchsetzen und zu einem De-facto-Standard werden könnte, wodurch QNX das große Ökosystem von Entwicklern und Tools von Drittanbietern nutzen könnte, die eine solche Plattform verwenden.

Open-Source-Projekt Eclipse.org gegründet

Im November 2001 gründeten Borland, IBM, Merant, QNX Software Systems, Red Hat und SUSE das Eclipse Consortium. Anfang 2004 reorganisierte das Board of Stewards das Eclipse Consortium in eine gemeinnützige Gesellschaft namens Eclipse Foundation.

Eclipse war von Anfang an ein echtes Open-Source-Projekt. Das Projekt bot sowohl kostenlose Open-Source-Technologien als auch Zugang zu einer Community der am besten ausgebildeten und fortschrittlichsten Entwickler auf ihrem Gebiet. Auf diese Weise, diese Technologie erwies sich als universelle Plattform für die Integration aller Arten von Entwicklungswerkzeugen. Es basiert auf einer offenen, erweiterbaren Architektur und ist eindeutig als lizenzfreies, frei verteilbares Produkt lizenziert. Die Beiträge der Community-Mitglieder zum Eclipse-Projekt basieren auf dem standardmäßigen Entwicklungsmodell für Open-Source-Software (OSS), aber die meisten Mitglieder tragen auch kommerzielle Entwicklungen auf Basis der Eclipse-Plattform bei.

Werkzeuglagerprojekt

Im Dezember 2001 begann QNX mit der Entwicklung seines QNX® Neutrino® RTOS basierend auf der Eclipse IDE. Die Vision des Unternehmens war eine hochfunktionale, C/C++-orientierte IDE mit tief integrierten Tools zum Debuggen, Profiling, Analysieren und Erstellen eingebetteter Anwendungen. Von Anfang an wollte das QNX-Team eine multifunktionale, mehrsprachige IDE sein, die mehrere Tool-Plattformen unterstützt. Dazu gehörten:

  • mehrere instrumentelle Plattformen: Windows, Solaris, QNX Neutrino RTOS (selbst gehostete Entwicklung);
  • mehrere Zielarchitekturen: ARM, MIPS, PowerPC, SH-4, x86;
  • Programmiersprachen C, C++, Java.

Seitdem ist die IDE kontinuierlich gewachsen und umfasst Unterstützung für die Linux-Plattform und Unterstützung für zusätzliche Prozessorarchitekturen, einschließlich der XScale-Prozessoren.

Die Umsetzung des Projekts wurde im Stil des „Extreme Programming“ gestartet. Das Unternehmen wählte ein Team aus 12 besten Ingenieuren aus. Sie bekamen einen speziellen Raum, sie wurden von allen Ablenkungen isoliert, das Projekt wurde ihnen zur vollen Verfügung gestellt.

Der Gruppe wurde die notwendige Entscheidungsbefugnis gegeben, ein straffer, risikoaverser Arbeitsplan wurde aufgestellt, mit einer Beta-Version des Produkts in 16 Wochen und einer kommerziellen Veröffentlichung bis zum 4. Juli 2002. Die Gruppe traf alle Anforderungen Meilensteine ​​setzen und ein neues Produkt namens QNX Momentics® IDE termingerecht herausbringen, das das Potenzial von Open-Source-Software zur Verkürzung der Markteinführungszeit demonstriert.

Von der Idee bis zur Produktlieferung - weniger als 7 Monate

Aufbauend auf der Eclipse-Plattform stellte das QNX-Team innerhalb von sechs Monaten eine sehr leistungsstarke und vielseitige IDE für die Entwicklung eingebetteter Software fertig. Die IDE unterstützte die plattformübergreifende Entwicklung für mehrere Toolplattformen und Programmiersprachen und unterstützte die beliebtesten eingebetteten Zielprozessorplatinen. Mit der Eclipse-Plattform war QNX in der Lage:

  • Verwenden Sie GNU-Compiler und Befehlszeilentools für die Cross-Entwicklung;
  • Implementieren Sie Unterstützung für Plug-Ins von Drittanbietern, wie z. B. IBM WebSphere für eingebettete Java-Anwendungen und Rational ClearCase für modellgetriebene Entwicklung;
  • Erstellen Sie zusätzliche Tools zum Erstellen von Systemen, Verwalten von Zielgeräten, Analysieren von Speicher, Profilieren von Systemen und Anwendungen usw.

Auf Abb. Abbildung 1 zeigt ein Beispiel dafür, wie die Eclipse-Plattform die Kosten für den Aufbau einer IDE reduzieren kann, sodass sich Unternehmen auf die oberen Entwicklungsebenen konzentrieren können, auf denen die wirklichen Innovationen gemacht werden. Mit der Eclipse-Plattform war QNX beispielsweise in der Lage, auf einfache Weise mehrere innovative Visualisierungstools zu erstellen, mit denen Sie tief in ein eingebettetes System eindringen und sein Verhalten anzeigen können.

Gegenleistung für die Arbeit der Gemeinschaft

Die Stärke eines erfolgreichen Open-Source-Projekts liegt darin gemeinsame Arbeit Gemeinschaft von Entwicklern und in der ständigen Verbesserung der Codebasis. Wenn ein Unternehmen Open Source annimmt und sinnvoll nutzt, dann hat es einfach die Pflicht, einen Beitrag zur Gemeinschaft zu leisten. Zu diesem Zweck übernahm QNX im Juni 2002 die Leitung des Eclipse CDT-Projekts.

Das Ziel des Eclipse-CDT-Projekts (C/C++ Development Tools) ist die Erstellung eines gemeinsamen Satzes interoperabler C/C++-Sprachtools für die Eclipse-Plattform. Eclipse CDT wurde als Open-Source-Projekt positioniert, mit Verwaltungsrechten von der Eclipse Corporation. Um das CDT-Projekt zu starten, spendete QNX seine Entwicklungsressourcen und den Quellcode für das QNX Momentics IDE-Projekt. Rational und Red Hat haben als Mitglieder der Community das Projekt ebenfalls maßgeblich unterstützt.

Reis. 1. Mit der Eclipse-Plattform können sich Tool-Anbieter auf die oberste Ebene des Work-Stacks konzentrieren, wo die eigentliche Innovation tatsächlich entsteht.

QNX betreut weiterhin das CDT-Projekt, das von anfänglich bescheidenen 80.000 Codezeilen auf heute über 700.000 Codezeilen angewachsen ist. Anfang 2006 schätzte das Fortschrittsprotokoll des Eclipse CDT-Projekts den Beitrag von QNX auf 52 %. Als nächstes folgte IBM mit einem Beitrag von 36 %. Das CDT-Projekt ist nach der Eclipse-Plattform selbst das zweitbeliebteste Eclipse-Projekt.

Kann ich es mir leisten, den Code zu „schenken“?

Es mag den Anschein haben, dass "Ihren Code spenden" bedeutet, gegen den gesunden Menschenverstand zu handeln. Wenn sich die Funktionalität Ihres Produkts jedoch als nützlich erweist, warum tragen Sie es nicht zur Open-Source-Benutzergemeinschaft bei? Durch diesen Schritt kann man von einem solchen "Standard"-Implementierungsangebot profitieren, zusammen mit dem Vorteil des Produktsupport-Know-hows. Sie können von der Arbeit der gesamten Community profitieren, die darauf abzielt, die Codebasis zu verbessern. Eine solche Strategie kann Ihre eigenen Ressourcen für zusätzliche Forschung freisetzen, die sich auf Innovationen und das Hinzufügen von Funktionen zu Ihren Produkten konzentriert.

Darüber hinaus könnten Sie eine gewisse Kontrolle über die Richtung der "Standard"-Plattform erlangen - verdient natürlich durch Ihre Beiträge zur Community! Wenn Sie ein Projekt unterstützen, verhalten Sie sich wie ein guter Bürger der Gemeinschaft, respektieren Sie die Meinung anderer Menschen, schätzen Sie die Beiträge und Ratschläge anderer Mitglieder. Glauben Sie nicht, dass jemand versuchen wird, Ihre Taschen zu reinigen, indem Sie den Code verwenden, und Ihnen die Richtung der Plattformentwicklung abnehmen.

Beispielsweise besteht die Strategie von QNX Software Systems darin, die Beteiligung von Eclipse zu nutzen und gleichzeitig neue Funktionen zu entwickeln, die sich über die standardisierten Erweiterungspunkte integrieren lassen, die bereits in den Eclipse- und CDT-Plattformen enthalten sind. Zu diesem Zweck beabsichtigt QNX, ein aktives Mitglied der Eclipse-Community zu bleiben, von der bestehenden Codebasis und der Arbeit von Drittanbietern (Plug-ins) zu profitieren und durch die Erstellung proprietärer Erweiterungen dazu beizutragen, echte Kundenbedürfnisse zu erfüllen. Die beschriebene Strategie ist in Abb. 1 dargestellt. 2.

Reis. 2. Mit Ihrer Arbeit können Sie zur Arbeit der Gemeinschaft beitragen.

Zusammenfassung der Vorteile

Die Eclipse-basierte Tool-Plattform ist für Anwendungsentwickler wie QNX und Kunden, die Plattform-Tools kaufen, von gegenseitigem Nutzen.

Entwickler profitieren von einer kürzeren Markteinführungszeit für ihre Produkte und der Möglichkeit, (zu geringen Kosten) von der Forschung anderer zu profitieren. Diese Ergebnisse können qualitativ hochwertigen "sauberen IP"-Code enthalten, der von angesehenen Firmen wie IBM und QNX bereitgestellt wird. Ein weiterer Vorteil für den Entwickler besteht darin, dass er ein einfaches und klares Lizenzsystem erhält, das kommerzielle Rechte und einen gewissen Patentschutz umfasst. Darüber hinaus erhält der Entwickler die Möglichkeit, auf mehreren von Eclipse unterstützten Betriebssystemplattformen zu arbeiten, sowie Zugriff auf genau definierte Erweiterungspunkte im Eclipse-Projekt.

Kunden, die eine Eclipse-basierte IDE kaufen, profitieren von einer Tooling-Plattform, die für die Entwicklung eingebetteter Anwendungen mit starker Cross-Compilation-Unterstützung, einfachem Debugging und Verwaltungserweiterungen entwickelt wurde. Zielsysteme. Das Entwicklungsteam des Kunden wird die vielen Funktionen zu schätzen wissen, die die Arbeit erleichtern, den geringen Zeitaufwand für zusätzliche Schulungen, die gute Leistung des Produkts und die robuste Plattform, die es Ihnen ermöglicht, an großen Projekten zu arbeiten. Der Kunde kann auch in eigenen Anwendungen (zB RCP, eRCP etc.) von der Eclipse-Plattform profitieren.

Die Zukunft der Eclipse Corporation

Die Eclipse Corporation ist eine aktive und tatkräftige Gemeinschaft. Es entstehen ständig neue Projekte, neue Architekturen werden etablierten innovativen Unternehmen zur Verfügung gestellt, und selbst kleine Unternehmen können die Eclipse-Plattform kommerzialisieren, indem sie neue Plug-ins erstellen, die die vorhandene Funktionalität zu minimalen Kosten erweitern (siehe Abbildung 3).

Reis. 3. Die Eclipse Corporation ist eine lebendige und schnell wachsende Gemeinschaft von Plug-in-Entwicklern.

Vergleich von Open-Source-Lizenzen

Nicht alle Open-Source-Softwarelizenzen sind gleich. QNX hat mit der Eclipse Public License einen wohldurchdachten Schritt gemacht. Diese Entscheidung wurde teilweise durch die Bedürfnisse seiner Embedded-Kunden und teilweise durch den Wunsch getrieben, die Kontrolle über (und Kapital aus) Technologie zu erlangen, die Produkte differenziert.

Die gemeinnützige Organisation Open Source Initiative () hat eine nützliche 10-Punkte-Definition von Open Source entwickelt. Derzeit gibt es auf der Website über 50 OSI-genehmigte Lizenzen, einschließlich der Eclipse Public License. Diese Lizenzen können erhebliche Unterschiede enthalten, die klar verstanden werden sollten. Diese Unterschiede können das geistige Eigentum (IP) von Entwicklern und die Fähigkeit, es zu schützen, erheblich beeinträchtigen. Dies gilt vor allem im Fall der Verwendung von Open Source (oder abgeleiteten Werken, die auf Open Source basieren) in eingebetteten Geräten.

Schützende und nicht-defensive Lizenz

Unter den Bedingungen einer Schutzlizenz, wie der GPL v2, darf ein abgeleitetes Werk nur zusammen mit dem entsprechenden Quellcode verbreitet werden. Unter den Bedingungen der Schutzlizenz wird garantiert, dass ein Quellcode, der in die Open-Source-Kategorie verschoben wird, in allen nachfolgenden Generationen und abgeleiteten Produkten in dieser Kategorie verbleibt. Wie wir später erläutern werden, führt diese Anforderung bei eingebetteten Systemen zu gewissen Problemen.

Beispiele für nicht schützende Lizenzen sind die ursprünglichen MIT- und BSD-Lizenzen. Nicht-Schutzlizenzen behalten das Urheberrecht des Eigentümers, gewähren dem Benutzer jedoch umfangreiche Rechte, einschließlich des Rechts zur Änderung und uneingeschränkten kostenlosen Verteilung (oder persönlichen Nutzung) der Software.

Was ist mit "viraler Lizenz" gemeint?

Manche Leute nennen die GPL eine "virale Lizenz". Diese Bezeichnung entstand aufgrund der Unsicherheit der rechtlichen Definition des Begriffs „Derivatentwicklung“. Bei strenger Auslegung der Definition stellt sich heraus, dass, wenn auch nur ein kleines Stück GPL-lizenzierter Code in eine proprietäre Anwendung eingebettet ist, die gesamte Anwendung als GPL lizenziert werden muss. Da fällt mir sofort die Analogie mit einem Virus ein.

Vergütungsfragen

In letzter Zeit sind die Fragen der Entschädigung für IP-Verletzungen (IP Indemnification) zum Hauptdiskussionsthema für Entwickler geworden. Als Reaktion darauf haben einige Open-Source-Anbieter angekündigt, dass sie Kunden gegen Patent- oder Urheberrechtsverletzungsklagen verteidigen werden. Und die neuesten Open-Source-Lizenzen sehen Strafen für Benutzer vor, die versuchen, ihre Patentrechte gegen andere Benutzer der Codebasis geltend zu machen.

Die Hauptprobleme, die bei der Kommerzialisierung von Open-Source-Software auftreten

Vergleich eingebetteter und IT-Anwendungen

Der Erfolg des Open-Source-Bereichs wurde durch die Einführung von Linux durch IT-Organisationen angeheizt. Der Vorteil der Verwendung von Linux lag in der Ausführung auf relativ homogener und stabiler Hardware (normalerweise der x86-Familie) und der Verwendung einer flexiblen, ressourcenreichen Computerplattform.

Bei eingebetteter Software ist das ganz anders. Die Software läuft auf einer großen Anzahl von Geräten mit einem festen Satz von Funktionen und verwendet eine breite Palette von Hardware mit einer Vielzahl von Architekturen. Entwickler von eingebetteten Geräten gründen ihren Wettbewerbsvorteil oft auf einem bestimmten Satz von Funktionen, Größe, Leistung, Kosten, Batterielebensdauer, Zuverlässigkeit, Interoperabilität und Skalierbarkeit. Diese Unterscheidungsmerkmale werden normalerweise in Low-Level-Software implementiert, die im Fall von Linux eine direkte Verknüpfung mit dem Betriebssystemkern erfordert. Das Anpassen von Low-Level-Software an die Kundenanforderungen ist die Regel, nicht die Ausnahme, sodass Entwickler die gewünschte Funktionalität häufig durch Ändern des Betriebssystemkerns erhalten. Die Methode der direkten Verlinkung wird auch durch Einbettung in Codefragmente verwendet, um den Aufwand für die Erstellung von Bibliotheken zu reduzieren. Zusammengenommen machen es diese Praktiken sehr schwierig, proprietären Code unter Lizenzen wie der GPL (Public Domain) zu schützen.

Typischerweise gelten diese Lizenzierungsprobleme nicht für IT-Anwendungen, da unternehmensspezifische Markensoftware nicht über das Unternehmen hinaus vertrieben wird und ausschließlich für interne Zwecke verwendet wird. Bei Embedded Devices wird über diese immer abgeleitete Software vertrieben, gegen die die „force open“-Klausel von Open-Source-Lizenzen ausgelöst wird, die wertvolle Open-Source-Angebote in wesentlichen Aspekten gefährden kann.

Darüber hinaus haben eingebettete Produkte oft eine lange Lebensdauer, sowohl in der Produktion als auch im Service. Ein eingebettetes Produkt, das den Nutzungsbedingungen von Open Source unterliegt, ist einem größeren Risiko ausgesetzt, einschließlich fehlender langfristiger technischer Unterstützung, potenzieller Sicherheitsprobleme und Verletzung von geistigem Eigentum.

Lizenzprobleme

Rechtsstatus-Unsicherheit

Trotz der tröstenden Worte einiger Befürworter von Open-Source-Lizenzen wurden viele der wichtigsten Probleme, über die Entwickler von eingebetteten Systemen Bedenken geäußert haben, noch nicht umfassend von der Justiz geprüft. Wie bereits erwähnt, ist die Definition von „abgeleiteter Arbeit“ der Schlüssel zur Durchsetzung bestimmter Lizenzbedingungen, obwohl viele Einzelpersonen und Organisationen, die Open-Source-Nutzungsbedingungen akzeptieren, wenig oder gar kein Verständnis für die Bedeutung dieses Begriffs haben.

Einige Problemumgehungen, die es kommerziellen Anbietern ermöglichen, „proprietäre“ Treiber in Linux einzubetten (z. B. ladbare Kernelmodule), verlassen sich auf „er sagte, sie sagte“-Argumente und nicht auf direkte Links zum Text der Lizenzvereinbarung. Tatsächlich sind solche Treiber, die LKM-Module verwenden, eine gefährliche Umgehung der Anforderungen der GPL-Lizenz. Im Extremfall kann man den Fall so interpretieren, dass die Linux-Codebasis für die Mehrheit als nutzlos dargestellt werden kann. praktische Anwendungen, wenn es einige dieser sehr "proprietären" Treiber nicht enthält. Diese Situation kann die Idee einer GPL-Lizenz effektiv entwerten.

Fehlende Entschädigung für IP-Verletzung

In den meisten Fällen, in denen Open-Source-Code verwendet wird, besteht die reale Möglichkeit, dass Sie unbeabsichtigt die Patentrechte anderer verletzen. Nur wenige Open-Source-Lizenzen beziehen sich ausdrücklich auf Patente, und stillschweigende Lizenzen können nicht beurteilt werden. Sie müssen alle Patente, die sich beispielsweise auf Open-Source-Codecs beziehen, die MP3-Algorithmen oder andere proprietäre Lösungen implementieren, separat lizenzieren. In der Zwischenzeit sind die bösen Jungs (einschließlich Microsoft) damit beschäftigt, ein Portfolio von Patenten aufzubauen, von denen viele Experten glauben, dass sie auf Open-Source-Befürworter abgefeuert werden könnten.

Einige Lizenzen beziehen sich explizit auf Patente. Beispielsweise erwähnt die Eclipse Public License ausdrücklich Patentrechte und enthält eine Klausel über Strafen, falls jemand versucht, Patentrechte auf andere Weise geltend zu machen. Die Eclipse Corporation unternimmt auch große Anstrengungen, um den Code zu überprüfen und seine Herkunft in Bezug auf Lizenzen, Patente oder Urheberrechte zu bestimmen.

Zusätzliche Bemühungen zum Schutz des geistigen Eigentums

Um Open Source zu nutzen, muss ein Unternehmen erhebliche Anstrengungen in den folgenden Bereichen unternehmen:

  • Produktvertriebsmanagement;
  • Lizenzverwaltung;
  • Lösung von Rechtskonflikten in Bezug auf Kundenverpflichtungen;
  • die gebührende Beachtung rechtlicher Fragen: Aufrechterhaltung der Reinheit von IP-Rechten, Überprüfung von IP-Rechten auf Open Source, Ermittlung der Herkunftsquelle von Code, Nachverfolgung von Änderungen in Lizenzversionen, z. B. GPL v3 usw.

Annahme von Kundenanforderungen

Einige große Kunden weigerten sich angesichts der Komplexität und Ungewissheit von Open-Source-Software, sich mit Produkten zu befassen, die Open Source enthielten. Wenn Sie dennoch mit diesen Clients arbeiten möchten, müssen Sie sie anfordern oder dazu auffordern, kommerzielle Lizenzbedingungen für Ihren Code hinzuzufügen.

IP-bezogene Probleme

Beeinflussen die Bedingungen Ihrer Open-Source-Lizenz das geistige Eigentum, das Ihr Produkt auszeichnet? Wenn ja, dann ist Ihre IP gefährdet.

Wenn eingebettete Systeme eine Mischung aus eigener Software und Open-Source-Software verwenden, müssen Sie das Wesen, die Herkunft und die Beziehung aller Komponenten der eingebetteten Software verstehen. Ohne diesen tiefen Einblick in die Materie könnten Sie versehentlich das geistige Eigentum eines anderen verletzen oder sogar die Rechte an Ihrer eigenen Software verlieren.

Ohne Patentlizenzen und Vergütungen machen die langlebige Software für eingebettete Systeme, der relativ hohe Verkaufspreis und das Verkaufsvolumen eines eingebetteten Geräts mit fester Funktion solche Systeme zu einem offensichtlichen Ziel für Patentverletzungsklagen durch die "bösen Jungs" und Hauptkonkurrenten.

Wie das Beispiel der Verwendung der QNX Momentics IDE zeigt, gibt es viele unmittelbare Vorteile von Open-Source-Software, darunter kürzere Markteinführungszeiten, niedrigere Entwicklungskosten und mehr Freiheit beim Hinzufügen von Funktionen und Innovationen zu Ihrem Produkt. Wenn Sie Ihre Software als Service anbieten, der das Problem eines Kunden löst, ist es dem Kunden egal, ob Sie Open-Source-Software verwenden oder nicht, er zahlt nur für die Funktion, die er benötigt.

Sie sollten jedoch den Unterschied zwischen verschiedenen Open-Source-Lizenzen verstehen und diejenige auswählen, die Ihrer Anwendung und den Kundenanforderungen am besten entspricht. Seien Sie außerdem darauf vorbereitet, für die Lizenzverpflichtungen der von Ihnen gewählten Software verantwortlich zu sein. Sie sollten sich über andere IP-Anforderungen (z. B. Patentrechte) im Zusammenhang mit dem Programmcode im Klaren sein. Seien Sie vorsichtig bei einer Codebasis, die keine Meldung über die Folgen einer IP-Verletzung anzeigt. Suche bessere Projekte, wo vorgeschlagen wird, mögliche Schäden zu entschädigen, und wo eine Bildschirmmeldung über Geldspenden für die Entwicklung von Code angezeigt wird, um Kosten im Zusammenhang mit Urheberrechts- oder Patentverletzungen zu kompensieren, und so weiter. Stellen Sie außerdem sicher, dass die von Ihnen verwendete Open-Source-Software mit Ihrer Richtlinie zu geistigem Eigentum übereinstimmt, und vermeiden Sie defensive Lizenzen, die Sie dazu zwingen könnten, bestimmte Teile Ihres Codes offenzulegen. Wenn Ihr Produkt in das System integriert ist, sollten Sie auch kommerzielle Lizenzbedingungen für Ihr geistiges Eigentum anbieten.

Die Verwendung von Open Source in eingebetteten Geräten wirft komplexere Probleme auf als die Verwendung von Open Source-Software in IT-Anwendungen, da erstere riskanter ist. Bevor Sie sich für den Einsatz einer Open-Source-Software entscheiden, evaluieren Sie die tatsächlichen Betriebskosten (TTCO) und ihre Eignung für Ihr Projekt.

Schließen Sie sich schließlich der Community von Open-Source-Benutzern und -Entwicklern an, um den größten Nutzen und Nutzen für sich selbst zu erzielen!



Wird geladen...
Spitze