Wie sollte ich mich als junger Student, der eine Karriere als Programmierer anstrebt, zu Open-Source-Software fühlen? [geschlossen]


17

Hin und wieder erscheint auf einigen Technologie-Websites eine Überschrift wie diese: http://www.osor.eu/news/nl-moving-to-open-source-would-save-government-one-to-four -Milliarde

Mein erster Gedanke an Regierungen und Organisationen, die auf Open-Source-Software umsteigen, ist, dass Tonnen von Programmierern ihren Arbeitsplatz verlieren und die Branche schrumpfen würde. Gleichzeitig scheint die Verbreitung und Verwendung von Open-Source-Software in vielen Programmiergemeinschaften stark gefördert zu werden.

Glaube ich, dass die uneingeschränkte Akzeptanz von Open-Source-Software in der gesamten Softwareindustrie zu einem Missverständnis führen wird? Wenn nicht, warum lieben dann so viele Programmierer Open-Source-Software?


4
Wenn Sie denken, dass eine Open-Source-Strategie Entlassungen bedeutet, lesen Sie Joel Spolskys "Strategy Letter V". joelonsoftware.com/articles/StrategyLetterV.html
user16764

Antworten:


26

Nur weil ein Projekt Open Source ist, heißt das nicht, dass Programmierer nicht davon leben. Regierungen und Unternehmen spenden große Beträge an Stiftungen wie Mozilla und Apache.

Denken Sie auch daran, dass Unternehmen Programmierer einstellen müssen, um das Open Source-Projekt zu ÄNDERN, um es für ihr Unternehmen anzupassen. Unternehmen können nicht für alles Standardwerkzeuge verwenden. Dies ist etwas, was mit Closed-Source-Software nicht möglich ist. Dies ist ein Beispiel dafür, wie Sie neue Möglichkeiten für die Programmierung eröffnen können. Es geht nicht darum, Programmierer zu eliminieren oder nicht zu bezahlen, es geht darum, die Struktur neu zu ordnen, um die Dinge hoffentlich effizienter zu machen, damit wir mehr Zeit für NEUE Projekte haben.

Eine weitere Erkenntnis zu Open Source ist, dass Sie den Quellcode Ihres Programms nicht unbedingt offenlegen müssen, es sei denn, Sie werden das Programm vertreiben. Für Programme, die ein Unternehmen für sich auf seinen Servern oder unternehmensinternen Anforderungen verwenden wird, wird es wahrscheinlich NICHT verbreitet und muss daher den Quellcode für das geänderte Programm nicht offenlegen.


Leute, die an den Hauptprojekten arbeiten, sind auch perfekt positioniert, um in diese Anpassungsaufgaben einzusteigen, da sie die internen Aspekte des Projekts bereits kennen.
Matthew Scharley

Ich frage mich, wie Steve Streeting (Gründer des Ogre3D-Projekts) es geschafft hat, auf dem Gebiet der 3D-Grafik zu arbeiten und wie es die von ihm erstellte Engine beeinflusst hat.
jokoon

5

Open-Source-Ökonomie ist ziemlich seltsam und oftmals nicht intuitiv. Nehmen Sie ein Produkt wie die Excel-Tabelle (nur ein Beispiel, das jedes große kommerzielle Produkt bieten würde). Das Geschäft mit dem Erstellen und Unterstützen von Excel beschäftigt eine Reihe von Mitarbeitern, sagen wir, X. X klingt für Sie und mich wahrscheinlich nach einer großen Zahl, aber ich habe keine Ahnung, was es ist. Was ich weiß, ist, dass es eine winzige Zahl ist, verglichen mit der Anzahl der Menschen, die ihren Lebensunterhalt mit Excel verdienen, in Büros, Schulen und anderen Institutionen und bei der Erstellung von Tools mit Excel. Diese Zahl ist wahrscheinlich X * 10000. Wenn Sie also Excel durch ein Open Source-Produkt ersetzen, ersetzen Sie X, aber das X * 10000 ist nicht betroffen.

