Lizenzierung eigener Software



  • Hallo,

    ich bins wieder.
    Mal ein einfaches Beispiel zu meiner Frage:

    Mit der Zeile

    #include <iostream>
    

    stelle ich mir (z.B.) cout (Object von ostream) zur Verfügung.
    Öffne ich diese Datei, seh ich zuerst den Header dieser Datei a la:

    // Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
    //
    // This file is part of the GNU ISO C++ Library. This library is free
    // software; you can redistribute it and/or modify it under the
    // terms of the GNU General Public License as published by the
    // Free Software Foundation; either version 2, or (at your option)
    // any later version.

    // This library is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    // GNU General Public License for more details.

    // You should have received a copy of the GNU General Public License along
    // with this li// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
    //
    // This file is part of the GNU ISO C++ Library. This library is free
    // software; you can redistribute it and/or modify it under the
    // terms of the GNU General Public License as published by the
    // Free Software Foundation; either version 2, or (at your option)
    // any later version.

    // This library is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    // GNU General Public License for more details.

    // You should have received a copy of the GNU General Public License along
    // with this library; see the file COPYING. If not, write to the Free
    // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
    // USA.
    brary; see the file COPYING. If not, write to the Free
    // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
    // USA.

    Ist IMHO der standard GNU/GPL Text.
    Setzte mich so ziemlich das erste mal mit diesem Thema auseinander, habe aber irgendwo im Hinterkopf gespeichert:

    ... Verwende ich GPL-Code, darf ich mein Programm auch nur unter GPL weitergeben ...

    Was nu?
    Würde bedeuten, dass sobald ich eine von diesen (ja eigentlich standard-Bibliotheken) verwende, ich mein Programm automatisch nur unter GPL weitergeben darf?

    Irgendwie kann ich mir das nicht vorstellen, dass kommerzielle Softwareschmiede solche Standardlibs noch mal selbst "erfinden".

    Erweitertes Beispiel:

    Ich verwende Libs wie iostream und zusätzlich die Boost-Libs die ja IMHO unter der Boost-Lizenz stehen.

    GPL != Boost 😞

    Also wie ihr seht, bin ich ziemlich durcheinander und verwirrt.

    Kann mir da jemand helfen und mir Licht ins Dunkle bringen?

    Wie immer: Vielen dank im Voraus 🙂

    Grüße
    euer Maddes



  • Maddes schrieb:

    Ist IMHO der standard GNU/GPL Text.

    Ja, sowas aber auch. Welcher Compiler ist das denn? Diese Headerdateien taugen dann natürlich nichts. Verwende stattdessen z.B. die von STLport.



  • hmmm... ja ja. Und Texte, die du mit einem Editor, der unter der GPL steht, geschrieben hast, darfst du dann auch nicht kommerziell nutzen? Nein, das wäre schlecht.
    Du musst nur selber GPL'en, wenn dein Programm/Produkt von einem GPL'ten Produkt abgeleitet wurde (das ist z.B. bei GPL-Bibliotheken der Fall). Du erzeugst aber nur was.

    Kannst also beruhigt weiterkompilieren 🙂



  • GPC schrieb:

    hmmm... ja ja. Und Texte, die du mit einem Editor, der unter der GPL steht, geschrieben hast, darfst du dann auch nicht kommerziell nutzen?

    Nö, hat ja auch niemand behauptet.

    Du musst nur selber GPL'en, wenn dein Programm/Produkt von einem GPL'ten Produkt abgeleitet wurde (das ist z.B. bei GPL-Bibliotheken der Fall).

    Ah. Und die C++-Standardbibliothek ist keine Bibliothek?



  • Konrad Rudolph schrieb:

    GPC schrieb:

    hmmm... ja ja. Und Texte, die du mit einem Editor, der unter der GPL steht, geschrieben hast, darfst du dann auch nicht kommerziell nutzen?

    Nö, hat ja auch niemand behauptet.

    Der Satz war nicht auf dich bezogen... falls du das so verstanden hast.

    Du musst nur selber GPL'en, wenn dein Programm/Produkt von einem GPL'ten Produkt abgeleitet wurde (das ist z.B. bei GPL-Bibliotheken der Fall).

    Ah. Und die C++-Standardbibliothek ist keine Bibliothek?

    Äh ja, ich dachte es geht nur um den Compiler... deshalb auch mein Kommentar mit dem Editor.
    Aber in dem Fall...

    Wenn ich es richtig sehe, ist es Abschnitt 2 (und in Teilen der dritte), an den man sich halten muss.

    [...] If
    identifiable sections of that work are not derived from the Program,
    and can be reasonably considered independent and separate works in
    themselves, then this License, and its terms, do not apply to those
    sections when you distribute them as separate works. [...]

    Dieser Abschnitt findet imo hier Anwendung.

    Argh, wie sehr mir die GPL schon wieder auf die Eier geht 😡

    IANAL

    MfG

    GPC



  • GPC schrieb:

    Argh, wie sehr mir die GPL schon wieder auf die Eier geht 😡

    Verständlich, verständlich.

    So wie ich die GPL auslege (und mehrmals von anderen genauso gehört habe), kann man die GPL technisch recht gut umsetzen, indem man sagt "alles, was GPL'tem Material verlinkt wurde, gehört ebenfalls unter die GPL". In diesem Fall bezöge sich das aber auch auf diese spezielle STL-Implementierung.

    IANAL

    Hehe. AFAIK ist diese Aussage im deutschen Rechtsraum genauso wirksam wie der Disclaimer "Ich bin nicht für Links auf meiner Webseite verantwortlich." 😉



  • Konrad Rudolph schrieb:

    So wie ich die GPL auslege (und mehrmals von anderen genauso gehört habe), kann man die GPL technisch recht gut umsetzen, indem man sagt "alles, was GPL'tem Material verlinkt wurde, gehört ebenfalls unter die GPL". In diesem Fall bezöge sich das aber auch auf diese spezielle STL-Implementierung.

    Möglich... oder auch nicht. Ich kann's mir in diesem Fall nicht vorstellen, aber sicher bin ich mir natürlich auch nicht.

    IANAL

    Hehe. AFAIK ist diese Aussage im deutschen Rechtsraum genauso wirksam wie der Disclaimer "Ich bin nicht für Links auf meiner Webseite verantwortlich." 😉

    Na ja, sie stimmt ja nicht ganz... ich habe Jura-Vorlesungen 😃
    Aber dennoch war und ist das hier keine Rechtsberatung.



  • Maddes schrieb:

    Ist IMHO der standard GNU/GPL Text.

    Nein, auch wenn die Bibliothek tatsächlich unter der GPL steht. Der eigentliche Text der GPL erklärt auch relativ verständlich was du darfst bzw nicht darfst.

    Maddes schrieb:

    Was nu?
    Würde bedeuten, dass sobald ich eine von diesen (ja eigentlich standard-Bibliotheken) verwende, ich mein Programm automatisch nur unter GPL weitergeben darf?

    Genau. Außer natürlich du findest in der Lizenz deiner Kopie einen Abschitt der sich ungefähr wie folgt liest:

    GNU ISO C++ Library schrieb:

    // As a special exception, you may use this file as part of a free software
    // library without restriction. Specifically, if other files instantiate
    // templates or use macros or inline functions from this file, or you compile
    // this file and link it with other files to produce an executable, this
    // file does not by itself cause the resulting executable to be covered by
    // the GNU General Public License. This exception does not however
    // invalidate any other reasons why the executable file might be covered by
    // the GNU General Public License.



  • hmmm... ja ja. Und Texte, die du mit einem Editor, der unter der GPL steht, geschrieben hast, darfst du dann auch nicht kommerziell nutzen? Nein, das wäre schlecht.

    sorry, aber auch wenn ich neu hier bin, und auch keine 4000 Beiträge zu verzeichnen habe, sehe ich diesen Sarkasmus ein wenig als Beleidigung. Diese Behauptung habe ich nie gemacht, und das von mir gemachte Beispiel sollte nur zeigen, dass ich NICHT dieser Meinung bin, sondern übertrieben meine Verwirrung verdeutlichen... 😞

    Falls es nicht so gemeint war wie es gelesen worden ist, entschuldige ich mich natürlich im Voraus 🤡

    Zurück zum Thema:

    Genau. Außer natürlich du findest in der Lizenz deiner Kopie einen Abschitt der sich ungefähr wie folgt liest:

    Habe ich das jetzt richtig verstanden, dass man mit der Standard-Lib erstellte Binaries auch kommerziell (oder in eigenen/anderen Lizenzen) weitergeben darf, wenn diese Libs nicht "hard" gelinkt worden sind und somit auf dem Zielrechner (wo das Bin laufen soll/wird) die Libs installiert sind?

    Grüße
    Maddes



  • Wenn eine Bibliothek - und sei es die Standarbibliothek - unter der GPL steht, muß alles, was gegen diese Bibliothek gelinkt wird auch unter die GPL gestellt werden. Ist eine Bibliothek unter der LGPL lizensiert, gilt das nicht.

    Die libstdc++ steht unter der GPL, hat aber eine zusätzliche Klausel, die dieses virulente Verhalten ausschliesst. Ich weiß nicht, inwiefern sich das dann noch von der LGPL unterscheidet. Vielleicht weiß das jemand hier. Nach meinem Verständnis ist das genau die LGPL.

    Weitere Infos zu der libstdc++-Lizenz gibt es hier.

    Tntnet



  • @tntnet
    Danke, jetzt ist mir einiges klarer.

    Im Link sind ja so ziemlich alle fragen geklärt:

    Q: So any program which uses libstdc++ falls under the GPL?
    A: No. The special exception permits use of the library in proprietary applications.

    Q: How is that different from the GNU {Lesser,Library} GPL?
    A: The LGPL requires that users be able to replace the LGPL code with a modified version; this is trivial if the library in question is a C shared library. But there's no way to make that work with C++, where much of the library consists of inline functions and templates, which are expanded inside the code that uses the library. So to allow people to replace the library code, someone using the library would have to distribute their own source, rendering the LGPL equivalent to the GPL.

    Q: I see. So, what restrictions are there on programs that use the library?
    A: None. We encourage such programs to be released as open source, but we won't punish you or sue you if you choose otherwise.

    Wusste nicht, dass man "exceptions" in der Lizenz einer unter GPL gestellten Software/Libs festhalten kann/darf.
    Wieder was gelernt 👍

    Denke damit sollte alles geklärt sein.

    wie sehr mir die GPL schon wieder auf die Eier geht

    Da schliesse ich mich mal kommentarlos an 😉

    In diesem Sinne

    ein schönes WE

    Maddes

    @tntnet (Signatur)
    Nettes Projekt, bist du der Gründer?
    Werds mir auf jedenfall mal genauer anschauen!



  • Maddes schrieb:

    hmmm... ja ja. Und Texte, die du mit einem Editor, der unter der GPL steht, geschrieben hast, darfst du dann auch nicht kommerziell nutzen? Nein, das wäre schlecht.

    sorry, aber auch wenn ich neu hier bin, und auch keine 4000 Beiträge zu verzeichnen habe, sehe ich diesen Sarkasmus ein wenig als Beleidigung. Diese Behauptung habe ich nie gemacht, und das von mir gemachte Beispiel sollte nur zeigen, dass ich NICHT dieser Meinung bin, sondern übertrieben meine Verwirrung verdeutlichen... 😞

    Falls es nicht so gemeint war wie es gelesen worden ist, entschuldige ich mich natürlich im Voraus 🤡

    Ja, sorry. War nicht böse gemeint, v.a. da ich ja im ersten Moment annahm, es ging um den Compiler und nicht um die Lib an sich.

    Habe ich das jetzt richtig verstanden, dass man mit der Standard-Lib erstellte Binaries auch kommerziell (oder in eigenen/anderen Lizenzen) weitergeben darf, wenn diese Libs nicht "hard" gelinkt worden sind und somit auf dem Zielrechner (wo das Bin laufen soll/wird) die Libs installiert sind?

    Ist egal, ob du sie statisch (also "hard") oder dynamisch dazulinkst, diese Ausnahme, die finix gepostet hat, gilt immer. Sie gilt aber nur, wenn sie auch bei dir im Quelltext steht!

    tntnet schrieb:

    Die libstdc++ steht unter der GPL, hat aber eine zusätzliche Klausel, die dieses virulente Verhalten ausschliesst. Ich weiß nicht, inwiefern sich das dann noch von der LGPL unterscheidet. Vielleicht weiß das jemand hier. Nach meinem Verständnis ist das genau die LGPL.

    Die LGPL unterscheidet sich IIRC insofern, als dass man sein Programm LGPL'en muss, wenn man LGPL-Libs statisch dazulinkt. Bei dynamischem Linken ist das nicht der Fall.



  • Die LGPL unterscheidet sich IIRC insofern, als dass man sein Programm LGPL'en muss, wenn man LGPL-Libs statisch dazulinkt. Bei dynamischem Linken ist das nicht der Fall.

    Ja? Habe gedacht, das ist egal ob statisch oder dynamisch. LGPL sagt doch nur aus, das wenn man die LGPLte Lib ändert, den geänderten Source frei geben muß?

    Oh man, ist der GPL-Lizenz-Kram kompliziert. Steigt doch keiner mehr durch. Am besten alles unter BSD-Lizenz stellen, wenn man Opensource machen will. Da ist der Lizenztext kurz und verständlich für jeden.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Maddes schrieb:

    @tntnet (Signatur)
    Nettes Projekt, bist du der Gründer?
    Werds mir auf jedenfall mal genauer anschauen!

    Danke 👍
    Ja ich bin es. Freut mich, wenn es gefällt.

    Übrigens steht Tntnet noch unter der GPL, wird aber demnächst umlizensiert auf LGPL. Das erlaubt die Erstellung von Close-Source-Applikationen, auch wenn sie gegen die libtntnet linken, was mit der GPL nicht erlaubt ist.

    Was damit eingeschränkt wird, ist das Recht, veränderte Tntnet-Komponenten ohne Source weiter zu geben (was den Kommentar wieder on-topic führt 🙂 ).

    Tntnet



  • Artchi schrieb:

    Die LGPL unterscheidet sich IIRC insofern, als dass man sein Programm LGPL'en muss, wenn man LGPL-Libs statisch dazulinkt. Bei dynamischem Linken ist das nicht der Fall.

    Ja? Habe gedacht, das ist egal ob statisch oder dynamisch. LGPL sagt doch nur aus, das wenn man die LGPLte Lib ändert, den geänderten Source frei geben muß?

    Na jo... ich bin mir da auch nicht sicher, die § 5, 6 sind mir noch nicht ganz klar.

    Oh man, ist der GPL-Lizenz-Kram kompliziert. Steigt doch keiner mehr durch. Am besten alles unter BSD-Lizenz stellen, wenn man Opensource machen will. Da ist der Lizenztext kurz und verständlich für jeden.

    ack 👍
    Abgesehen davon halte ich die BSD Lizenz eh für die bessere OpenSource-Lizenz.



  • GPC schrieb:

    Abgesehen davon halte ich die BSD Lizenz eh für die bessere OpenSource-Lizenz.

    Besser in welchem Sinne? Ich fände es auch besser, wenn Volkswagen ihre Autos verschenken würde. Und da bin ich sicher nicht in der Minderheit. Und trotzdem passiert das nicht.



  • Bitte keinen BSD vs. GPL Flamewar. Danke!

    Aber was hat BSD mit kostenlos zutun? Genauso wenig wie GPL was mit kostenlos zu tun hat. Also, der Vergleich hinkt.



  • tntnet schrieb:

    GPC schrieb:

    Abgesehen davon halte ich die BSD Lizenz eh für die bessere OpenSource-Lizenz.

    Besser in welchem Sinne? Ich fände es auch besser, wenn Volkswagen ihre Autos verschenken würde. Und da bin ich sicher nicht in der Minderheit. Und trotzdem passiert das nicht.

    Besser im Sinne von meinem Open-Source-Verständnis. Die GPL versucht Freiheit über etliche Restriktionen zu garantieren (komischerweise regt sich jeder darüber auf, wenn das unsere Innenpolitiker versuchen, nur hier ist's allen egal 😕 ). Gut, man kann so argumentieren und ich kann das auch nachvollziehen. Aber es entspricht nicht meiner Vorstellung von Open-Source. Mir gefällt der BSD Ansatz daher besser.

    Dein Vergleich hinkt.

    EDIT:
    Auch wenn ich den Blogger eigentlich nicht mag, die Texte fassen es imo gut zusammen:
    http://www.fixmbr.de/freiheit-die-ich-meine-free-as-in/
    http://www.fixmbr.de/lizensierte-freiheit-free-as-in-freedom/



  • Maddes schrieb:

    Wusste nicht, dass man "exceptions" in der Lizenz einer unter GPL gestellten Software/Libs festhalten kann/darf.
    Wieder was gelernt 👍

    Darf man in der Regel auch nicht. Die GPL steht aus diesem Grund ja selber nicht unter GPL bzw. der Zugehörigen Dokumentationslizenz sondern das copyright liegt bei der FSF.

    Wenn das GNU - Projekt (oder wer auch immer für die Standartbibliotek verantwortlich ist) eine Genehmigung der FSF hat, ist das kein Problem, wenn nicht begeht jeder, der das so weitergibt eine Urheberrechtsverletzung, gegen die die FSF wohl vorgehen kann.

    Sind 2 Sachen die mich gewundert haben

    1. Dass die std::Biblioteken nicht Public Domain sind und
    2. Dass die GPL nicht unter der GPL steht, die CC steht ja auch unter der CC

Anmelden zum Antworten