Open Source Software

Hallo,

ich habe verstanden, dass ich mir die Source öffentlich ansehen kann.
Ich Frage mich, wann sie durch wen aktualisiert wird.

Viel wichtiger ist meine Frage, kann ich diesen Code auch für mich nutzen und die Software bei mir laufen lassen?

Falls ja wie mache ich das denn?

Danke!

OpenSource Software heißt nicht, dass man damit auch alles machen kann. Das kommt letztlich auf die Lizenz drauf an, unter welcher die veröffentlicht wurde, d.h. deine Frage ist so nicht zu beantworten.

Durch wen werden die Sourcen aktualisiert: Durch die die das dürfen. I.d.R. liegen die sourcen bei Soureforge, Github,… und da hat einer das Repository angelegt und anderen das Recht gegeben Änderungen da einzuspielen. WEnn Du bei so was mit machen willst, dann kannst Du dich mit den Verwaltern in Verbindung setzen und dich um eine Aufnahme „bewerben“, deine Hilfe anbieten

Sourcen nutzen: s.o. in aller Regel sollte es zu jedem OSS-Projekt auch aus diesen Sourcen erstellte Setups für die gängigen Betriebssysteme geben. Ich gehe jetzt nicht davon aus, dass Du dir mal eben den Linux-Kernel neu compilieren willst?

Die Aktualisierung läuft meist über denjenigen, der sie Software erstellt hat. Das kann eine Einzelperson sein, das kann eine Firma sein, soweit also nicht anders als bei „Closed Source Software“. jeder, der Programmierkenntnisse hat oder bereit ist jemanden fürs Programmieren zu bezahlen kann das aber auch …

„Open Source“ sagt ersteinmal nur etwas darüber aus, dass die Quellen offen liegen. Free Software ist quelloffene Software, deren Lizenz eine Nutzung, Veränderung, Weitergabe und Weitergabe von veränderten Versionen regelt und (unter bestimmten Bedingungen) erlaubt.

Ich gehe mal davon aus, dass Du Freie Software meinst …

Es gibt so etwa zwei Wege:

  • Du musst (in aller Regel) aus dem Quellcode ein lauffähiges Programm erstellen, dazu brauchst Du ein passendes Programm, was aus dem Quellcode ausführbare Dateien erstellt, den Compiler. Bei umfangreichen Programmen benötigst Du in der Regel noch sogenannte Programmbibliotheken, die vorgefertigte „Standardfunktionen“ zur Verfügung stellen.
  • Oder Du nimmst fertig erstellte Programmdateien, lässt Dir die Arbeit des Compilierens also abnehmen und nimmst das fertige Produkt. Das ist für Anfänger der übliche Weg, viele wichtige Programme werden üblicherweise als fertig compiliertes Binärpaket (im Gegensatz zum Quellcode) verteilt und installiert. Das ist dann sehr einfach.

Das ist eine sehr allgemeine Frage: Was möchtest Du denn tun? Linux nutzen? Firefox installieren, GIMP? LibreOffice? …?

Sebastian

Nur um das deutlich zu machen: wie von Dir angedeutet ist die Lizenz (GPL, Apache, BSD, …) entscheidend. Wenn die Software unter einer freien Lizenz steht, dann darf jeder den Quellcode verändern und auch veränderte Versionen (gegebenenfals mit Quellcode) weiterverteilen, egal, ob man einen freigeschalteten Zugang zu Sourceforge, Github oder was auch immer hat.

Wenn die Veränderungen aber „gut“ sind und für auch für andere einen Nutzen haben werden die Autoren in der Regel froh sein, wenn Du Deine Beiträge den ofiziellen Quellen hinzufügst und sie dankbar annehmen.

Sebastian

Open Source Software wird in der Regel durch ein freiwilliges Team an Entwicklern erstellt. Das heißt, jeder, der möchte und die Fähigkeiten hat, kann an einer Open Source Software mitarbeiten. Den Code dafür findet man in bestimmten Verzeichnissen (Github ist bei uns das bekannteste meiner Meinung nach), dort kann man ihn auch einsehen.

Normale User sind in der Regel die Nutznießer davon, denn vieles, was an Open Source Software programmiert wird, darf frei genutzt werden - vorausgesetzt der User verstößt nicht gegen die GPL. Für das Installieren gelten genau dieselben Regeln wie auch bei kommerzieller Software, bei vielen Open Source-Projekten gibt es fixfertig kompilierte Dateien, die man einfach nur auf den Rechner laden und ausführen muss.