In der Tat ist es nicht einmal so einfach. Ohne die X-Mitarbeiter sind mehr bezahlte Entwickler erforderlich, um die Open-Source-Tabelle zu schulen, Fehler zu beheben und zu ändern. Nur weil hinter dem Produkt kein kommerzielles Unternehmen steht, heißt das noch lange nicht, dass das Unternehmen keinen guten Service verlangt (und dafür bezahlt). In der Tat sind Unternehmen manchmal bereit, eine Stiftung zu unterstützen, die die zukünftige Entwicklung des Open-Source-Produkts garantiert, wenn Ihr Open-Source-Produkt genügend Anklang findet. Dies gilt insbesondere dann, wenn ihre Geschäftsinteressen eng mit dem Produkt verbunden sind. Denken Sie an Mozilla , die Apache Software Foundation , Mono Project oder Canonical .

Schließlich stellen Open Source-Tools niemals eine Bedrohung dar, wenn Sie versuchen, einen Service zu verkaufen. Denken Sie an Organisationen wie Facebook, Twitter und sogar Stackoverflow. Letztendlich möchten diese Organisationen Ihnen keine Software verkaufen. Sie wollen ein riesiges Netzwerk aufbauen. Sobald das Netzwerk groß genug ist, erzeugt es seine eigene Schwerkraft. Die Verwendung eines anderen "Produkts" würde keinen Sinn ergeben, da die Anzahl der Teilnehmer am wichtigsten ist. Die zugrunde liegende Technologie ist nur ein Detail.


3

Ich würde sagen, lesen Sie die verschiedenen Ideologien hinter einigen der bekanntesten OpenSource-Projekte, wie Chromium, Mozilla usw., und entscheiden Sie sich dann selbst. Niemand hat wirklich das Recht, Ihnen zu sagen, wie Sie sich auf die eine oder andere Weise fühlen sollen.

Trotzdem bin ich von OpenSource begeistert, weil mir die Idee der Transparenz im Software-Design gefällt. Mir gefällt auch, dass die Community der Benutzer einen sehr realen und direkten Einfluss auf die Richtung des Projekts hat. In einer Closed-Source-Umgebung ist das nicht möglich.

Wenn ich mich recht erinnere, war einer der Punkte, die ein Unterstützer von Creative Commons angesprochen hat, dass man den Leuten durch "freie" Dinge erlaubt, das Produkt Ihrer Ideen auf eine Weise zu verwenden, wie man es sich vielleicht nie vorgestellt hat. Dies ist ein Video, das mir besonders gut gefallen hat: https://creativecommons.org/videos/a-shared-culture


2
Ich glaube nicht, dass ein Projekt wie Mozilla den Bedarf an Programmierern verringern wird. Es sei denn, Ihr Unternehmen entwickelt einen eigenen Webbrowser, was ich wirklich bezweifle. Ich glaube auch nicht, dass die meisten Leute sich den Quellcode überhaupt ansehen werden. Programmierer kümmern sich um den Quellcode, Kunden nicht.
Joel Gauvreau

1

Wir werden niemals eine vollständige Umarmung sehen .

Wir lieben es , einen positiven Beitrag zur Welt zu leisten. Außerdem ist die Teilnahme an einem Open Source-Projekt ein großartiges PLUS für Ihren Lebenslauf.


3
Wir behandeln Open Source-Beiträge nicht als vergütete Erfahrung. Unsere Erfahrung hat uns gelehrt, niemanden einzustellen, der einen wesentlichen Beitrag zu Open-Source-Projekten geleistet hat, da echte Softwareentwicklung zu 10% Spaß macht und zu 90% langweilige Grunzarbeit ist. Die Kandidaten, die wir für Open Source-Projekte eingestellt hatten, wollten nicht das langweilige Grunzen verrichten, das für die Erstellung professioneller Qualitätslösungen erforderlich war.
Bit-Twiddler

6
@ bit-Rotator: Sicherlich hat jemand die langweiligen Teile in Open - Source - Projekten zu tun zu
Anto

1
@Anto: Das Problem ist, dass die langweiligen Teile bei Open Source-Projekten oft nicht ausgeführt werden. Eines der Attribute, die hochwertige kommerzielle Produkte von Open-Source-Software unterscheiden, ist beispielsweise die Dokumentation. Die Dokumentation selbst für die erfolgreichsten Open Source-Projekte ist im Vergleich zu der von erfolgreichen kommerziellen Produkten im gleichen Maßstab verblasst. Das Fehlen einer angemessenen Dokumentation macht das Erlernen von Open Source-Produkten zu einem großen Problem. Ich werde nicht dafür bezahlt, schlecht geschriebene Unterlagen zu sammeln und zu entziffern. Ich werde dafür bezahlt, Ergebnisse zu erzielen.
Bit-Twiddler

