Software - OpenSource, Freie Software

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Software - OpenSource, Freie Software
Hi, könnt ihr mir vielleicht in kurzen Worten den Unterschied zwischen OpenSource, Freie Software, GPL und Freeware erklären?

Ich dachte immer, open source heißt einfach nur “quelloffen”, aber laut der OSI scheint das ja nicht zu reichen. Wenn ich aber jedem die Rechte einräume mit der Software zu machen, was er will, ist das dann nicht Freie Software? Worin liegt jetzt genau der Unterschied?


Freeware: Du darfst es kostenlos nutzen, aber in der Regel nicht weitergeben (insbesondere nicht in veränderter Form). Auch liegt in der Regel der Sourcecode nicht bei, bzw. ist nicht verfügbar. “Free” as in kostenlos.

Open Source und Free Software: Du darfst es (meist) kostenlos beziehen und nutzen, hast auch den Source um Veränderungen durchführen zu können und darfst die Software (auch mit deinen Änderungen) weitergeben. Der wesentliche Unterschied zwischen Open Source und Free Software ist, welche Rechte du anderen einräumen/verweigern darfst, wenn du sie weiter gibst. Der Grundgedanke bei Free Software ist: Wenn du meine Arbeit als Basis nimmst und das Ergebnis weitergeben willst, musst du anderen äquivalente Rechte dafür einräumen, wie ich sie dir eingeräumt hatte. “Free” as in Freiheit.

Etwas ausführlicher: http://www.slackbook.org/html/introduction-opensource.html

Ein IMHO sehenswerter Talk über Software und Freiheiten vom Free-Software-Aktivisten Nr. 1 (Richard M. Stallman): 31C3: Freedom In Your Computer And In The Net

1 „Gefällt mir“

Im Gegensatz zur Open Source darfst du bei freier Software nicht nur das ursprüngliche Programm verändern, sondern musst es auch nutzen (können) dürfen. Beim TiVo z.B. konntest du die Open Source-Software verändern wie du wolltest; nur auf dem TiVo konntest du sie nicht nutzen, weil die Hardware die Hersteller-Signatur verlangt hat, wodurch deine Software darauf einfach nicht lief.

Oder: du darfst Open Source-Software verändern und die Rechte der Nutzer deiner Modifikation einschränken.

Frei bleibt frei, weil du alles damit machen darfst, außer diese Freiheit zu beschränken.

edit: das Teil hieß TiVo


Das wäre mir jetzt ehrlich gesagt neu, ich lasse mich aber gerne eines besseren belehren. Dass modifizierte freie Software aus dem Grund nicht mehr frei ist, weil sie keine Hardwaresignatur hat, halte ich aber schon für weit hergeholt. Ohne jetzt zu wissen, was ein TiVi ist, würde ich da jetzt aus dem Beispiel folgern, dass auch Linux nicht frei wäre, wenn es für Secure Boot keine Signatur bekäme (okay, da ist eigentlich ein Bootloader vorher, aber dann hat man das Problem mit z.B. GRUB oder Gummiboot). Trotzdem ist die Software unter der GPL lizenziert, was ja DIE Lizenz für freie Software ist.


Ok, hier wird einiges durcheinander gewürfelt.

Erstmal, die Begriffe “freie Software” oder Open-Source sind nur grobe Kategorisierungen, die nicht dafür herhalten können, zu definieren, was man mit Software darf oder nicht darf. Unter “freier” Software versteht die FSF Software, die unter einer sogenannten Copyleft-Lizenz weitergegeben wird. (Siehe die vier Freiheiten)

Es gibt nun allerdings eine Mehrzahl von gebräuchlichen Copyleft-Lizenzen, und mehrere davon wurden von der FSF veröffentlicht. Im Folgenden ein kurzer Überblick über diese (andere, wie z.B. Cecill, lasse ich mal außen vor).

Die GPLv2 ist immer noch am Weitesten verbreitet, prominentestes Beispiel ist der Linux-Kernel. Die GPLv2 schreibt grob gesagt nur vor, dass die Software nur unter der GPLv2 weiterverbreitet werden darf (der Autor darf seine Software natürlich auch unter anderen Lizenzen vertreiben). Daher wird sie auch als virale Lizenz bezeichnet. Das heisst aber, dass der Autor der Software absolut keine Kontrolle darüber hat, auf welche Art und Weise die Software verwendet wird. Sie kann z.B. nicht nur verkauft werden, sondern es kann auch Hardware verkauft werden, auf der die Software läuft, ohne dem Nutzer rechtliche und technische Möglichkeit zu gewähren, die Software auf der Hardware zu verändern. Also obgleich der Source-Code dem Nutzer unter der GPLv2 (also frei) zur Verfügung gestellt werden muss, kann er wie im Beispiel von *Ralf evtl. nicht viel damit anfangen.

