Mittwoch, 4. März 2015

Open Source Gedanken

Open Source

Da Opensource immer mehr an Bedeutung gewinnt ist es an der Zeit sich einmal Gedanke zu machen über die Auswirkungen die dieses Softwaremodell auf verschiedene Bereiche der Softwareentwicklung und der Benutzer haben. Konkret wäre hier wohl zu beleuchten welche Vorteile diese Art der Software bietet und welche Nachteile es mit sich bringt.
Wir nehmen einfach mal an das es 2 Grosse Gruppen zu unterscheiden gilt, einmal die Herstellerseite und einmal die User (Benutzerseite) wobei hier nun wieder unterschieden werden muss zwischen Entscheidungsträgern und den Leuten die Letztendlich damit oder dafür arbeiten müssen.
Unterm Strich haben wir also zwei große Gruppen die sich intern wiederum in ein pro und contra Lager und infolgedessen auch in reine Benutzer und reine Entscheidungsträger unterteilen.
Es ist also nicht möglich einfach die pauschale Aussage zu treffen: Für den Hersteller ist dies oder das etc.

Opensource - Gedanken

Open Source ist free, also frei, was keinesfalls mit gratis zu verwechseln ist.

Man sollte strikt unterscheiden zwischen Warenwert und Gebrauchswert, dies ist allerdings bei allen Softwareprodukten so.
Nun ist es nicht ganz einfach einen Warenwert zu ermitteln für etwas das ja nicht real existiert, man kann die eigentlich mit unseren Maßstäben gar nicht bewerkstelligen, aus diesem Grunde ist der Gebrauchswert wohl der alles entscheidende Faktor.
Dieser ist relativ einfach zu ermitteln indem man sich selbst fragt? Was ist mir diese Software wert? und wie erleichtert sie meine Arbeit - entlastet mich also und bringt dadurch einen Geldwerten Vorteil für mich?
Bei einem Vergleich kommen folgende erstaunliche Fakten zutage:

Bei herkömmlicher Software fallen in etwa 10 Prozent auf die Tatsächliche Entwicklung und 90 Prozent auf Support, Wartung, Fehlersuche und Behebung etc.
In Umkehrschluss bedeutet dies, 10 Prozent der Arbeit kosten 100 Prozent des Preises mit dem die restlichen 90 Prozent Finanziert werden.
Also bezahlt der Verbraucher einen viel zu hohen Preis, da er indirekt die Weiterentwicklung bezahlt die er dann als update ja noch einmal bezahlen muss, und die eigentlich abgeschlossen sein sollte da er ja ein End also ein fertiges Produkt erwirbt.

Nimmt man jetzt ein Opensource Produkt entfallen hier lediglich /(im Normalfall)/ die Gebühren für die Wartung, Pflege und Anpassungen - keinerlei Warenwertgebühren also Kaufpreis im herkömmlichen Sinne. Sie zahlen also nur das was Sie tatsächlich bekommen und finanzieren nicht noch die Fehlersuche und Behebung mit.

Dies ist wohl die fairste Art von Software die auf dem Markt zu bekommen ist, warum Sich dieses Modell in Germany noch nicht durchgesetzt hat bleibt dahingestellt.
In Entwickler und Freakkreisen ist diese Art der Software sehr beliebt und das schon seit Jahren.
Es wird wohl noch eine Weile dauern bis auch der Ottonormalverbraucher diese Art der Lizenzierung als klaren Vorteil gegenüber herkömmlichen Lizenzmethoden erkannt hat.



Open Source unterscheidet in sich selbst verschiedene Modelle von Lizenzen und Software die lediglich global als Open Source genannt wird. Die ursprüngliche Form von Open Source sieht vor das der Sourcecode offengelegt wird, d.h. ein Programm wird mit dem Sourcecode ausgeliefert und jeder kann nach belieben Änderungen und Modifikationen daran vornehmen, diese sind lediglich zu kennzeichnen und wiederum jedem zugänglich zu machen.
Dies wird wohl hintergründig auf der alten Hackerethik beruhen dass Informationen für jeden zugänglich sein sollten, tiefergreifend betrachtet hat dies einen sehr einfachen jedoch ernsten Hintergrund, was nützt die beste Theorie oder die beste Idee von Irgendetwas wenn man Sie nicht veröffentlicht – also zugänglich für alle macht damit man erstens eine Resonanz darauf erfährt und zum zweiten die gewonnenen Erkenntnisse auch für andere nachvollziehbar macht – vielleicht ist man ja total auf dem Holzweg oder das gleiche Modell (Theorie) wurde bereits vor zig Jahren entwickelt, aber nie veröffentlicht (also kennt Sie keiner).