@bit-twiddler: Also wird von deinen Programmierern auch erwartet, dass sie eine gut geschriebene Dokumentation herausbringen? Ist es nicht billiger, technische Redakteure einzustellen, und produzieren sie im Allgemeinen nicht ein besseres Produkt?
David Thornley

1
@ David Thornley: Ja, von allen Entwicklern wird erwartet, dass sie in der Lage sind, gut zu schreiben, und dass sie kompetente Software-Entwickler mit vollem Lebenszyklus sind (dh, wir haben keine Mitarbeiter, die nur Code verwenden). Niemand kennt das Produkt besser als das Design- und Implementierungsteam. Unser einziger technischer Redakteur hat die Aufgabe, die zu liefernde Dokumentation zu koordinieren und zu massieren.
Bit-Twiddler

1

Open Source ist eine Bedrohung für Software-Paketanbieter, deren Produkte in einem Bereich angesiedelt sind, der so beliebt ist, dass in der Open Source-Community genügend Interesse besteht, um eine kostenlose Alternative zu entwickeln. Ich denke, ein Fall ist, dass Oracle und Microsoft erhebliche Preissenkungen für Datenbanksoftware in Rechnung stellen können. Mysql ist für die meisten Projekte mehr als ausreichend und im Wesentlichen kostenlos, es sei denn, der Kunde möchte für den Support bezahlen, sodass er jemanden am Haken hat, wenn es schief geht.

Es ergänzt das Beratungs- und Dienstleistungsgeschäft in jeder Hinsicht, da es die Gesamtkosten der Produktion senkt und die Produktivität der Entwickler erhöht. Unternehmen mögen es aus den gleichen Gründen, obwohl einige darauf bestehen, Anbieter zu finden, die kommerziellen Support bieten, damit jemand anruft / schuld ist, wenn es nicht den Erwartungen entspricht.


MySQL steht im Eigentum von Oracle. Es gibt nichts, was Oracle daran hindert, die Quelle für dieses Produkt zu schließen, so wie es Oracle nicht daran hindert, Community-Eingaben für Java zu entfernen. Softwarefirmen verkaufen keine Software - sie verkaufen die Sicherheit von Führungskräften! Öffentliche Unternehmen kaufen weiterhin kommerzielle Software, weil sie in der Lage sein möchten, Unternehmen gleicher Größe zu bellen und jemanden dazu zu bringen, Probleme zu lösen. IP zu verkaufen ist, wie kleine Softwareunternehmen zu großen Softwareunternehmen werden. Ein Nur-Service-Modell ist vollständig von den Arbeitskosten abhängig.
Bit-Twiddler

2
Open Source ist genauso eine Bedrohung wie ein Konkurrent eine Bedrohung. Wenn die Oracle-Datenbank (genau wie nennt man sie heutzutage?) Deutlich besser ist als beispielsweise PostgreSQL, kann sie verkauft werden. Wenn nicht, warum zum Teufel sollten wir Oracle bezahlen?
David Thornley

1

Größte Risiken ...

  • Volatilität: Ein Großteil von OSS wird in Schüben entwickelt. Es gibt herausragende Projekte, stabile Veröffentlichungen in weniger bekannten, aber da das Universum von OSS in vielen Bereichen so unterschiedlich und fragmentiert ist (und sich ständig weiterentwickelt), ist es selten, dass ein Projekt ausgereift genug ist, um zu sagen, dass die Entwicklung regelmäßig und unbestimmt sein wird. oder ewig. Ein Kurswechsel in Midstream ist kostspielig, auch wenn das Produkt kostenlos ist, da Integration, Regression und praktischer oder sofortiger Support nicht kostenlos sind, auch wenn sie verfügbar sind.

  • Mangelnde Rechenschaftspflicht: Es gibt niemanden, der "investiert" ist. Daher ist es schwierig, Rückgriff zu suchen, wenn schlimme Dinge passieren. Es gibt keine Garantie. Nichts, was auch nur einem ähnelt. Die einzige Gewissheit, die Sie im Allgemeinen haben, ist der Ruf und eventuell Ihre persönliche Erfahrung. Da es kostenlos war, können die Entwickler Ihnen sagen, dass Sie mit dem Feuerwehrauto losfahren sollen, und es ist Ihnen egal, ob Sie keinen Erfolg haben oder weniger wichtig, wenn Sie ihr Produkt weiterhin verwenden.


