Die Vor- und Nachteile der Open Source-Softwareentwicklung

Es ist höchste Zeit, den Menschen etwas zurückzugeben, die es Ihnen ermöglichen, das Internet zu nutzen!

Viele Entwickler lieben Open Source-Projekte, und das aus gutem Grund: Sie nutzen sie jeden Tag, um ihre Arbeit zu beschleunigen. Es gibt viele erfolgreiche Beispiele für Open Source-Softwarelösungen wie Linux (ein Betriebssystem) oder React (eine JavaScript-Bibliothek). Diese Lösungen sind oft gut ausgearbeitet, und es ist eine Freude, mit dieser Art von qualitativ hochwertigem Code zu arbeiten.

Schauen wir uns also genauer an, was Open Source bedeutet und welche Vor- und Nachteile die Arbeit mit Open Source-Projekten hat.

Was ist Open Source?

Der Begriff „Open Source“ wurde in der Softwareentwicklungsbranche geprägt und bezieht sich auf etwas, das jeder überprüfen, ändern und teilen kann. Es stellt einen spezifischen Ansatz zur Erstellung von Computerprogrammen dar, der die Werte Zusammenarbeit, Transparenz und gemeinschaftsorientierte Entwicklung feiert.

Open Source Code wird von Entwicklern und für Entwickler geschrieben.

Zum Schutz aller an Open Source beteiligten Parteien kann der Projektbesitzer eine Creative Commons-Lizenz verwenden. Mit einer Creative Commons (CC) -Lizenz kann jeder Ihre Arbeit teilen, verwenden und darauf aufbauen.

Open Source Software ist normalerweise ein freies Softwareprodukt, bei dem Entwickler Zugriff auf den Quellcode haben. Sie können die Leistung des Programms verbessern, einige Funktionen hinzufügen und Fehler beheben. Einige Beispiele für solche Software sind LibreOffice, Mozilla Firefox und Chromium.

Im Gegensatz dazu gibt es proprietäre Software , auch „Closed Source Software“ genannt. Der Quellcode eines solchen Programms kann nur von seinen Eigentümern überprüft oder geändert werden. Einige Beispiele für proprietäre Software umfassen einige Produkte von Microsoft, Adobe oder Apple.

Einige Unternehmen betrachten Open Source-Software als Norm, während andere die Entwicklung von Closed Source-Software bevorzugen. Und natürlich hat das Open Source-Modell seine Vor- und Nachteile.

Was ist großartig an der Entwicklung von Open Source-Software?

Open Source Vorteile

Persönliche Vorteile

Wenn ich sage, dass Open Source-Entwickler von Altruismus und dem Wunsch getrieben werden, anderen zu helfen, können viele Leute, die diesen Artikel lesen, ungläubig lächeln. Diese intrinsische Motivation ist jedoch der Hauptgrund, warum die meisten Menschen an Open Source-Projekten arbeiten.

Unterschätzen Sie nicht die Bedeutung persönlicher Vorteile - das Gefühl, hilfsbereit und selbstständig zu sein.

Anerkennung durch die Gemeinschaft

Wissenschaftler und Ärzte teilen ihre Erfahrungen, indem sie wissenschaftliche Artikel schreiben und an wissenschaftlichen Konferenzen teilnehmen. UI / UX-Designer teilen ihre Erfahrungen mit Behance oder Dribbble. Autoren drucken ihre Bücher oder teilen sie über Online-Plattformen. Musiker und Filmemacher teilen ihre Arbeit mit der Welt über verschiedene Streaming-Dienste. Warum sollten Softwareentwickler anders sein und ihre Gelegenheit verpassen, Anerkennung zu erhalten?

Wenn Sie an Open Source-Projekten arbeiten oder diese ausführen, können Sie von der Entwickler-Community auf verschiedene Weise Anerkennung erhalten, z. B. indem Sie ein großartiges GitHub-Profil erstellen und an Veranstaltungen wie dem Hacktoberfest teilnehmen.

Möglicherweise erhalten Sie auch Rabatte, freien Eintritt zu Veranstaltungen und eine gut ausgebaute Infrastruktur für die Ausführung Ihrer Projekte. Durch die Arbeit an Open Source-Projekten sparen Sie nicht nur Geld, sondern können auch die besten Tools verwenden, die Ihnen in Ihren eigenen Projekten zur Verfügung stehen.

Hier einige Teilnehmer des Lviv Hacktoberfestes.

Selbstwerbung

