ForumGNU GPL
Karsten Tröß – Montag, 29. August 2005 15:29 Uhr

Hallo Zusammen,

wer kann mir kurz und knapp etwas zur GPL sagen?
Ich habe folgendes vor: In einem in C++ geschriebenem DOS – Programm soll noch ein log – file gezippt werden.
Kann ich dazu einfach den Source – Code von gnuzip einbinden??
Das DOS – Programm ist kein OpenSource?
Was ist das mindeste was ich tun muss um das zu dürfen??

Danke!

Karsten

2 Antworten
Bernd Seidler – Montag, 29. August 2005 17:03 Uhr

So, wie ich die GPL verstehe, solltest Du das nicht tun.
Du kannst allerdings problemlos gnuzip von Deinem Programm aus aufrufen lassen.

Du darfst gnuzip auch Deinem Programm beifügen. Dabei mußt Du selbstverständlich die Lizenzbedingungen einhalten. Welche Lizenz Du für Dein Programm wählst, ist egal.

Willst Du allerdings gnuzip tatsächlich als Teil Deines Programms verwenden, bist Du bei der Wahl Deiner Lizenzform eingeschränkt.

Andererseits: Nimm doch einfach die zlib. Die liegt unter einer weit weniger restriktiven Lizenz und Du darfst Dein Programm problemlos dagegen verlinken.

[1] http://www.gnu.org/copyleft/gpl.html
[2] http://www.zlib.net/zlib_license.html

Jan Kandziora – Montag, 29. August 2005 17:26 Uhr

Solange du das abgeleitete Werk nicht oder unter der GPL veröffentlichst, darfst du den Quellcode von gzip einbinden.

Aber Bernd hat recht, nimm einfach zlib — aber eine aktuelle Version ohne tausend Bugs.

Jan

Karsten Tröß – Montag, 29. August 2005 21:46 Uhr

Vielen Dank für die Infos!

Aber noch eine weiterreichende Frage: Wenn ich mich dennoch entscheide mein Programm mit dem gzip – code zu erweitern und es unter die GPL stelle, heisst das, das ich es irgendwo bekannt geben muss oder heisst das nur das ich bei der weitergabe des Programms mitteilen muss das der Empfänger der GPL zustimmen muss?
Darf ich das Programm trozdem noch verkaufen? Oder besser, den “restlichen” Teil davon.
Im speziellen Fall geht es um ein DOS – Programm das auf einem kleinen (embedded) PC läuft und eine “Prozesssteuerung” (über serielle Ports) durchführt. Die gzip Erweiterung benötige ich nur um die Log – files klein zu halten.
Ich würde es ja von auserhalb als eigenständiges Programm betreiben, aber von DOS aus kann man keine externen Programme aufrufen.

Vielen Dank für weitere Infos.

Karsten

Henning Moll – Dienstag, 30. August 2005 00:32 Uhr

All Deine Fragen werden umfangreich auf untenstehender Seite beantwortet.
Leider nicht auf deutsch…

[1] http://www.gnu.org/licenses/gpl-faq.html

Fred Andresen – Dienstag, 30. August 2005 15:06 Uhr

Wenn nur du alleine deine Embedded-Lösung (und damit dein Programm) benutzt, kannst du Quellcode von GPL-Software beliebig einbinden.

Wenn du, was ich vermute, dein Programm weiter geben möchtest, kannst du das nur unter den Bedingungen der GPL: Dein gesamtes Programm musst du unter die GPL stellen, den Quellcode — zumindest auf Anfrage — ausliefern, und auf die Lizenzbedingungen (GPL) im Quellcode und zusammen mit der Weitergabe der Binärprogramme (oder der Embedded-Lösung) hinweisen.

Der Hintergrund:

Die GPL konkretisiert im Wesentlichen die Urheberrechte am Quellcode. Es geht um drei Teile dieser Urheberrechte: Das Benutzungsrecht, das Bearbeitungsrecht und das Vervielfältigungsrecht (Weitergabe).