2
Und inwiefern unterscheidet sich das von kommerzieller, proprietärer, Closed-Source-Software? Der Eigentümer kann jederzeit entscheiden, eine andere Richtung einzuschlagen, und das einzige allgemeine Produkt, von dem ich jemals mit anständiger Sicherheit gehört habe, ist TurboTax.
David Thornley

Es ist in vielerlei Hinsicht anders. Eine Möglichkeit ist die kommerzielle, für gewinnbringende Hersteller von Software, insbesondere von Komponenten, Bibliotheken und Laufzeiten, im Allgemeinen viel bessere Arbeit für glattere Übergänge. Zum Beispiel durch explizite Aufzählung der wichtigsten Änderungen und was aufgrund dieser wichtigsten Änderungen zu tun ist oder nicht. Diese explizite Aufzählung wird normalerweise vorbereitet und veröffentlicht, lange bevor die Software selbst verfügbar ist, wobei Errata nach der Veröffentlichung umgehend verfügbar sind und diese Informationen in einem im Allgemeinen konsistenten Ort und Format vorliegen.
JustinC

1

Umfassen Sie OSS-Tools und andere Dinge, aber lassen Sie sich nicht von ihnen besessen (und ja, ich habe gesehen, dass viele Leute von Open-Source-Dingen besessen sind, fast immer zu ihrem Nachteil).

Wählen Sie für jeden Auftrag das / die beste (n) Tool (s) aus, unabhängig davon, ob es sich um Open Source handelt oder nicht (wohlgemerkt, einige Open Source-Lizenzen machen alle Lizenzen für kommerzielle Zwecke unbrauchbar, insbesondere GPL-lizenzierte Bibliotheken leiden darunter).


1

Ein Großteil der modernen Open Source Software wird von Vollzeitmitarbeitern entwickelt, die in erster Linie für die Entwicklung bezahlt werden. Der Rest wird von denen entwickelt, die dafür bezahlt werden, dass sie etwas tun, das von der Software abhängt, die sie entwickeln. Eine gemeinsame Arbeit an der Software, das Überwachen von Support und Wartung ist für sie absolut obligatorisch.


1

Die überwiegende Mehrheit der Programmierer wird nicht pro Kopie der von ihnen erstellten Software bezahlt. Sie erhalten eine einmalige Gebühr für ihre aufgewendete Zeit. Sogar Unternehmen, die Programmierer beschäftigen, verdienen im Allgemeinen nicht ihr Geld pro verkauftem Exemplar. Mit einigen bemerkenswerten Ausnahmen wie Microsoft und Adobe ist Software in der Regel Teil ihrer Infrastruktur, z. B. eine Unternehmenswebsite oder interne Tools, oder wird als Teil eines anderen Produkts oder einer anderen Dienstleistung verschenkt.

Andere haben darauf hingewiesen, dass die meisten Open Source-Autoren Firmensponsoren haben. Auf der Hobbyseite finde ich es interessant, dass sich die Leute immer auf das konzentrieren, was gegeben statt empfangen wird. Es ist, als würde ein Elektriker alle Komponenten eines Hauses kostenlos erhalten, die bis auf einige von ihm selbst vorgenommene Verkabelungsverbesserungen bereits montiert sind, und die Leute halten ihn für verrückt, wenn er an einem Wochenende ein paar Stunden damit verbringt, anderen die gleichen Verbesserungen für andere Häuser beizubringen das gleiche Geschäft. Sicher, er gibt einen Teil seiner Zeit und seines Fachwissens kostenlos ab, aber im Gegenzug erhält er ein großartiges Produkt, das das Mehrfache seiner geleisteten Arbeit wert ist, und sichert ein gesundes Ökosystem für das nächste Mal, wenn er etwas braucht.


0