Dies ist lediglich ein grober Überblick was Open Source bedeutet!!!! Eine genaue Definition von Open Source und der verschiedenen Formen und Unterarten finden Sie unter www.gpl.org

Kundensicht
Aus Sicht des Kunden,
ist es das wohl am transparentesten und deshalb am besten geeignete Lizenzmodell, Ich bekomme eine Software die Ich selbst verändern und an meine Bedürfnisse anpassen darf
Die Anschaffungskosten sind meist relativ gering und die Investitionssicherheit sehr hoch da ja jeder am Sourcecode arbeiten kann, Ich bin also nicht auf einen Hersteller, den es vielleicht morgen nicht mehr gibt, angewiesen. Kann also davon ausgehen das meine Investition relativ sicher ist und sich amortisiert – Zudem erhalte Ich alle Verbesserungen direkt und kostengünstig ohne eine Vertragsbindung eingehen zu müssen und habe auch für meine eigenen Probleme eine sehr große Zahl von Anwendern oder Entwicklern die Ich fragen kann, die ähnliche Probleme hatten und schon eine Lösung gefunden haben.
Bin also auch in diesem Punkt nicht von der Großzügigkeit eines Herstellers abhängig der mehr oder weniger bestimmen kann ob ich eine Verbesserung bekomme oder nicht.
Die Verbesserungen sind zudem noch viel schneller und in größerer Zahl vorhanden da die Zahl der daran Arbeitenden ja potentiell viel größer ist als bei herkömmlicher Software.
Als abschließenden Punkt muss man wohl die Kapitalbindung erwähnen die bei dieser Art der Lizenzierung nicht ins Gewicht fällt, Ich benötige nicht eine Unsumme X kann also mein Kapital anderweitig einsetzen.
Ein weiterer wichtiger Aspekt ist das Handling eines Produktes, und auch hier ist Opensource im Vorteil da nicht nur die Ideen und Interessen des Herstellers einfliesen sondern die Ideen und Interessen von vielen Benutzern – das wohl beste und populärste Beispiel dafür ist Linux.
Qualitätssicherung durch Opensource ist eigentlich selbstredend aus den schon erwähnten und bekannten Kriterien und Umständen.
Größtmögliche Qualität und kleinstmöglichste Kosten oder besser ausgedrückt
Hohe Qualität – geringe Kosten, das lässt das Kaufmannsherz doch höher schlagen.
Irgendwann hat man genug von den vielen unnützen updates die uneffektiv sind wir müssen uns damit abfinden da keine Alternativen vorhanden sind. Warum bezahlt man update Gebühren obwohl keine neuen Features enthalten sind sondern lediglich Bugs ausgemerzt werden?
Normalerweise haben Hersteller kein Interesse daran qualitativ hochwertige Software auszuliefern da ein finanzieller Anreiz fehlt, mit Upgrades wird das Geld gemacht, und der Endverbraucher hat keinerlei Kontrolle darüber was nun wirklich verbessert wurde oder neu ist bzw. welche Bugs ausgemerzt wurden die eigentlich gar nicht vorhanden sein sollten.
Herstellersicht
Hier gibt es zwei Ansichten bzw. Standpunkte die man als Hersteller einnehmen kann.
Manche Hersteller sind vollkommen gegen diese Art der Software da Sie Ihre Felle davon schwimmen sehen und Angst haben evtl. Umsatzeinbußen hinnehmen zu müssen.
Aus dieser Angst heraus wird das komplette Konzept vehement abgelehnt und als Unsinn verschrien – damit wäre kein Geld zu verdienen ist dabei das am meisten genannte Argument.
Okay zugegeben mit dem Verkauf ist kein Geld zu verdienen aber Opensource bedeutet nicht kostenlos! Es gibt ja verschiedene Modelle wie man eine Software lizenzieren kann und damit trotzdem Geld verdienen kann.
Viel KnowHow und Geld in eine Entwicklung zu stecken und diese dann als Opensource anzubieten oder gar kostenlos ins Netz zu stellen widerspricht herkömmlichen Geschäftspraktiken, dies ist richtig aber das Potential das sich daraus ergibt ist enorm.
Der Aufwand für Betatests entfällt z.B. gänzlich da die Entwickler selbst als Betatester fungieren und jeder wohl nur der Beste sein will bzw. das beste Veröffentlichen will, schließlich sieht ja jeder der es will wer welchen Teil des Programmes zusammengeschrieben hat.
Die Effektivität und Reaktionszeiten bei Bugfixes sind sehr schnell, bei Samba 2.0 war Beispielsweise ein Bug der innerhalb von drei Tagen! Release 2.02 folgen lies, bei herkömmlicher Software ist die Reaktionszeit sehr viel länger.
Viele Hersteller setzten mittlerweile auf Opensource, warum kann Ich nicht sagen, die Beweggründe werden wohl sehr unterschiedlich sein.
Abgesehen von der Visionären Seite ohne die es wohl kein Opensource gäbe spielen hier Faktoren wie Imagegewinn, oder die Aussicht auf Gewinn mit Ergängzungsprodukten wohl eine tragende Rolle.
Hersteller verwenden sehr viel Energie darauf Ihre Software sicher zu machen indem Sinne das kein anderer Sie verteilen kann, Sie also vor Vervielfältigung oder Raubkopie zu schützen, diese Energie wäre vielleicht besser in die Weiterentwicklung und Fehleranalyse zu investieren – dort wäre Sie effektiver.
Hier wird bei Opensource Projekten die Energie in die richtigen Bahnen gelenkt.
Klar kann man nun argumentieren, der Enduser will gar keine Quellcodes haben, wahrscheinlich nicht, aber es sind ja nicht nur die Quellcodes sondern das ganze System das OP für den Enduser wirklich interessant macht.
Kaufmännische Sicht
Dies ist die entscheidende Sichtweise unabhängig vom Standpunkt (Anbieter oder Nutzer)
Ich Entwickele ein System in seinen Grundzügen, habe also einen relativ geringen Kostenfaktor für die Entwicklung, nun nimmt mir die Opensource Gemeinde eine Menge Arbeit ab die Ich nicht zu leisten brauche.
Eigentlich cool oder ? Zudem werden Fehler bereinigt und behoben die Ich selbst nicht bedacht hatte und das noch gratis.
Nunja Ich kann das Produkt zwar nicht verkaufen aber was solls da Ich es In und Auswendig kenne biete Ich das eine oder andere Zusatztool an und / oder biete die Wartung, Installation und was sonst noch so anfällt an und verdiene damit eigentlich auch genug.
Auf lange Sicht wahrscheinlich mehr als wenn Ich ein Produkt fertig entwickle und es dann zum Verkauf anbiete. Dieses Verkaufe Ich infolge der Konkurrenz und der hohen Entwicklungskosten vielleicht 1000-mal und verdiene damit jeweils 1000 Steine – thats it. Nun habe Ich das Problem mit dem Support, der Weiterentwicklung und Fehlerbehebung und noch einiges andere am Bein das mich eigentlich auslastet.
Mit einer OP Lösung bringe Ich selbst auch die 1000 Stück an den Mann bekomme aber auch noch Kunden die von selbst zu mir kommen oder aber auf Empfehlung da Sie das Produkt aus einer anderen Quelle kennen und Ich mich damit auskenne. Fehlerbehebung erledigt sich von selbst und ich trage evtl. noch meinen Teil dazu bei also kann ich mich auf den Support und die Weiterentwicklung konzentrieren und habe wohl eine effizientere Auslastung meines Unternehmens da mir ein Teil der Arbeit abgenommen und Ich auch noch die Zeit habe andere Dinge zu erledigen. Unterm Strich gewinne Ich so nicht 1000 sondern vielleicht gar 3000 Kunden die auch langfristig bleiben wenn die Qualität stimmt.
Eine Opensourcelösung Wo habe Ich eine bessere Kapazitätsauslastung? Und damit verbunden eine bessere Produktivität?
Dies steht wohl außer Frage.

