Hallo, ich habe mir überlegt ein kleines Frontend für den GCC zu schreiben und frage mich, ob ich dieses Frontend ebenfalls unter die GPL stellen muss, wenn ich den GCC über dieses Frontend benutzen möchte. Wie liegt hier der Sachverhalt? Danke schonmal Ralf
Und womit ist dies begründet? Ich würde die GPL so verstehen, dass man es muss. Gruss Ralf
Woraus leitest du diese Schlussfolgerung ab? Ganz davon abgesehen, es hat nicht viel Sinn, für ein GCC-Frontend (wofür auch immer das sein soll) eine closed-source-Lizenz nehmen zu wollen. Schließlich musst du erstmal jemanden davon überzeugen, dass das, was du da zimmerst, auch wirklich gebraucht wird.
Die GPL-Regel gilt dann, wenn du Sourcecode verwendest, der unter GPL steht. Wenn dein Frontend ein externes gcc nur aufruft, brauchst du das nicht. Ich frage mich allerdings, warum deinen Sourcecode nicht freigeben willst. Ist dein Programmierstil so schlecht, dass du dich dafür schämen musst? Geld wirst du damit eh' nicht verdienen können. Wer gcc benutzt, kauft kein Frontend. Schau doch einmal, ob es nicht so etwas, was du vorhast, nicht schon längst existiert. Vielleicht kannst du ja an einem bestehenden Projekt mitarbeiten. das wäre viel effizienter als ganz bei NULL anzufangen.
Habe in der Wikipedia über das "copyleft" folgendes gefunden: "Je nach dem Grad, mit dem Werke, die ein anderes Werk enthalten, als abgeleitete Werke von der Lizenz betroffen sind, wird zwischen starkem und schwachem Copyleft unterschieden – wobei der Übergang fließend ist. So kann bei einem starken Copyleft von einem Musikstück, das für einen Film verwendet wird, verlangt werden, dass auch der Film selbst unter diese Lizenz gestellt wird, während ein schwaches Copyleft dies nicht verlangen würde, sondern nur bei Änderungen an dem Stück selbst, etwa dem Songtext." Daher meine Bedenken keine andere Lizenzform für das Frontend zu benutzen... Gruss Ralf
> Die GPL-Regel gilt dann, wenn du Sourcecode verwendest, der unter GPL > steht. Die Frage ist eben, wo man da die Grenze zieht. Letztendlich kommt es darauf an, wie "eng" das Programm mit dem gcc zusammenarbeitet. Es muß nicht unbedingt Quellcode sein, den man in sein Programm kopiert oder eine Bibliothek, die man dranlinkt. Es betrifft auch Module wie z.B. Plug-ins. Entscheidend ist dabei nicht, auf welche Art das Modul ans Hauptprogramm angebunden ist (es muß keine shared lib sein, sondern kann auch ein aufgerufenes Programm sein), sondern wie eng die Bindung ist. Es empfiehlt sich auch, die GPL-FAQ mal zu lesen. ( zu finden unter http://www.gnu.org/licenses/gpl-faq.html ) Die Frage ist also, wie eng dein Programm an gcc gebunden ist. Allerdings gibt es sehr viele kommerzielle Frontends für gcc. Bisher habe ich da nichts von Lizenzproblemen gehört. > Geld wirst du damit eh' nicht verdienen können. Wer gcc benutzt, > kauft kein Frontend. Oh doch.
Die GPL kann leider so ausgelegt werden, aber wenn du dein Programm Modular schreibst, d.h. es andere Compiler bedienen kann dann müsstes du auf der sicheren Seite sein. (vielleicht reicht ja schon eine Alibi Option) Ansonsten denke ich nicht das die gcc Läute klagen werden, höstens ein Kunde der an den Source will.
Rolf Magnus wrote: > Die Frage ist also, wie eng dein Programm an gcc gebunden ist. > Allerdings gibt es sehr viele kommerzielle Frontends für gcc. Bisher > habe ich da nichts von Lizenzproblemen gehört. Wenn man das Geld hätte könnte man ja sich so ein Frontend kaufen und dann den Sourcecode verlangen (das Geld braucht man für den Anwalt).
Rolf Magnus wrote: > Es empfiehlt sich auch, die GPL-FAQ mal zu lesen. > ( zu finden unter http://www.gnu.org/licenses/gpl-faq.html ) Habe ich gemacht. Da finde ich (http://www.gnu.org/licenses/gpl-faq.html#NFUseGPLPlugins): Can I release a non-free program that's designed to load a GPL-covered plug-in? It depends on how the program invokes its plug-ins. For instance, if the program uses only simple fork and exec to invoke and communicate with plug-ins, then the plug-ins are separate programs, so the license of the plug-in makes no requirements about the main program.[..] Man darf natürlich das gcc nicht in das Frontend mit einbauen - aber das war ja wohl auch nicht geplant. Und wenn man eine gcc Version mitliefert, muss dem Benutzer klar gesagt werden, dass dieser Teil unter der GPL steht.
Stimmt eigentlich, ein simpler Aufruf eines Programms reicht nicht. Sie müßten dann schon eine sehr "innige" Kommunikation miteinander führen, damit die Bindung stark genug ist. Das wird dann unter http://www.gnu.org/licenses/gpl-faq.html#MereAggregation auch nochmal konkret so erklärt: "By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program. "
Die gängige Praxis bei der Entscheidung, ob GPL oder nicht, sieht in etwas folgendermaßen aus: Wenn zwei Programmmodule statisch oder dynamisch gelinkt werden und eines der Module unter der GPL steht, gilt das auch für das andere Modul. Umstrittene Ausnahme: Linux-Treiber werden als closed Source geduldet, obwohl sie dynamisch zum Kernel gelinkt werden und damit mit diesem zusammen ein einzelnes Programm bilden. Wenn zwei Programme weder statisch noch dynamisch gelinkt werden, geht die GPL normalerweise nicht von einem auf das andere über. Mir ist zumindest kein Fall bekannt, wo es diesbzüglich Streit gegeben hätte. Gerade beim GCC gibt es genügend prominente Bsiepiele dafür, wo dieser mit proprietärer Software kombiniert wird (bspw. ISE von Xilinx, Tornado von Windriver und etliche andere integrierte Entwicklungs- umgebungen, die um den GCC herum aufgebaut sind). Da die GCC-Macher nicht gegen die genannten Firmen vorgehen, brauchst du dir mit deinem Frontend sicher ebenfalls keine Sorgen zu machen, solange du am GCC keine Änderungen vornimmst und die Kommunikation wie in dem von Magnus zitierten Passus nur über Kommandozeilenargumente, Pipes und Sockets geschieht. Und man kann davon ausgehen, dass die Fa. Xilinx die GPL-Bestimmungen sehr genau durchgelesen hat, bevor sie den GCC in ihr Softwarepaket integriert hat, da ein weit größeres Problem als du hätte, wenn sie ihr gesamtes über 1G großes Softwarepaket offenlegen müsste.
yalu wrote: > Wenn zwei Programmmodule statisch oder dynamisch gelinkt werden und > eines der Module unter der GPL steht, gilt das auch für das andere > Modul. Umstrittene Ausnahme: Linux-Treiber werden als closed Source > geduldet, obwohl sie dynamisch zum Kernel gelinkt werden und damit mit > diesem zusammen ein einzelnes Programm bilden. Ich kann deiner Argumentation nicht folgen. Nehmen wir umgekehrt an, ich schreibe einen Windows-Treiber, stelle ihn unter die GPL und lade ihn dann unter (Closed-Source-) Windows. Steht dann Windows auch unter der GPL? (Schön wärs!) Es gibt sicher einen Graubereich, wo sich nur noch Anwälte durchfinden. Aber ich habe den Eindruck, hier wird die GPL komplizierter geredet als sie in der Praxis ist.
>Nehmen wir umgekehrt an, ich >schreibe einen Windows-Treiber, stelle ihn unter die GPL und lade ihn >dann unter (Closed-Source-) Windows. Steht dann Windows auch unter der >GPL? Es gibt Juristen die das so auslegen. Dazu gehört z.B. die Rechtsabteilung von Microsoft. Ich weiß nicht ob die das durchgezogen haben aber es war mal die Rede davon das die Server-Editionen bzw. Mehrplatz-Lizenzen von Windows keine GPL-Software ausführen dürfen. Bei den normalen Lizenzen soll das weitherin "geduldet" werden.
> Ich weiß nicht ob die das durchgezogen haben aber es war mal die Rede > davon das die Server-Editionen bzw. Mehrplatz-Lizenzen von Windows > keine GPL-Software ausführen dürfen. Bei den normalen Lizenzen soll das > weitherin "geduldet" werden. Das ist aber auch nur FUD. Aus dem Text der GPL (v2) selbst: "However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable." Das heißt, daß die GPL es durchaus vorsieht, daß man z.B. unter Windows GPL-Software laufen lassen kann, ohne daß Windows dazu GPL sein müßte. Microsoft möchte natürlich den Benutzern einreden, daß das nicht so sei. Sie verbreiten ja schon seit Jahren ganz frech Lügen über die GPL, um sie schlechtzureden.
yalu wrote: > Und man kann davon ausgehen, dass die Fa. Xilinx die GPL-Bestimmungen > sehr genau durchgelesen hat, bevor sie den GCC in ihr Softwarepaket > integriert hat, da ein weit größeres Problem als du hätte, wenn sie > ihr gesamtes über 1G großes Softwarepaket offenlegen müsste. Wahrscheinlich hätte sie ein viel kleineres Problem damit, als sie denkt. ;-) Man könnte dann endlich seine Programmabstürze selbst analysieren und die Bugs fixen, wenn es einen nervt...
let wrote: > Es gibt Juristen die das so auslegen. Dazu gehört z.B. die > Rechtsabteilung von Microsoft. Ich weiß nicht ob die das durchgezogen > haben aber es war mal die Rede davon das die Server-Editionen bzw. > Mehrplatz-Lizenzen von Windows keine GPL-Software ausführen dürfen. > Bei den normalen Lizenzen soll das weitherin "geduldet" werden. M$ hatte in die (US-) Lizenzbedingungen von Frontpage auch geschrieben, dass man damit keine Webinhalte erstellen darf, in denen M$ schlecht gemacht wird. Das ist alles keine juristische, sondern eine politische Frage. Daselbe gilt auch für das "GPL-" Verbot. Schließlich können auch am Ende rechtlich unhaltbare Forderungen viele Menschen erst einmal zu dem gewünschten Verhalten treiben.
Detlev T. schrieb: > yalu wrote: >> Wenn zwei Programmmodule statisch oder dynamisch gelinkt werden und >> eines der Module unter der GPL steht, gilt das auch für das andere >> Modul. Umstrittene Ausnahme: Linux-Treiber werden als closed Source >> geduldet, obwohl sie dynamisch zum Kernel gelinkt werden und damit >> mit diesem zusammen ein einzelnes Programm bilden. > > Ich kann deiner Argumentation nicht folgen. Nehmen wir umgekehrt an, > ich schreibe einen Windows-Treiber, stelle ihn unter die GPL und > lade ihn dann unter (Closed-Source-) Windows. Steht dann Windows > auch unter der GPL? (Schön wärs!) Ok, das war vielleicht nicht ganz präzise ausgedrückt. Die Wandlung zur GPL geschieht natürlich nur dann, wenn das Programmmodul demjenigen, der die Teile linkt, auch gehört. Wenn also MS einen GPL-Treiber in ihr Windows einbauen würde, würde dieses wahrscheinlich unter die GPL fallen, aber nur dann. Und Scharen von Opensourcelern würden sich vor Freude auf die Schenkel klopfen. Aber nicht, weil sie am Windows-Sourcecode als solchem wirklich interessiert wären ;-) Jörg Wunsch schrieb: > Wahrscheinlich hätte sie ein viel kleineres Problem damit, als sie > denkt. ;-) Man könnte dann endlich seine Programmabstürze selbst > analysieren und die Bugs fixen, wenn es einen nervt... Würdest du dich wirklich durch diese Ungetüme von Programmen durchwühlen wollen, um darin Bugs zu fixen? ;-) Ok, ich habe auch schon Tage damit verbracht, zusammen mit einem Xilinx-Support-Menschen einen Fehler einzukreisen, was dann aber hinterher doch nicht zum Erfolg geführt hat. In dieser Zeit hätte ich natürlich auch etwas Quellcode durchlesen können, sofern der verfügbar gewesen wäre :)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.