Parasoft C/C++test 2022.2 unterstützt MISRA C:2012 Amendment 3 und eine Entwurfsversion von MISRA C++ 202x. Erfahren Sie mehr >>

Reduzieren Sie die Kosten und das Risiko der Entwicklung von Open Source-Software

Von Jason Englisch

3. April 2020

5  min lesen

Der Star in vielen Unternehmens-IT-Shops ist Open Source. Wer hätte vor zwanzig Jahren den Wert von Milliarden Dollar vorhersagen können, der allein durch Beiträge an Linux und die Apache Foundation generiert wurde, geschweige denn das Ökosystem von Projekten, die zu ausgereiften Softwareprodukten herangewachsen sind?

Open Source Software ist eine schöne Sache. Praktisch kostenlos, transparent in die Welt gebracht und von betroffenen Entwicklergemeinschaften gehärtet. Die Entwicklung einer eigenen Unternehmenssoftware auf Basis von Open Source ist jedoch nicht nur „Kum-ba-ya“ und Sonnenschein. Diese kostenlose Software ist nicht ganz kostenlos oder ohne Risiko.

Machen Sie sich bereit für eine Show, denn Open Source-Entwicklung kann mit einem Drama verbunden sein.

Unternehmen, die kritische Geschäftsprojekte mit Open Source starten, müssen die versteckten Kosten, Qualitätsrisiken und Herausforderungen der Arbeit mit dieser mittlerweile ausgereiften, aber völlig einzigartigen Softwareklasse abwägen.

Hinter den Kulissen: Kosten- oder Qualitätsmotivation?

Der Markt hat gesprochen. Mehr als 98% der Entwickler geben an, Open Source-Software zu verwenden in ihrem Job. Viele Unternehmen folgen dieser Forderung und treffen eine strategische Entscheidung, Open Source-Frameworks und -Tools für Entwicklungs- und Testbemühungen zu nutzen, wo immer dies sinnvoll ist.

Open Source Software ist nicht mehr nur die Domäne der Hardcore-DIY-Entwicklung. Im Gegensatz dazu verfügen viele Open-Source-DevTest-Tools über eine Benutzerfreundlichkeit, die sich der kommerziellen Qualität annähert, da jedes Produkt von der Community und kommerziellen Open-Source-Unternehmen verbessert und gehärtet wird - und mit kostenlosen Bibliotheken und Vorlagen in GitHub und anderswo gut katalogisiert ist.

Wir werden immer mehr Junit- und Selen-Tests zum Laden bereithalten. Mehr SOAPUI- und Postman-Code als Mehrwert. Weitere bereit zum Herunterladen bereitgestellte Maven-Komponenten und Codefragmente für Stack Overflow. Weitere Jenkins erstellen Skripte und Kochrezepte.

Open Source lieferte von Natur aus IT-Kostenvorteile gegenüber proprietärer Software. Das offensichtlichste davon war die Abschaffung drakonischer Lizenzverträge. Wenn Ihre Teams den Code frei herunterladen und diese Tools demokratisch für ihre eigenen Zwecke verwenden oder ändern können, warum sollten Sie dann einen Anbieter bezahlen? (Wir werden zu diesem Teil kommen.)

Und umgekehrt, warum verzichten Unternehmen wie IBM, Microsoft, Google und Facebook auf Lizenzgebühren, um ihre IP unter Open-Source-Lizenzen zu grundlegenden Entwicklungs- / Testtools beizutragen? Ob Eclipse oder Visual Studio, Kubernetes oder React, diese Titanen sind auch Open-Source-Gläubige, die sich um Entwickler-Mindshare und die Nettoakzeptanz von einst proprietären Ideen bemühen.

Es ist klar, dass in dieser Szene mehr Faktoren als Einsparungen bei den Lizenzkosten im Endeffekt eine Rolle spielen, oder Sie würden nicht so viele große Anbieter und kommerzielle Open-Source-Unternehmen sehen, die stark in Quellprojekte investieren.

Zahlen Sie Ihre Gebühren mit Premium Labour