Stellen Sie sich vor Sie haben ein Produkt das aus einer Softwareschmiede der endachziger anfangneunziger kommt – diese sind zu dieser Zeit wie Pilze aus dem Boden geschossen und einige gibt es immer noch. Nun ist aber das Problem hier das ein oder vielleicht gar zwei Entwickler das ganze Programm in und auswendig kennen da Sie sonst nie was anderes getan haben – was aber wenn diese mal nicht mehr sind oder die Firma wechseln? Dann besteht die Firma zwar immer noch aber keiner ist da der ein update oder eine Änderung herstellen kann und es dauert Jahre bis ein anderer die Kompexität eines Programmes versteht das eine jahrelange Entwicklung durchgemacht hat. Damit wäre Ihr Produkt von einem auf den anderen Tag praktisch wertlos geworden! Dies wird Ihnen bei Opensource nie passieren – da nicht ein einzelner nur das Programm kennt sondern faktisch jeder Änderungen daran vornehmen kann.
Hinzu kommt die simple Tatsache, dass ein Opensource Produkt nicht bekannt wurde durch eine gutes Marketing sondern durch Qualität, wer macht schon Verbesserungen an einem Produkt das für Ihn Nutzlos ist ? oder gar vollkommen unbrauchbar?

Nehmen wir wieder das Lieblingsbeispiel Software und Autos
Nun Stellen Sie sich vor Sie haben die Wahl zwischen zwei Autos die beide Identische Ausstattungsmerkmale und Motorleistung etc. haben, eines kostet Sie 20000 Euro, die sie natürlich bequem in Raten bezahlen können und eines kostet Sie nichts dafür müssen Sie eine Wartungsvertrag abschließen der drei Jahre läuft und Jährlich 250 Euro kostet, dies beinhaltet alle Verbesserungen und es wird tatsächlich jeden Monat ein Check vorgenommen.
Mit ersterem Auto müssen Sie selbstverständlich alle Verbesserungen und den vierteljährlichen Check extra zahlen.
Hand auf Herz – für welchen Wagen würden Sie sich entscheiden?
Nun gibt es auch hier natürlich Leute die dieses Modell nicht verstehen und Zweifel an der Seriosität bzw. Versteckte Hacken und Ösen vermuten, nach dem Motto „so ein Angebot muss einen Haken haben“
Ich kann Sie beruhigen – es hat keinen Haken – es gibt lediglich Leute die die Philosophie des Opensource vertreten % leider nicht bei Autos ;-) % und diese werden Immer mehr. Mittlerweile gibt es sogar schon Überlegungen bzw. erste Versuche Dokumentationen oder sonstige elektronischen Publikationen als OpenSource zu veröffentlichen. (siehe Open Public Licence)

Hierbei wird es noch offensichtlicher wie gut Opensource funktionieren kann– nehmen wir eine Doku zu einem Produkt.
Es schleicht sich ein Fehler ein: der normale Weg wäre nun Ich entdecke den Fehler und melde Ihn dem Urheber des Werkes – dieser sieht nach und verbessert seine Doku. Dies ist Zeitaufwändig – bei Opensource verbessere Ich das Werk selbst und schicke dem Urherber die verbesserte Version mit einem Vermerk welche Stelle ich verbessert habe – er braucht lediglich zu sehen ob es Ihm gefällt und es wieder zu veröffentlichen. ---Hohe Effektivität –
Natürlich besteht die Gefahr das jemand etwas dazu schreibt der nun wirklich nicht die geringste Ahnung davon hat – aber was solls – er blamiert sich ja selbst, lediglich wenn sein Werk nun jemandem in die Hände fällt der noch weniger Ahnung hat und es als bare Münze nimmt wird diese Modell wirklich gefährlich............