Benutzungs- und Bearbeitungrecht sind nicht eingeschränkt, das heisst, du darfst die Originalprogramme beliebig benutzen und/oder umschreiben, den Code anpassen, eigenen dazu schreiben oder sogar — so wie du es vorhast — ganze Programme in eigene Lösungen einbetten.

Die Einschränkung, also die Bedingung der GPL, dass die Lizenz “abfärbt&quot, wirkt bzw. entsteht erst in dem Zeitpunkt, wenn du Programme weitergeben willst. Dann musst du sowohl die Originalsoftware unverändert unter der GPL verbreiten als auch jede Bearbeitung wiederum unter die GPL stellen.

Das Urheberrecht wirkt auch auf Überarbeitungen von Werken, weil die Überarbeitung ohne das Grundwerk nicht denkbar wäre. Ein Beispiel ist die Übersetzung eines fremdsprachigen Buches oder eben das Umschreiben von Quellcode. Natürlich hast du — auch — eigene Urheberrechte an deiner Bearbeitung, aber eben nicht ausschließlich, sondern nur zusammen mit dem Urheber des zugrunde liegenden Programms. Und der (oder die) gestatten dir gemäß der GPL eben nur unter der Voraussetzung das neue Gesamtwerk weiter zu geben, wenn du die Kette der Freiheit nicht durchbrichst, also dein Urheberrecht wieder in gleichem Maße der Allgemeinheit zur Verfügung stellst, die du selbst in Anspruch genommen hast.

Ich glaube auch, dass du dein Programm verkaufen darfst, du darfst dem Käufer aber nicht verbieten, es beliebig zu kopieren, zu verändern und weiter zu geben:

Weil die GPL nicht verbietet, selbst geschriebene Programme zu verkaufen, denke ich, dass du auch für deine Bearbeitung des Quellcodes, also deine Programmierleistung ein Entgelt verlangen darfst.

Die Bedingung, lediglich die Kosten der Vervielfältigung verlangen zu dürfen, gilt AFAIR ja nur für das unveränderte Weitergeben. Ob und inwieweit du die Urheber von gzip am Erlös für dein Programm beteiligen müsstest, ist eine interessante Frage und hängt wohl auch davon ab, in welchem Verhältnis dein Preis zu deiner eigenen Programmierleistung steht. Darüber müsste ich aber erst mal nachdenken…

Die GPL verbietet nicht den Handel mit freier Software, sie schränkt ihn aber meiner Meinung nach sinnvoll dadurch ein, dass deine Abnehmer das Programm ja wiederum beliebig oft kopieren und weiter geben dürfen, so dass sich Angebot und Nachfrage neu regulieren und du lediglich durch Handeln kaum Gewinne erwarten kannst. Der Erste, der eine spezielle Problemlösung braucht, wird dir sicher etwas für deinen Code zahlen. Ob der Zweite dir dann für das selbe Programm wieder etwas bezahlt, oder sich eine Kopie vom Ersten besorgt, wird sich zeigen.

So sorgt die GPL für Innovation — besser, als jedes Patent ;)

Henning Moll – Dienstag, 30. August 2005 21:28 Uhr

Hierzu drei Anmerkungen:

1. Man darf beliebig viel Geld für ein Programm verlangen, welches unter der
GPL steht.
Jedem, dem man das Programm aber direkt weitergegeben hat (z.b. nur Binär in
Form einer CD), muß aber auf Anfrage der Quellcode zur Verfügung gestellt
werden. _Hierfür_ darf dann nur ein geringer Betrag für die Kopierkosten
erhoben werden.

Jetzt wird es etwas spitzfindig:

2. Man muß ein Programm, welches GPL-Code verlinkt, nicht unbedingt wieder
unter
der GPL weitergeben. Man muß allerdings eine GPL-kompatible Lizenz dabei
verwenden. Sprich: die Lizenz darf bestehende Rechte nicht einschränken,
ansonsten aber weitere Forderungen stellen…