Wenn Sie oder Ihr Unternehmen aktiv an der Open Source-Community teilnehmen, können Sie sich einen guten Ruf verdienen. Auf diese Weise können Sie als Einzel- oder selbständiger Entwickler leichter einen Job als Freiberufler oder Vollzeitbeschäftigter finden. Wenn Sie ein Softwareentwicklungsunternehmen vertreten, ist es für Sie einfacher, Mitarbeiter zu finden, die bereit sind, für Sie zu arbeiten, Partner, die zur Zusammenarbeit bereit sind, und Kunden, die bereit sind, Ihre professionellen Dienstleistungen anzufordern.

Aus diesem Grund bietet die Entwicklung von Open Source-Software eine perfekte Werbemöglichkeit - eine Win-Win-Situation sowohl für Entwickler als auch für Entwicklungsagenturen.

Sinn für Wert

Keine Notwendigkeit, die Wahrheit zu verbergen: Job Burnout plagt die Arbeit der Entwickler und die HR-Strategien der Softwareanbieter. Wenn Sie ein Firmeninhaber sind und Ihre Mitarbeiter zur Teilnahme an der Open Source-Entwicklung motivieren, zeigen Sie ihnen, dass ihre Arbeit einen Wert hat. Sie werden nicht nur an Ihren kommerziellen Projekten arbeiten, sondern auch einen Mehrwert für die breitere Entwicklergemeinschaft bieten, indem sie an Open-Source-Projekten arbeiten.

Indem Sie Ihren Entwicklern helfen, diese Sinn- und Wertgefühle zu erreichen, halten Sie sie daran interessiert, mit Ihnen zusammenzuarbeiten.

Gleiches gilt, wenn Sie selbstständiger Entwickler sind. Wenn Sie sich mit Open Source-Softwareentwicklung beschäftigen, wird Ihre Arbeit sinnvoll, und Sie werden sie im Laufe der Zeit nicht mehr hassen.

Softwarequalität

Open Source Code ist oft von höherer Qualität. Eine von einem Entwicklerteam erstellte Software kann von geringerer Qualität sein als die von Tausenden von Entwicklern aus der ganzen Welt mit Software in verschiedenen Technologien, Branchen und Projekten entwickelte. Und Fehler in Open Source-Software werden sehr schnell erkannt, da der Code ständig von mehreren Entwicklern überprüft wird.

Selbst Code, der von einem einzelnen Entwickler geschrieben wurde, ist häufig von höherer Qualität, wenn er Open Source ist. Wenn Sie Code schreiben, den nur Sie oder Ihre engen Kollegen sehen, interessiert Sie der Codestil möglicherweise nicht sonderlich. Wenn Sie jedoch Code schreiben, den jeder sehen kann, werden Sie alles tun, um nicht wie ein Code-Affe auszusehen. Bewertungen, Beiträge und Refactoring aus der Community sind hier hilfreich.

Datensicherheit

Sie sollten Open Source-Software für die Anwendungsentwicklung verwenden, da diese sicherer ist. Die Community findet und meldet Sicherheitslücken, die der Softwarebesitzer normalerweise sofort behebt, umgehend.

Wenn ein proprietäres Softwareprodukt eine Sicherheitslücke aufweist, wird dies niemand erfahren, bis jemand der Bedrohung zum Opfer fällt, die es darstellt.

Open-Source-Produkte können Benutzerdaten nicht absichtlich missbrauchen und missbrauchen, wie dies einige proprietäre Softwareunternehmen tun. Die Community würde diesen Missbrauch entdecken und den Ruf der Software und ihres Besitzers ruinieren.

Anpassung

Das Entwickeln von Open Source-Software bedeutet normalerweise, dass Sie eine leicht anpassbare Software entwickeln. Da der Quellcode geöffnet ist, kann ein Entwickler problemlos Änderungen an der Funktionalität der Benutzeroberfläche hinzufügen.

Zum Beispiel ist Apache CloudStack eine Open-Source-Software, die Cloud Computing erleichtert. Ein weiteres Beispiel ist die Open-Source-Plattform Botpress, mit der Entwickler auf einfache Weise benutzerdefinierte Chatbots erstellen können. KeenEthics-Entwickler, die Botpress beitragen, freuen sich, wenn sie das Leben eines anderen einfacher machen können.