Wenn Sie auf Open Source-Frameworks und -Komponenten aufbauen, können Sie bestimmte Lizenzkosten umgehen, aber Sie investieren im Wesentlichen in eine Annuität mit Ihren Entwicklungsstunden, wenn Sie mehr Assets erstellen und von der ausgewählten Toolchain abhängig sind.

Um weiterhin Wert aus dieser Investition zu ziehen, müssen Unternehmen qualifizierte (dh wahrscheinlich recht teure) Talente für die proaktive Verwaltung des Einsatzes von Open-Source-Produkten in Bezug auf die darauf aufgebaute Software und Dienstleistungen gewinnen und halten.

Menschen, die die Vernetzung des Unternehmenscodes mit dem aktuellen Stand der Open Source-Tools verstehen, haben selten Freizeit, was zu erhöhten Arbeitskosten für Implementierung, Konfigurationsmanagement, Test und Überwachung führt.

Glücklicherweise haben wir zwei Hebel, um die Arbeitskosten niedrig zu halten: Beitrag und Automatisierung. Mehr als 55% aller Entwickler geben an, regelmäßig zu Open Source beizutragen Projekte, und in der Tat betrachten die meisten dieser Entwickler die Freiheit, zu Open Source beizutragen, als ein wesentliches Element der Arbeitszufriedenheit.

Das Zulassen von Beiträgen ist ein Anreiz, der dazu beiträgt, Entwicklungsmitarbeiter anzuziehen und zu halten, und sich in Bezug auf ein besseres Bewusstsein und eine bessere Anleitung für Open-Source-Projekte auszahlt.

Noch wichtiger für die Kontrolle der Arbeitskosten ist vielleicht ein unermüdlicher Fokus auf die Automatisierung, einer der Grundpfeiler der DevOps-Bewegung. Eine bessere Wiederverwendung von Entwicklungs-, Build- und Testartefakten ist für viele Unternehmen der schnellste Weg zur Wertschöpfung.

„Wir haben unsere gebaut Test und Selenisch Produkte zur herstellerneutralen Unterstützung von Open Source Junit- und Selenium-Frameworks, dh Entwickler und Tester können die Parasoft-Tools nahtlos anschließen, ohne vom Hersteller gesperrt zu werden. “ sagte Mark Lambert, VP of Products bei Software Quality Firm Parasoft.

„Wenn Teams über das hinausgehen müssen, was Open Source-Tools wie SOAPUI und Postman bieten können, nehmen wir die Tests dieser Tools auf und wandeln die vorhandenen Testinvestitionen des Teams in größere automatisierte Tests um, die mehrere Ebenen umfassen und über die REST-Unterstützung hinausgehen . ”

Die Beteiligung durch Entwicklerbeiträge mit Wiederverwendung und Automatisierung hält Unternehmen jederzeit für die Fortsetzung bereit.

Compliance ohne Überraschungen erreichen

Nach Dutzenden von hochkarätigen Softwarefehlern und Datenverletzungen fordern Regierungen und Branchengruppen eine höhere Rechenschaftspflicht für Software - sowohl für den Datenschutz wie die DSGVO in der EU als auch für branchenspezifische Vorschriften wie die HIPAA für das Gesundheitswesen und PCI für Bankwesen.

Das Cybersecurity-Unternehmen Sonatype berichtete kürzlich, dass mehr als 10,000 Unternehmen, darunter 57% der Fortune 1000, heruntergeladen haben die gleiche anfällige Version von Apache Struts, die den massiven Verstoß gegen Equifax-Kundendaten aufdeckte.

Um Compliance-Risiken zu begegnen, müssen Unternehmen eine überprüfbare Dokumentation des gesamten Softwarebereitstellungsprozesses bereitstellen, einschließlich des Nachweises einer sicheren Datenverarbeitung und von Änderungskontrollen. Andernfalls können Bußgelder in Höhe von mehreren Milliarden Dollar verhängt werden. Es ist ein Hit für den Wert eines Unternehmens, der sogar im Sitzungssaal spürbar ist.