Mit der Aktualisierung ist das so eine Sache. Es gibt 1A laufende OS-Projekte bei denen eine gut funktionierte und aktive Firma/Community die Weiterentwicklung betreibt und es daher in schöner Regelmäßigkeit zu entsprechenden Aktualisierungen kommt.

Es gibt aber noch deutlich mehr Projekte, die irgendwann mal mit großem Elan gestartet wurden, und dann mehr oder weniger schnell versandet sind. D.h. wenn Du auf Dinge stößt, die zuletzt unter Windows XP anständig funktioniert haben, ist die Hoffnung, hierfür irgendwann eine unter Windows 10 lauffähige Version zu bekommen, „eher gering“.

Ebenso ärgerlich für den Laien sind Projekte die nach dem Motto leben: „Der Code ist Kommentar genug“, und aus einer sehr eingeschworenen Community bestehen, die zwar groß erklärt, dass sie ihre Sourcen veröffentlicht, aber hierzu keinerlei „laientauglichen“ Informationen veröffentlicht, keine/minimal/schlecht gepflegte Foren betreibt, … und nur „im eigenen Saft“ schmort. Als Privatanwender kann man sich solche Dinge antun, wenn man hierauf nicht wirklich angewiesen ist, solange sie denn problemlos ans Laufen gebracht werden kann, und tut, was sie soll. Aber man sollte halt immer berücksichtigen, dass man hier dann auf keinerlei Support hoffen darf.

Zum Thema Nutzungsrechte, solltest Du nachsehen, welche Lizenz die von Dir gewünschte Software verwendet, und diese dann einmal lesen. Die gängigen Lizenzen sind sehr großzügig gestaltet. Speziell als Privatanwender wirst Du kaum nachteilige Einschränkungen feststellen.

Open Source Entwickler haben oft den Anspruch, ein Problem zu lösen, das ihnen auf den Nägeln brennt und stellen das Produkt, was dabei herauskommt der Allgemeinheit zur Verfügung.

Da von „ärgerlich“ zu sprechen, finde ich in sofern auch nicht ganz angemessen, zumal fehlende oder schlechte Dokumentation kein Alleinstellungsmerkmal von Open Source Software ist.

Als Haltung finde ich den Ausspruch „Contribute nothing - expect nothing“ nicht schlecht. Jeder ist eingeladen, das Programm zu verbessern, und da sind Programmierkenntnisse nicht unbedingt erfoderlich; man kann Anleitungen, HowTos schreien, Handbücher übersetzen, anderen Anwendern helfen. Aber sich einfach darüber zu ärgern, dass das Programm nicht die eigenen Wünsche erfüllt finde ich immer etwas schwierig …

Die üblichen Lizenzen sind für Anwender (auch in professionellem Maßstab) ohnehin praktisch ohne Einschränkungen, spannend wird es, wenn es darum geht, geänderten Programmcode und binäre („kompilierte“) Programme weiterzugeben.

„Ärgerlich“ meine ich hier aus reiner Anwendersicht in Bezug auf vergeudete Zeit. Natürlich kann man nichts erwarten/erzwingen.

Trotzdem ist es ärgerlich, sich auf die Suche nach einer Lösung zu begeben, auf drei Kandidaten zu treffen, die - gerade mangels konkreter Beschreibung - geeignet erscheinen ein Problem zu lösen, und dann festzustellen, dass man einen Tag vergeudet hat, weil man in allen drei Fällen nicht in der Lage ist, die gefundenen Programme zu installieren/angemessen zu nutzen.

Da würde ich mir schon in vielen Fällen etwas mehr „Verantwortungsbewusstsein“ wünschen, Dinge nur dann öffentlich zu verbreiten, wenn sie einen gewissen Grad an Brauchbarkeit erreicht haben, und diese dann zumindest grob so zu beschreiben, dass erkennbar ist, was geht, und was nicht. Das müssen ja keine dicken Handbücher sein.

Auch für die „Feigheit“ über Jahre mit irgendwelchen 0.0.x-Versionen zu hantieren, nur um bloß nicht den Eindruck zu erwecken, es handle sich um brauchbare Software. während Dinge zig-tausendfach bereits im Einsatz sind, habe ich kein Verständnis. Denn wenn Dinge wirklich noch 0.0.x sind, dann baut man darum keine großen Foren, Webseiten, … auf, und tut alles dafür, dass sich das Zeug verbreitet. Da ist auch eine ganz große Diskrepanz zwischen dem angestrebten „Heldenstatus“ (der natürlich immer schön trotz allem Aufriss bestritten wird) und dem fehlenden Verantwortungsbewusstsein und Respekt vor denjenigen, die man motiviert, Dinge zu nutzen.