3. Ein ‘abgeleitetes Werk’ muß in dem Moment wieder unter einer entsprechenden
Lizenz stehen, wenn es ‘distribuiert’ wird. Die Frage ist aber, wann etwas
distribuiert wird. Auf der GNU-Seite habe ich mal gelesen, dass z.b. eine
firmeninterne Nutzung nicht unter ‘Distribution’ fällt, obwohl innerhalb der
Firma das Programm ja sozusagen von Person zu Person weitergegeben wird.

Karsten Tröß – Mittwoch, 31. August 2005 13:01 Uhr

Hallo,

dass es die kpl. GPL in engl. Version und auch eine Menge Doku rundum gibt ist mir natürlich bekannt, aber da mein englisch seehr bescheiden ist macht es wenig Sinn “Gesetzestexte” zu lesen. Ich würde sie vermutlich falsch verstehen.

Nur aus diesem Grund habe ich diese Frage hier gestellt.

Trotzdem Danke für alle Hinweise.

Karsten

Karsten Tröß – Mittwoch, 31. August 2005 13:23 Uhr

Hallo, noch eine weitere Frage:

Wenn ich ein Programm mit dem GCC übersetze, muß ich es dann automatisch unter die GPL stellen??

Danke.

Karsten

Bernd Seidler – Mittwoch, 31. August 2005 21:57 Uhr

Klassischer Fall von Nö.

Du darfst die GCC verwenden, wie Du willst (und Programme zu kompilieren ist so ziemlich die offensichtlichste Verwendungsart für einen Compilier).

Die Restriktionen greifen grundsätzlich bei der Weitergabe:
– Wenn Du die GCC weiterverbreitest, mußt Du es zu den Bedingungen der GPL tun.
– Wenn Du eine von Dir veränderte Version der GCC weiterverbreitest, kommt analog die GPL zum Tragen.

Ein Kompilat verändert den Compiler nicht, weswegen das unproblematisch sein sollte.

Wenn Du Dein Programm mit Bibliotheken, die unter der LGPL stehen, verlinkst, hast Du auch kein Problem. Bekannteste Ausnahme: QT. Die gibt’s unter der GPL wie unter einer proprietären (kostenpflichtigen) Lizenz.

Henning Moll – Mittwoch, 31. August 2005 21:58 Uhr

Bitte lese die FAQ unter dem Link, den ich oben beschrieben habe! Insbesondere
[1]

[1] http://www.gnu.org/licenses/gpl-faq.html#CanIUseGPLToolsForNF

Karsten Tröß – Donnerstag, 01. September 2005 16:58 Uhr

Vielen Dank für alle Infos.

Noch eine (vermutlich letzte) Frage:
Wenn ich ein Programm mit Tools… die unter GPL stehen veröffentliche muss ich das Programm mit Source – Code veröffentlichen, soweit so klar!
Was aber bedeutet “veröffentlichen”?
Wenn ein Kunde z.B. ein Programm will das ich auf einem Linux – System laufen lasse und das für Ihn programmiert ist (er bezahlt auch dafür), muss ich dann anschliessend den Quelltext des Programms ins Internet stellen??
Oder heisst “veröffentlichen” in diesem Fall nur, das z.B. der Kunde den Source – Code weitergeben darf.
Was ist mit Linux als Betriebssystem? Wenn ich Linux einzetze, kann ich dann trotzdem NICHT – GPL Software mit dem “System” vertreiben?

Danke.

Karsten

Lukas Heller – Freitag, 02. September 2005 19:29 Uhr

1. Man darf beliebig viel Geld für ein Programm verlangen, welches unter der GPL steht.
Jedem, dem man das Programm aber direkt weitergegeben hat (z.b. nur Binär in Form einer CD), muß aber auf Anfrage der Quellcode zur Verfügung gestellt werden. Hierfür darf dann nur ein geringer Betrag für die Kopierkosten erhoben werden.