Dies kann in einer Umgebung schwierig sein, in der Entwickler jährlich Milliarden von Komponenten und Codefragmenten aus Open-Source-Bibliotheken herunterladen und kopieren.

Bei jedem Softwareänderungsereignis müssen kontinuierliche automatisierte Tests durchgeführt werden. Darüber hinaus müssen Sie aus diesem Prozess einen vollständigen Bericht mit dem Kontext erstellen, um etwaige auftretende Fehler oder Sicherheitsrisiken zu beheben.

Angenommen, Ihr aktuelles Software Delivery-Audit stellt fest, dass in der Staging-Umgebung „etwas nicht stimmt“, und Sie benötigen einen Patch oder ein Update, um das Problem sofort zu beheben. Wen rufst du an?

Open Source mit kommerzieller Unterstützung

Erfahrene CIOs und Entwicklungsleiter wissen, dass Open-Source-Software zwar drakonische Anbieterverträge und Lock-In-Verträge erleichtern kann, die Entwicklung von Lösungen auf Unternehmensebene jedoch immer noch einen Weg mit kommerzieller Unterstützung erfordert.

Es besteht immer die Möglichkeit, dass ein beliebtes Open-Source-Projekt schief geht oder zu den Nachrichten von gestern wird. Was passiert, wenn die Entwicklergemeinde auf grünere Weiden geht und die Werkzeuge, an denen sie gestern gearbeitet haben, vernachlässigt?

Jemand muss am Haken sein - und mit den erforderlichen Updates und Zusicherungen hinter Releases stehen, dass die im Spiel befindlichen Open-Source-Komponenten für den jeweiligen Zweck geeignet sind. Um diese Überlegungen herum hat sich ein Ökosystem von Entwicklungs- und Testanbietern gebildet. In Zeiten, in denen der Kunde die Integrität der Open Source-Tools oder die Unterstützung der darauf laufenden Integrationen, Services und Tests auf Unternehmensebene zertifizieren muss, kann er sich bei einem Anbieter anmelden, um die Verantwortung für den Erfolg zu übernehmen.

Zusätzlich zu diesem neuen Ethos von kommerziell unterstütztem Open Source bieten Anbieter häufig kostenlose Eintrittskosten für kommerzielle Tools für die individuelle Schulung und Entwicklung von Entwicklern. Zum Beispiel gibt es eine kostenlose "Community Edition" von Virtualize Produkt, also Entwickler, Tester und SREs Erfahren Sie mehr über die Service-Virtualisierung, während Sie virtuelle Testumgebungen erstellen und dokumentieren, um die Zusammenarbeit zu fördern.

Die Intellyx nehmen

Open-Source-Frameworks stehlen möglicherweise die Show, um Wert in Ihrem IT-Shop zu liefern, und faszinieren Entwickler, sich zu engagieren. Sie müssen jedoch nicht unbedingt zu einer Primadonna werden.

Unternehmen müssen über vereinfachte Kostenmodelle oder ROI-Berechnungen hinausgehen, um die gesamte Kunden- und Mitarbeitererfahrung zu berücksichtigen. Dies wird erreicht, indem mit einer ganzen Reihe von kommerziellen und Open-Source-Tools gearbeitet wird und gleichzeitig die dahinter stehenden Serviceorganisationen und Communities berücksichtigt werden, um das Risiko zu minimieren.

Suchen Sie nach einfachen Handgriffen, um loszulegen, einzelne Entwickler und Tester auf den neuesten Stand zu bringen und Open Source-Assets wiederzuverwenden.

Überprüfen und zertifizieren Sie Ihre Umgebung kontinuierlich. Durch vorhersehbare Automatisierung und Transparenz wird das Drama von Open Source jedes Mal beseitigt.

Von Jason Englisch

Jason English ist Principal Analyst und CMO bei Intellyx, wo er führende Anbieter von Technologielösungen und Software-Startups bei der Steuerung der digitalen Transformation berät. Sein Hintergrund umfasst Kundenerfahrung und interaktives Design, Entwicklungs- / Testlebenszyklus von Unternehmenssoftware, Virtualisierung, Cloud und Blockchain.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.