Bei Open Source geht es darum, Erfahrungen zu sammeln und auszutauschen. Manchmal sehen Sie, dass einem Open-Source-Softwareprojekt etwas fehlt, und Sie füllen diese Lücke, indem Sie Ihren Code beisteuern. In anderen Fällen verstehen Sie, dass Sie etwas besser machen können. Open Source hilft Ihnen, mit Langeweile umzugehen und Anerkennung von Kollegen zu erhalten.

Sergey Gornostaev

Was ist NICHT großartig an der Entwicklung von Open Source-Software?

Open Source Nachteile

Missverständnisse und Missverständnisse

Sie können Anfragen erwarten, um Ihr Produkt zu verbessern oder bei etwas zu helfen, aber Sie müssen möglicherweise mit verschiedenen Arten von Menschen umgehen. Einige erwarten möglicherweise, dass Sie rund um die Uhr auf ihre Anfragen reagieren. Andere öffnen möglicherweise PRs, die Ihr Produkt verbessern, aber Sie müssen die Regeln erläutern, wie Dinge vorbereitet werden sollten und wie sie in die Hauptlinie integriert werden.

Letztendlich gibt es keine Garantie dafür, dass die Beiträge der Gemeinschaft nicht von geringerer Qualität sind. Aus diesem Grund besteht eine hohe Wahrscheinlichkeit, dass Sie den Code einer anderen Person umgestalten und die Leute enttäuschen, wenn Sie ihre Änderungen nicht zusammenführen.

Die Bedrohung für den Kerngeschäftswert

Sie sollten niemals Open Source-Produkte verwenden, die einen zentralen Wert für Ihr Unternehmen haben. Wenn es ein Geschäftsgeheimnis gibt - eine Idee oder eine Art der Implementierung, die Ihr Unternehmen einzigartig macht, sollten Sie es nicht als Open Source-Version verwenden, damit es nicht für Ihre Konkurrenten verfügbar wird. Wenn Sie jedoch Ideen und Tools haben, die von der Öffentlichkeit ohne Verlust für Ihr Unternehmen verwendet werden können, öffnen Sie sie mit Open Source.

Warum Open Source das Richtige ist

Wenn Sie ein Internetnutzer sind (und Sie sind es definitiv), verwenden Sie unweigerlich eine unglaubliche Menge an Open Source-Software. Die Erfinder des Internets haben einen großen Teil davon als Open-Source-Projekte konzipiert, und jeder, der es heute nutzt, erntet die Früchte seiner Bemühungen. Beispielsweise basiert Cloud Computing weitgehend auf Open Source-Beiträgen.

Eine Umfrage von Tidelift und The New Stack besagt außerdem, dass 84 Prozent der Softwareentwickler Open Source in ihrer beruflichen Routine verwenden. Warum teilen Sie nicht Ihre Erfahrung und Ihr Wissen mit anderen?

Wenn wir die Vorteile von Open Source genießen, ist es richtig, der Community etwas zurückzugeben.

Beteiligen Sie sich an der Open Source Entwicklung!

Wie man anfängt? Öffnen Sie Ihr GitHub-Repository für die Öffentlichkeit und informieren Sie die Welt über Ihr Blog, Ihre sozialen Medien oder Entwicklerforen. Registrieren Sie sich bei Hacker News, da viele Open-Source-Autoren rumhängen.

Open Sourcing lässt Sie als Entwickler schneller wachsen und bringt der gesamten Community ein nützliches Ergebnis. Gleichzeitig sollten Sie versuchen, der Community, die Ihnen all diese großartigen Open-Source-Dinge bietet, keinen Schaden zuzufügen. Tragen Sie mit Bedacht bei und helfen Sie anderen, indem Sie Fragen beantworten, bei denen Sie helfen können.

Haben Sie eine Idee für ein Projekt?

Meine Firma KeenEthics hat viel Erfahrung mit Open Source-Webentwicklung und der Entwicklung mobiler Apps. Wenn Sie bereit sind, das Spiel zu ändern und Ihr Projekt zu starten, können Sie sich gerne an uns wenden .

Wenn Ihnen der Artikel gefallen hat, sollten Sie unbedingt einen anderen lesen: Agiles Testen: So stellen Sie eine qualitativ hochwertige Software sicher.

PS

Ich möchte mich auch bei Alex Pletnov, CTO @ KeenEthics, für die Inspiration und den Beitrag zum Artikel bedanken.

Der Originalartikel auf dem KeenEthics-Blog ist hier zu finden: Was ist großartig an der Entwicklung von Open Source und was nicht?