Vertreibt z. B. SuSE so auch seine Enterprise-Produkte? Heißt das, dass diese auch unter einer GPL-kompatiblen Lizenz stehen und man theoretisch auch die kompletten Quellcodes verlangen könnte, wenn man das Produkt erworben hat?

Tobias Hunger – Samstag, 03. September 2005 11:30 Uhr

Ich bin kein Anwalt, das folgende habe ich mir im Laufe der Zeit angelesen. Also: Keine Garantie für die Richtigkeit meiner Ausführungen, ich bin kein Fachmann.

Wenn Du Deinen Code “distributest” (wie übersetzt man das am besten?), dann musst Du entweder den Quellcode an alle KUNDEN mitliefern oder Du händigst den Code auf Nachfrage an alle INTERESSIERTEN aus. Eine öffentlich zugängliche Website mit Link ist gleichbedeutend mit letzterem.

Nach deutschem Recht zählt als “distribution” wohl schon das Verteilen an andere Abteilungen der Firma in der Du arbeitest… also mußt Du auch in so einem Fall den Quellcode mitliefern, wenn Du nicht willst, dass Dich ein Konkurrent auf Herausgabe des Codes verklagen kann.

Die GPL greift nur, wenn Du Code zusammenlinkst. Vereinfacht gesagt: Sobald Du GPL Code im Addressraum Deiner Anwendung hast muß die gesamte Anwendung unter einer GPL-kompatibelen Lizenz stehen. Das Aufrufen eines unter GPL stehenden Programmes zählt also nicht (das wird ja vom Kernel in einem eigenen Addressraum gestartet). Der Kernel ist ebenso in einem extra Addressraum… ein GPL-Kernel erzwingt also nicht, dass Anwendungen unter GPL stehen müssen (die Kernel-Module aber natürlich schon).

Desweiteren darf ein Author Funktionen seines Codes auf für proprietäre Nutzung freigeben, auch wenn er eigentlich unter GPL steht. Über solche Konstrukte sind dann proprietäre Plugins in GPL Programme (oder auch proprietäre Kernel-Module) möglich.

Es scheint aber nicht viele Leute zu geben, die durch die GPL wirklich durchsteigen oder die sich die Mühe machen es zu versuchen. Deshalb kommen immer mal wieder Kuriositäten hoch wie Code den niemand legal nutzen kann. Zu Anfang von KDE war das dort so (KDE Libs standen unter GPL, QT gab es aber nur unter einer inkompatibelen Lizenz, mittlerweile ist diese Situation seit Jahren bereinigt) und auch heute noch gibt es z.B. NDISwrapper: Der steht unter GPL… damit darfst Du die proprietären Windows-Treiber nicht zusammen mit dem NDISwrapper Code nutzen, und dass obwohl von der Treiberseite her eine solche Nutzung völlig legal ist!

Schön, dass Du versuchst die GPL mit Ihren Eigenheiten zu verstehen, bevor Du damit arbeitest!

Tobias Hunger – Samstag, 10. September 2005 15:37 Uhr

SuSE hat eigentlich alle wichtigen Teile seiner Distribution unter der GPL herausgegeben. Yast, etc. kannst Du alles herunterladen. Niemand hindert Dich daran, Dir daraus selber eine “Enterprise SuSE” zu stricken…

SuSE nimmt das Geld nicht für die Software, sondern für den Support den sie dafür bieten. Ohne diese Unterstützung ist die Software für Firmen weitgehend uninteressant. Die Infrastruktur muß laufen und wenn sie das nicht tut, dann braucht man jemanden, den man anrufen kann, damit der das wieder hinbiegt. Mit dem Schrauben an der eigenen Infrastruktur wird schließlich kein Geld verdient.