Die GPLv3 ist erschienen, um einige Probleme der GPLv2 zu lösen. Dazu gehört z.B., dass über das Patentsystem quasi als Hintertür die Freiheit der Software eingeschränkt werden könnte. Daher enthält die GPLv3 eine (beschränkte) Patentlizenz. Außerdem enthält sie eine Klausel, die das Beispiel von *Ralf verhindern soll.

Die AGPLv3 geht noch weiter, indem sie verhindert, dass der Software die Freiheit durch das Konzept “Software as a Service” genommen wird. Wie erwähnt, darf jeder mit GPL-Lizenz alles mit der Software machen, was er will, solange er sie nicht weitergibt. Erst bei der Weitergabe der Software gelten bestimmte Regeln, um die vier Freiheiten zu schützen. Lasse ich nun aber die Software auf meinem Server laufen und der Nutzer interagiert nur mit meinem Server, dann erhält er von mir die Software nie und ich kann sie quasi-proprietär weiterentwickeln und einsetzen. Das verhindert die AGPLv3 und daher ist z.B. OwnCloud mit der AGPLv3 lizenziert.

Und dann gibt es noch die LGPLv2 und LGPLv3, die wiederum einen weiten Schritt zurück machen. Diese limitieren nämlich den viralen Effekt der GPL-Familie. Die LGPL erlaubt das Kombinieren (konkret: Linken) der Software mit proprietärer Software. Das ist oft sinnvoll für Bibliotheken, die zwar selbst frei weiterentwickelt werden sollen, aber als Baustein in aller möglichen Software vorkommen und nicht den Kern dieser Software darstellen. Ein relative bekanntes Beispiel ist Qt. Auch proprietäre Software wie Skype nutzt die Qt-Bibliothek.

Leider haben Copyleft-Lizenzen in den letzten Jahren stark an Popularität verloren, was unter anderem auch dadurch befördert wird, dass immer mehr große Firmen im Open-Source-Bereich aktiv werden. Apple sah sich z.B. durch den Wechsel des GCC-Compilers von der GPLv2 zur GPLv3 genötigt, auf Clang umzusteigen, welcher unter der als permissive bezeichneten NCSA License vertrieben wird. Von dieser geschäftlichen Entscheidung werden dann natürlich auch sehr viele Entwickler beeinflusst, die die Apple-Platformen nutzen. Diese erzählen einem dann aber gerne lange und breit, wieso ihnen Clang sowieso schon immer viel besser gefallen hätte. Beileibe nicht jeder (oder eher: kaum einer) ist so enthusiastisch im Kampf für die Zukunft der freien Software wie Richard Stallman.

1 „Gefällt mir“

Naja, es gibt schon eine grobe Einteilung fuer die Open Source vs. freie Software taugt: Freie Software hat Vorkehrungen in der Lizenz, die versuchen zu erzwingen, dass die Software und alle Weiterentwicklungen auch frei bleiben. Und dass alle Anwender und Entwickler dieselben Freiheiten geniessen.

Open Source hingegen ist ein von einem Industrieverein gepraegter, umfassenderer Begriff, der auch alle Software einschliesst, bei der man zwar den Sourcecode sehen und modifizieren darf, wo die Lizenz aber keine weitgehenden Garantien ueber zukuenftige Freiheiten zu geben versucht.

RMS hat dazu auch einen Artikel (gibt auch eine deutsche Uebersetzung, ganz oben klicken): http://www.gnu.org/philosophy/open-source-misses-the-point.html


Grobe Kategorisierung == Grobe Einteilung?

Ansonsten kann ich ebenso nur empfehlen, die Artikel von Stallman zu lesen bzw. seinen von johnLate verlinkten Vortrag anzusehen, auch dort werden diese Themen alle, natürlich klar aus seiner eigenen Sichtweise, behandelt.


Ja, das stimmt schon. Ich wollte eher auf „[…] zu definieren, was man mit Software darf oder nicht darf.“ raus, das wird da naemlich eigentlich schon unterteilt, Open-Source-Software darf man naemlich zu nicht-FLOSS, proprietaerer und kommerzieller Software machen oder verwenden, bei freier Software darf man das nicht.

Fuer die Details auf jeden Fall Stallman lesen.


Da wird das mit dem TiVo übrigens genauer erklärt :wink:

Meinst du damit nicht eher die Open Software? Die Open Group betreut ja z.B. POSIX, also offene Industriestandards.

Die eigentliche Definition der Open Source Initiative geht über den offen einseh- und modifizierbaren Quelltext hinaus. Die Open Source Initiative hat mit der Industrie aber wenig zu tun.


Nein, ich meinte OSI. Die wurden afaik explizit als industriefreundlicheres Gesicht der Bewegung gegruendet, weil die GNU-Leute zu sehr nach Kommunistenhippies riechen…


Jetzt wo dus sagst. Ich hatte das anders im Kopf. Dämliche Kommunistenhippies :#: … find ich gut :smiley: