Wir diskutieren die Herausforderungen, denen Open Source-Entwickler gegenüberstehen, und wie sich die Herausforderungen auf das gesamte IT-Ökosystem auswirken.
Fotos - James Sutton - UnsplashOpen Source - die Grundlage des Internets
Laut
der Linux Foundation verwenden 72% der Fortune 2000-Unternehmen Open Source-Tools, um ihre Probleme zu lösen. Gleichzeitig verwenden 55% Open Source in kommerziellen Produkten. Open-Source-Software wird in Rechenzentren verteilt - beispielsweise arbeiten Facebook, Rackspace, NASA und
AT & T damit. Eine Reihe von Cloud-Anbietern und IT-Unternehmen haben sogar das
Open Compute-Projekt gegründet . Sie entwickelt eine offene Standard-Server-Rack-Architektur (Open Rack) und modulare Server-Anforderungen für Cloud-Rechenzentren (OpenCloud Server).
Ein wesentlicher Teil der beliebten Open Source-Produkte sind Großprojekte wie Kubernetes, TensorFlow oder Ansible. Sie werden von großen IT-Unternehmen entwickelt und finanziert. Es gibt aber auch kleine Produkte (z. B.
cURL ), die von Enthusiasten unterstützt werden. Oft tun sie dies auf freiwilliger Basis und in ihrer Freizeit. Und hier liegen Fallstricke.
Warum wird dieses Modell kritisiert?
Das Konzept von Open Source impliziert, dass jeder die Quelle ändern und Fehler in ihnen korrigieren kann. Gemeinsame Anstrengungen erhöhen die Qualität der Codebasis und reduzieren die Anzahl der Fehler. Leider funktioniert dieses Modell nicht immer.
Ein wesentlicher Teil der Änderungen in einem Open Source-Projekt wird entweder von einem kleinen Team oder einem Betreuer vorgenommen. Beispielsweise gehören von 25.000
Commits im cURL-Repository 14.000 dem Autor - Daniel Stenberg. Die Anzahl der Entwickler der OpenSSL-Bibliothek betrug lange Zeit
nicht mehr als vier Personen. Die meisten Zusagen wurden
von einem von ihnen gemacht - Steve Henson. Daher ist es unter solchen Bedingungen leicht, den Fehler zu übersehen und zu "überspringen".
Vor fünf Jahren entdeckte OpenSSL eine der größten Sicherheitslücken in der Software -
Heartbleed . Es ermöglicht das unbefugte Lesen von Speicher auf einem Server oder Client. Dann wurde die Anzahl der gefährdeten Websites auf eine halbe Million
geschätzt . Der Patch wurde sofort veröffentlicht, aber bereits 2017 waren 200.000 von Heartbleed betroffene Websites in Betrieb.
Fotos - James Sutton - UnsplashViele Open Source-Projekte haben Finanzierungsprobleme. Dasselbe OpenSSL
gibt es aufgrund von Spenden der Community und Einnahmen aus Unternehmensverträgen - der Betrag überschreitet nicht eine Million Dollar pro Jahr. Der ehemalige CEO des Projekts
sagte, dass einer der Gründe für das Erscheinen von Heartbleed genau der Mangel an Finanzmitteln war. Es kann für Ingenieure schwierig sein, selbst für Konsultationen Mittel aufzubringen. Laut Daniel Stenberg wenden sich internationale Unternehmen häufig an ihn, um Hilfe bei der Lösung des Problems in cURL zu erhalten. Aber jedes Mal, wenn er darum bittet, für seine Arbeit zu bezahlen, endet das Gespräch aus irgendeinem Grund.
„Manchmal engagieren sich Entwickler in ihrer Freizeit als Hobby in Open-Source-Projekten. Daher ist es nicht verwunderlich, dass einige Anwendungen aufgegeben werden. Wenn niemand das Projekt am Leben erhalten will, löst sich die Gemeinschaft auf, die sich um das Projekt herum gebildet hat.
Im schlimmsten Fall können Benutzer des Systems zum Ziel eines Hackerangriffs werden. Ein Beispiel ist der Angriff des letzten Jahres auf das Event-Stream-Modul npm. "
Der Autor des Projekts, Dominic Tarr, wechselte zu anderen Aufgaben und ließ seine Idee unbeaufsichtigt. Einige Benutzer schlugen vor, die Modulunterstützung zu übernehmen.
Tarr stimmte zu und gewährte ihm Zugriff auf das Repository auf GitHub und npm. Mit der Zeit führte der neue Betreuer ein Skript in das Dienstprogramm ein, das Bitcoin-Wallet-Daten stahl und auf seinen Server hochlud. Die Sicherheitsanfälligkeit betraf eine große Anzahl von Benutzern, da der Event-Stream 1,9 Millionen Downloads pro Woche aufweist.
So beheben Sie die Situation
Laut
dem US National Bureau of Economic Research liegt der Hauptmotiv für die Open Source-Entwicklung in den wirtschaftlichen Vorteilen. Open-Source-Entwickler suchen daher nach Möglichkeiten, diese zu monetarisieren. Beispielsweise übertragen sie einen Teil der Module in restriktive oder sogar kommerzielle Lizenzen. MongoDB, Redis und andere Unternehmen haben diesen Weg eingeschlagen.
Wir haben bereits ausführlicher über die Situation
gesprochen . Die Entwickler glauben, dass selbst eine teilweise Kommerzialisierung des Codes eine zusätzliche Einnahmequelle eröffnet und neue Leute für das Projekt anzieht. Ein solches Modell wird jedoch häufig von der IT-Community kritisiert.
Es wird angenommen, dass der Ansatz dem Konzept von Open-Source-Software widerspricht. Es ist jedoch nicht für jedermann geeignet. 2017 kündigte der Caddy-Webserver
eine kommerzielle Lizenz für HTTP / 2 an. Aus irgendeinem Grund wurde das Projekt vor einem Monat erneut an Open Source zurückgegeben.
Foto - Artem Beliaikin - UnsplashDie globale Internetinfrastruktur hängt von Open Source-Projekten ab. Daher ist es wichtig, auf ihre Unterstützung zu achten. Und die Arbeit in diese Richtung ist im Gange. Die Linux Foundation hat regelmäßig neue Bewohner. Große Unternehmen
investieren immer mehr in Open Source. Vielleicht tragen solche Initiativen dazu bei, dass eine Geschichte, die Heartbleed ähnelt, nicht wiederholt wird.
Zusätzliche Lektüre im Blog von 1cloud.ru:
Spart die Cloud Ultra-Budget-Smartphones?
Warum hat Apple die Anforderungen für Anwendungsentwickler geändert?
1cloud Cloud Architecture Evolution
Was ist neu in Linux-Kernel 5.3 - Grafiktreiber, Virtualisierung und andere Updates
Warum Mainstream-Browser-Entwickler sich erneut geweigert haben, die Subdomain anzuzeigen