Da lobe ich mir Projekte, die mit einer sauberen 0.9 in die Öffentlichkeit gehen, um eine an sich fertige Lösung - die auch für die Öffentlichkeit gedacht und gemacht worden ist - einem öffentlichen Beta-Test zu unterziehen, und dann eine brauchbare 1.0 abliefern.

genau. Ebenso kann es den Fall geben, dass Software OpenSource ist (d.h. der Sourcecode ist öffentlich verfügbar), aber die Lizenz unter der der Code steht eben keine freie Lizenz ist und damit Anpassungen, Korrekturen, Verwertung eben nicht erlaubt sind :smile:
Daher habe ich das völlig offen gelassen, schon allein die GPL (die ich den freien Lizenzen zurechne) macht Einschränkungen was die Nutzung der unter der GPL stehenden Sourcen betrifft…

Es sind halt nur Zahlen. Und Windows 95.0 war auch nicht so ein Ruhmesblatt nur weil die Zahl groß genug war …

Das sehe ich anders. Es liegt in der Verantwortung des Anwenders zu erwägen, ob das Programm für den jeweiligen Verwendungszweck taugt. Das ist sogar Bestandteil vieler Lizenzen, GPL 3 sei als Beispiel genannt:

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Das gerne gepflegte Prinzip ist „release early, release often“.

Mir ist eher unwichtig, wie die Zahl vorne ist. Linux 2.3.1 war nicht so der Burner, Linux 2.0.36 schon eher. Und nun …? Tatsächlich ist ein „sauberes“ Programm eine feine Sache. Wenn Dir die anderen nicht gefallen, musst Du sie nicht in Deiner Auswahl berücksichtigen, das ist Deine Freiheit :slight_smile:

Aber wenn Du ein 0.0.23-Versionsprogramm testen und evaluieren möchtest, kannst Du das ganz niedrigschwellig tun, ohne ein NDA zu unterschreiben, ohne Dich zu registrieren … und Du kannst Dir den Source Code ansehen oder ansehen lassen. Bei welcher kommerziellen Software gibt es das schon.

Und wirklich Garantien für einwandfreie Funktion sind bei kommerzieller Software auch eher selten …

Sebastian

Das sind aber Zahlen jenseits der „Null“! Es geht mir auch gar nicht um die Frage tatsächlicher Qualität, sondern um die Frage, ob man bereit ist Verantwortung zu tragen, oder versucht, sich durch solche Statements wie 0.0.99 von jeglicher Verantwortung frei zu sprechen.

Und die „Erwägung des Anwenders“ setzt natürlich voraus, dass er überhaupt eine Information darüber hat, was es denn zu erwägen gibt. Das hat übrigens nichts mit der von Dir angesprochenen Garantie zu tun. Eine Garantie wäre eine ganz andere Hausnummer. Das man diese nicht übernehmen will, ist vollkommen klar und verständlich. Das heißt aber doch nicht, dass man sich die Freiheit nehmen sollte, recht großspurige, globalgalaktische Aussagen zu treffen, die Leute in vermeidbaren Aufwand treiben, um Dinge mühsam in Erfahrung zu bringen, die man mit wenigen Worten auch vorab deutlich hätte beschreiben können. Und damit meine ich jetzt keine Feinheiten von Riesenprojekten, sondern wirklich grundsätzliche Themen bei kleineren Tools und Zusatzkomponenten, … die man „mal eben schnell braucht“, und bei denen man dann wirklich überproportional viel Zeit investieren muss, um banale Grundsätzlichkeiten in Erfahrung zu bringen, die nicht mitgeteilt werden, und die man dann erst nach Download, ggf. der Überwindung diverser Installationshindernisse, … erst sieht, wenn man das Programm gestartet hat.

„Release early, release often“ ist zudem auch ein sehr zweischneidiges Thema. Wenn man ein ordentliches Testmanagement mit möglichst automatisierten Tests betreibt, ist das toll. Ohne dieses produziert man hierdurch einfach nur Chaos, weil Seiteneffekte von Änderungen nicht hinreichend berücksichtigt werden. Das sind dann diese netten Geschichten, bei denen man dann wegen einer kleinen „Verbesserung“ am nächsten Morgen vor den Trümmern einer Installation steht, die man dann wieder von Grund auf neu machen darf (Backups hin, Backups her, das ist ein mit etwas mehr Verantwortungsgefühl vermeidbarer Aufwand).