Wie solltest du dich fühlen? Meine Güte, als nächstes wirst du fragen: "Wie rede ich mit Frauen?" Open Source ersetzt niemals nur einen kleinen Teil der bezahlten Software. Für die meisten Unternehmen sind die höheren Kosten für den Umzug von dem, was sie bereits wissen, zu etwas anderem, auch kostenlosem, höher als die Kosten für die Software.


0

Die Hauptphilosophie von Free / Open Source (wie ich es sehe) ist, dass Sie, wenn Sie Software vertreiben, die Quelle auch mit ihr vertreiben. Open Source bedeutet nicht unbedingt kostenlos. Und in jedem großen Projekt bedeutet die Auswahl einer Open-Source-Lösung sicherlich nicht, dass Sie einfach etwas aus dem Regal nehmen und einstecken, und schon sind Sie fertig. Für jede große Anwendung müssen Sie sie an Ihre spezifischen Anforderungen anpassen (dies kann so einfach sein wie das Einrichten und Migrieren Ihres vorhandenen Systems oder so komplex wie das Ändern großer Teile davon) und Sie müssen über einen zuverlässigen Support-Mechanismus verfügen Updates / Bugfixes mit der Originalsoftware. Das heißt, es wird immer Jobs für Programmierer geben. Nicht zu vergessen, für jedes große Open Source-Projekt,

Wenn es eine ausgereifte Open-Source-Lösung für Ihr Problem gibt, die bereits existiert und von vielen Leuten genutzt wird, ist es sinnvoll, große Geldmengen für etwas einzukassieren, das möglicherweise nicht so ausgereift ist ? Es ist einfach effizienter, es zu verwenden. Es geht nicht darum, Arbeitsplätze zu erhalten (wie gesagt, es werden immer Programmierer benötigt), sondern um einen einfachen Geschäftssinn, der umso wichtiger ist, wenn es um Steuergelder geht. Open Source im Namen der Erhaltung von Arbeitsplätzen zu meiden, schafft nur eine künstliche Umgebung, die den Austausch von Technologie einschränkt, und IMHO ist im Allgemeinen schlecht für die Gesundheit der Programmierergemeinschaft.


0

Ich würde mir einige der Linux-Autoren ansehen, um eine Vorstellung davon zu bekommen, wie sich die Open Source-Community aus Leuten zusammensetzt, die dafür bezahlt werden, dass sie ihren Code kostenlos zur Verfügung stellen.

http://apcmag.com/linux-now-75-corporate.htm


0

Open Source ist für mich auch politisch: Es ermöglicht es Programmierern, sich gegenseitig zu helfen, damit die harte Arbeit nicht wiederholt überarbeitet und nicht zwischen Projekten verwendet werden darf.

Es wurden auch bessere Hintergrundregeln für das Projekt festgelegt. Dies unterliegt nicht den Regeln der Verwaltung: Am Ende steht ein Code für bessere Qualität und Langlebigkeit.

Wissen Sie, dass das Fach Informatik sehr umfangreich ist, und es gibt einige Software-Teile, die so komplex sind, dass es nicht so viele kompetente Leute gibt, die sie schreiben, warten und interessante Funktionen hinzufügen.

Ich finde Ihr Argument "Tonnen von Programmierern würden ihre Jobs verlieren und die Industrie würde schrumpfen" sehr irreführend, nicht nur in Bezug auf die Softwareindustrie, sondern für die Welt im Allgemeinen. Denken Sie an die Web-Blase: Es ist einfach, Leute in einem Unternehmen zu täuschen, die nicht programmieren. Open Source ist ein sicherer Weg, dies zu verhindern.

Sie müssen auch denken, dass Software nicht wie viele andere Branchen ist: Sie liefern etwas, das volatil ist, etwas, mit dem der Kapitalismus nicht wirklich arbeiten kann. Stellen Sie sich vor, wir könnten physische Objekte duplizieren, aber Sie müssten für jede von Ihnen duplizierte Aspirin-Pille zahlen, weil das Molekül so etwas wie "jemandem gehört". Das könnte sehr wenig Sinn machen. Denken Sie jetzt darüber nach, reines, sauberes Wasser zu kopieren (was eines Tages teuer werden wird): Glauben Sie, dass es ethisch und philosophisch korrekt ist, die Leute dafür bezahlen zu lassen?

Wenn Programmierer ihre Jobs aufgrund von Open Source verlieren, liegt dies möglicherweise daran, dass sie nicht in der Lage sind, dieselbe Art von Softwarequalität zu reproduzieren. In gewisser Weise verdienen sie es, entlassen zu werden. Das bedeutet jedoch nicht, dass sie weniger Programmierer sein sollten, die einen Job haben: Es ist nur eine Frage der Gemeinschaft, der Teamarbeit und der Ethik: Unternehmen sollten Programmierer entweder dafür bezahlen, Lösungen für Probleme mit vorhandener Software zu implementieren, oder kompetentere Programmierer einstellen, die zusätzliche Aufgaben übernehmen können Funktionen für einen vorhandenen Code.

Nehmen Sie das iOS, Windows Phone, Symbian und Android: Das sind 75%, die dasselbe tun, was fast dasselbe "Rad" bedeutet. Es sind nur verschiedene Geschmacksrichtungen, aber am Ende wurde viel Geld ausgegeben, weil Unternehmen nach ihren Idealen überleben wollten.

Open Source ist nicht nur politisch, es geht auch um Innovation: Wie wollen Sie neue Ideen verwirklichen, wenn Sie alles von Grund auf neu starten müssen?


0

Was Free / Open Source-Software macht, ist eine Grundvoraussetzung: Wenn Ihr Unternehmen nichts Besseres als die F / OS-Alternative produzieren kann, wird es nicht in der Lage sein, viele Kopien zu verkaufen. Wenn Ihr Unternehmen etwas deutlich Besseres als das verfügbare F / OS anbieten kann, kann es Kopien verkaufen und Gewinne erzielen. Daher besteht eine Verwendung darin, dass es die Fähigkeit von Unternehmen verringert, schlechte Software zu verkaufen.

Es senkt auch Eintrittsbarrieren. Jeder mit einem halbwegs modernen Desktop oder Laptop kann, ohne einen Cent für Softwarelizenzen auszugeben, ein sehr funktionales Betriebssystem mit einer benutzerfreundlichen Benutzeroberfläche und einer hervorragenden Entwicklungsumgebung haben (es gibt viele Leute, die glauben, dass MS Windows mit Visual Studio besser ist als dieses Art von Umgebung und viele, die dies nicht tun).

Daher hilft F / OSS dem Softwareunternehmer, kostengünstig ein Unternehmen zu gründen. Dies erhöht den Einfluss und den Gewinn des Software-Innovators im Vergleich zu den Finanzleuten, die früher die meisten Computer außerhalb der Universität kontrollierten. Viele der jüngsten massiven Erfolgsgeschichten wären ohne F / OSS und seine Auswirkungen schwerer in Gang zu bringen gewesen, vielleicht sogar unmöglich.

Es reduziert die Möglichkeit, viel Geld ohne entsprechende Fähigkeiten zu verdienen, was wohl eine gute Sache ist.

Entwickler, die nicht sehr gut sind, werden Nischen in interner Software für Unternehmen finden, die sich nicht auf ihre Computersysteme als strategisches Kapital verlassen, und diese Jobs werden von F / OSS nicht wesentlich betroffen sein.

Entwickler, die sehr gut, aber nicht Unternehmer sind, werden mit Unternehmen, die qualitativ hochwertige kommerzielle Nicht-F / OS-Software verkaufen, immer noch gute Ergebnisse erzielen. Der geldbasierte Markt ist effektiver bei der Deckung vieler Bedürfnisse als der F / OSS-Reputationsmarkt und kann die langweiligen notwendigen Dinge viel besser produzieren. Es gibt viele wichtige Anwendungen, die die meisten F / OSS-Entwickler vermeiden werden.

Insgesamt denke ich, dass es für die Entwicklergemeinschaft gesund ist. Es gibt Entwicklern die Möglichkeit, besser reich zu werden, und dient als Anreiz, gute Produkte herzustellen (und die meisten Entwickler würden lieber an guten als an schlechten Produkten arbeiten). Es kann Entwicklern schaden, die nicht so gut sind oder für schlecht geführte Unternehmen arbeiten, aber es verringert die Nachfrage nicht allzu sehr und sie können wahrscheinlich trotzdem Jobs finden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.