Forum: PC-Programmierung Raspberry Pi und GPL bzw. LGPL - kommerzielle Nutzung


von Third E. (third-eye)


Lesenswert?

Hallo,

folgendes Szenario:
Ich möchte für einen Kunden ein Funktionsmuster (Demogerät) bauen.
Bisher habe ich für einfachere Sachen immer ein Mikrocontrollerboard, 
z.B. mit einem AVR, eingebaut. Das Programm habe ich mit dem Atmel 
Studio in C geschrieben, kompiliert, das Kompilat auf den Controller 
geschoben und der Kunde hat das fertige Gerät als "Black Box" erhalten, 
also keinerlei Sourcecode o.ä..

In Zukunft würde ich für solche Anwendungen gerne einen Raspberry Pi 
verwenden, weil man dann auch leicht eine Bedienung per Touchdisplay 
realisieren könnte.

Fiktives Beispiel: Ein Kunde will einen Kaffeeautomaten mit 
Touch-Display. Er bekommt also von mir eine modifizierte Kaffeemaschine 
mit eingebautem Raspberry Pi samt Touchscreen. Auf dem Raspi läuft ein 
kompiliertes GCC-Programm, die grafischen Sachen sind mit GTK+ 
realisiert (dynamisch gelinkt). Den Source-Code gebe ich aber nicht 
raus, sonst würde ich mich selbst arbeitslos machen.

Ich betrachte das Gerät als Black Box, aber mein Kunde könnte 
theoretisch die SD-Karte herausnehmen und das Kompilat kopieren. Dann 
hat er aber nicht den zugehörigen Quellcode. Es könnte ja sein, dass ich 
versehtlich eine Headerdatei, die unter der GPL steht, inkludiert habe. 
Damit wäre ungewollt das ganze Projekt unter der GPL, welche ich ja dann 
nicht einhalte, weil ich den Quellcode nicht rausgebe.

Würde ich tatsächlich gegen die GPL verstoßen oder gibt es sowas wie die 
von mir genannte black box?

Beste Grüße
Chaoskreator

von Peter II (Gast)


Lesenswert?

Third Eye schrieb:
> Würde ich tatsächlich gegen die GPL verstoßen oder gibt es sowas wie die
> von mir genannte black box?

black-box oder nicht ist doch egal. Auch ein Router ist nur eine 
back-box und hat das GPL Problem.

Du musst nur bei jeder Software du die einsetzt prüfen unter welcher 
Lizenz sie steht. Wenn eine davon GPL ist und du links sie, dann muss 
die den Quelltext rausrücken oder eine andere Software verwenden.

von -.- (Gast)


Lesenswert?

Schon wieder so ein .... der nur  von der comunity nehmen will und nix 
zurück geben will. Nimm windows zahl dafür und f*** dich weg. Du bist 
schmarotzer.

von Third E. (third-eye)


Lesenswert?

Ganz ruhig... kein Grund, unhöflich zu werden!
Es ist ganz und gar nicht so. Privat lebe ich den Open Source-Gedanken. 
Wenn ich mir schon die Arbeit mache, ist es doch schön, wenn andere auch 
meine Codeschnipsel brauchen könnnen.
Aber ich kann verständlicherweise meinem Arbeitgeber nicht verklickern, 
dass ich unsere Neuentwicklungen aller Welt mitteile, deshalb kann ich 
die Sourcen dafür auch nicht veröffentlichen.
Eine Alternative wäre ein kommerzielles Embedded PC Board, mit einem 
kommerziellen Comiler usw.
Da ich, wie gesagt, die Open Source Schiene privat nutze, würde ich dies 
halt gerne auch in der Arbeit tun, weil ich die Programme kenne usw.

von Peter II (Gast)


Lesenswert?

Third Eye schrieb:
> Aber ich kann verständlicherweise meinem Arbeitgeber nicht verklickern,
> dass ich unsere Neuentwicklungen aller Welt mitteile, deshalb kann ich
> die Sourcen dafür auch nicht veröffentlichen.

warum nicht? Bei andere Firmen klappt das doch auch.

Ihr verdient euer gibt doch nicht mit "nur" mit Software sondern mit 
einem Produkt.

von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

Soweit ich weiss bist du auf der sicheren Seite, wenn du für dein 
"Closed-Source" Projekt ausschließlich LGPL (Lesser, also nicht GPL ohne 
L!) Teile verwendet, die LGPL-Sachen nicht veränderst (andernfalls 
müsstetst du die Änderungen veröffentlichen, aber nicht dein 
eigentliches Closed-Source-Projekt), und dynamisch dagegen linkst.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ist letztlich nicht viel anders, als jede andere Linux-Applikation,
die closed source ist.  Falls du eigene Treiber baust, musst du dir
jedoch genau angucken, inwiefern diese (aufgrund der Nutzung unter
GPL stehender Kernelressourcen) dann offenzulegen sind.  Ggf. bliebe
auch dort der Weg, sie ausschließlich dynamisch zu linken (kernel
module).  Machen andere ja auch so.

Alternativ kannst du natürlich mal einen Blick auf NetBSD werfen:

https://wiki.netbsd.org/ports/evbarm/raspberry_pi/

Keine Ahnung, wie gut das schon geht, aber der Sinn der BSD-Lizenz
ist es ja ausdrücklich, kommerziellen Nutzern möglichst wenig Steine
in den Weg zu legen.

von Sven B. (scummos)


Lesenswert?

Du darfst halt nicht "versehentlich" GPL-Bibliotheken verwenden. Das 
musst du halt vorher überprüfen. Was aber nicht so schwer ist, weil so 
gut wie jede verbreitete Bibliothek LGPL ist.

: Bearbeitet durch User
von Third E. (third-eye)


Lesenswert?

Danke für die hilfreichen Beiträge.

Ich fasse mal zusammen:
Eine "Black Box" gibt es nicht. War also ein Wunschgedanke meinerseits.
LGPL-lizensierte Libraries kann ich verwenden, wenn ich dynamisch linke. 
So wie ich es in der LGPL gelesen habe, muss ich aber auch dafür sorgen, 
dass die DLL austauschbar ist.

Ich muss aber dennoch aufpassen, dass nicht ein h-File ungewollt ein 
weiteres h-File von einer GPL-lizensierten Software einbindet.

Gibt es vielleicht sogar ein Tool, welches den Code parst und mir sagt, 
welche Libraries tasächlich genutzt werden?
Google brachte mir nichts Sinnvolles. Kann aber auch am Suchbegriff 
gelegen haben.

von Karl Käfer (Gast)


Lesenswert?

Hi,

-.- schrieb:
> Schon wieder so ein .... der nur  von der comunity nehmen will und nix
> zurück geben will. Nimm windows zahl dafür und f*** dich weg. Du bist
> schmarotzer.

...und das Traurigste an der ganzen Sache ist ja noch, daß diese Leute 
entweder nicht lesen können oder wollen -- und daß sie glauben, die GPL 
würde sie arbeitslos machen.

Dabei kann man ganz prima kommerziellen Code unter der GPL weitergeben, 
das mache ich seit Jahren. Der Kunde hat dann Investitionssicherheit 
auch für den Fall, daß ich abtrete. Denn wenn der Kunde meinen Code 
selbst schreiben könnte, bräuchte er mich nicht -- und wenn es ein 
anderer billiger machen würde, ebenso.

Aber daß jemand fremden Code klauen und der Community nichts zurückgeben 
will, ok, das ist die eine Sache. Aber wenn man sich schon an fremden 
Federn bedienen will, ist es dann wirklich zuviel verlangt, deren Lizenz 
und die FAQ dazu einfach zu lesen?

HTH,
Karl

von Sven B. (scummos)


Lesenswert?

Hi,

Third Eye schrieb:
> Eine "Black Box" gibt es nicht. War also ein Wunschgedanke meinerseits.
Ja.

> LGPL-lizensierte Libraries kann ich verwenden, wenn ich dynamisch linke.
Ja.

> So wie ich es in der LGPL gelesen habe, muss ich aber auch dafür sorgen,
> dass die DLL austauschbar ist.
Was immer gegeben ist, wenn du dynamisch linkst, soweit ich das 
überblicke.

> Ich muss aber dennoch aufpassen, dass nicht ein h-File ungewollt ein
> weiteres h-File von einer GPL-lizensierten Software einbindet.
Nicht wirklich, denn die Bibliothek mit der Implementierung steht ja 
unter der LGPL. Wenn die Bibliothek ihrerseits auf GPL-lizensierten Code 
zurückgreifen würde, könnte sie nicht unter der LGPL veröffentlicht 
werden.

> Gibt es vielleicht sogar ein Tool, welches den Code parst und mir sagt,
> welche Libraries tasächlich genutzt werden?
Gibt es, habe momentan nichts konkretes im Kopf aber ich weiß dass die 
Debian-Packager zum Beispiel solche Tools haben.

Grüße,
Sven

von Robert L. (lrlr)


Lesenswert?

>Denn wenn der Kunde meinen Code
>selbst schreiben könnte, bräuchte er mich nicht

man sollte nicht immer von sich auf (alle) anderen schließen
nur weil es bei dir geht (weil du alleine bist und z.b. 100% auf den 
Kunden angepasste Software verkaufst)

heiß das nicht, dass es nicht andere Projekte gibt (in denen dann 
mehrere Mannjahre stecken) , die der Kunde (mit einem zugekauften 
Programmierer und ein paar tagen Arbeit) weiterverkaufen kann..
und "du" dann durch dir röhre schaust..

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Third Eye schrieb:

> Gibt es vielleicht sogar ein Tool, welches den Code parst und mir sagt,
> welche Libraries tasächlich genutzt werden?
> Google brachte mir nichts Sinnvolles. Kann aber auch am Suchbegriff
> gelegen haben.

# ldd /bin/bash
        linux-vdso.so.1 =>  (0x00007fffd8fb5000)
        libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 
(0x00007fb96c1cc000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 
(0x00007fb96bfc8000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 
(0x00007fb96bc3c000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fb96c3ff000)

von hmm... (Gast)


Lesenswert?

Nach der Logik wäre JEDES Linux-Programm in Quellen bereit zu stellen. 
Da es aber auch jede Menge Linux-SW zum Kauf gibt die eben ihre Quellen 
nicht öffnet müsste das ja auch für den Pi gelten.

Meiner Meinung nach reicht es dem Kunden Links mit zu geben von denen er 
sich das verwendete Raspbian + ggf. verwendete Pakete ziehen kann und 
natürlich auch Stromlauf + Layout vom Raspberry sofern die HW auch Open 
Source ist.

Falls du noch irgend was anderes selber kompiliert hast was nicht aus 
den Paketquellen stammt, dann muss das auch vom Kunden beschaffbar sein.

Für DEINE SW die nur die sowieso auf einem Linux vorhandenen Libs (libc, 
etc.) verwendet bräuchtest du dann keine Quellen mit liefern. Die Open 
Source Tools kannst du dann ja zur Laufzeit aufrufen und deren Output 
weiter verwursten.

Wie gesagt, meine Meinung...

von Dussel (Gast)


Lesenswert?

Sven B. schrieb:
> Nicht wirklich, denn die Bibliothek mit der Implementierung steht ja
> unter der LGPL. Wenn die Bibliothek ihrerseits auf GPL-lizensierten Code
> zurückgreifen würde, könnte sie nicht unter der LGPL veröffentlicht
> werden.
Trotzdem würde ich vorsichtig sein. Es kann ja sein, dass die Bibliothek 
schon versehentlich GPL-Code eingebunden hat. Dann würde man mit dieser 
Bibliothek unbemerkt GPL-Code einbinden und könnte sich wahrscheinlich 
nicht auf den Fehler in der genutzten Bibliothek berufen.

von -.- (Gast)


Lesenswert?

Kannst ja auch das komische compute modul benutzen

von Sven B. (scummos)


Lesenswert?

Dussel schrieb:
> Sven B. schrieb:
>> Nicht wirklich, denn die Bibliothek mit der Implementierung steht ja
>> unter der LGPL. Wenn die Bibliothek ihrerseits auf GPL-lizensierten Code
>> zurückgreifen würde, könnte sie nicht unter der LGPL veröffentlicht
>> werden.
> Trotzdem würde ich vorsichtig sein. Es kann ja sein, dass die Bibliothek
> schon versehentlich GPL-Code eingebunden hat. Dann würde man mit dieser
> Bibliothek unbemerkt GPL-Code einbinden und könnte sich wahrscheinlich
> nicht auf den Fehler in der genutzten Bibliothek berufen.

Meiner Erfahrung nach merkt die Debian-Lizenzpolizei sowas ziemlich 
schnell. ;)

von Heinz S. (Gast)


Lesenswert?

Du kannst benutzen, was du moechtest! Mach einfach ein Plugin daraus, 
das veroeffentlichst du unter der Lizenz der genutzten Quellen und 
Komponenten. Da die Plugins nicht gelinkt werden, kannst du sie 
benutzen, ohne dich weiter um die Lizenz zu scheren.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Jörg Wunsch schrieb:

> Alternativ kannst du natürlich mal einen Blick auf NetBSD werfen:
>
> https://wiki.netbsd.org/ports/evbarm/raspberry_pi/

Ich habe das mal spaßeshalber nach der Anleitung dort ausprobiert,
hat alles gut funktioniert:
1
% uname -a
2
NetBSD rpi 7.99.1 NetBSD 7.99.1 (RPI.201409221820Z) #0: Mon Sep 22 19:57:27 UTC 2014  builds@b43.netbsd.org:/home/builds/ab/HEAD/evbarm-earmhf/201409221820Z-obj/home/source/ab/HEAD/src/sys/arch/evbarm/compile/RPI evbarm
3
% df -h
4
Filesystem         Size       Used      Avail %Cap Mounted on
5
/dev/ld0a          7.0G       686M       6.0G  10% /
6
/dev/ld0e           56M       7.9M        48M  14% /boot
7
kernfs             1.0K       1.0K         0B 100% /kern
8
ptyfs              1.0K       1.0K         0B 100% /dev/pts
9
procfs             8.0K       8.0K         0B 100% /proc

Das ist natürlich ein “bare metal”-System.  X11 bekommt man noch
vorcompiliert vom FTP-Server, aber das reicht gerade mal bis zum
Standard-twm.  Für alles Weitergehende müsste man sich jetzt mit
pkgsrc kümmern.

Keine Ahnung, was du am Ende mit dem RPi machen willst, aber das
dürfte zumindest ein Weg sein, darauf ein System zu haben, für das
die GPL-Implikationen sehr überschaubar bleiben.

von Rolf M. (rmagnus)


Lesenswert?

Third Eye schrieb:
> So wie ich es in der LGPL gelesen habe, muss ich aber auch dafür sorgen,
> dass die DLL austauschbar ist.

Genau das machst du ja dadurch, daß du dynamisch linkst. Das ist auch 
der Grund, warum es dynamisch gelinkt werden muß. Eine statisch gelinkte 
Bibliothek könnte man nicht so ohne weiteres austauschen.

hmm... schrieb:
> Falls du noch irgend was anderes selber kompiliert hast was nicht aus
> den Paketquellen stammt, dann muss das auch vom Kunden beschaffbar sein.

Es gibt in der (noch häufig genutzten) GPL v2 für kommerzielle Anbieter 
zwei Optionen:

- Den Quellcode gleich mitliefern
- Eine für drei Jahre gültige schriftliche Bestätigung mitliefern, daß 
man den Code zum Selbstkostenpreis jedem zur Verfügung stellt, der 
danach fragt

> Für DEINE SW die nur die sowieso auf einem Linux vorhandenen Libs (libc,
> etc.) verwendet bräuchtest du dann keine Quellen mit liefern.

Genau das hängt von den Lizenzen der Libs ab. Wenn eine davon unter GPL 
steht, muss man die Quellen sehr wohl verfügbar machen. Wenn eine unter 
LGPL steht, muß man diese dynamisch linken oder irgendwie anders dafür 
sorgen, daß sie separat vom Programm austauschbar ist. Sonst muss man 
auch da den Quellcode verfügbar machen.

Heinz S. schrieb:
> Du kannst benutzen, was du moechtest! Mach einfach ein Plugin daraus,
> das veroeffentlichst du unter der Lizenz der genutzten Quellen und
> Komponenten. Da die Plugins nicht gelinkt werden, kannst du sie
> benutzen, ohne dich weiter um die Lizenz zu scheren.

Wie kommst du darauf? Das ist Unsinn.

von Heinz S. (Gast)


Lesenswert?

Rolf Magnus schrieb:
> Wie kommst du darauf? Das ist Unsinn.

Belege bitte deine Aussage. Jede gaengige Interpretation der GPL geht 
nur davon aus, dass "derived work" durch dynamisches oder statisches 
Linken entsteht. Und das ist bei Plugins nicht der Fall.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Heinz S. schrieb:
> Und das ist bei Plugins nicht der Fall.

Davon abgesehen, dass es sich erstmal um etwas handeln muss, für dass
es auch eine Plugin-Infrastruktur gibt, dann dürfte es trotzdem noch
eine Streitfrage bleiben, ob ein Plugin nicht einfach nur eine andere
Art dynamischen Linkens ist.

von Sven B. (scummos)


Lesenswert?

Und was bringt dir das dann? Dann hast du deinen ganzen Code als Plugin 
und bist genau in derselben Situation wie vorher.

von Heinz S. (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Davon abgesehen, dass es sich erstmal um etwas handeln muss, für dass
> es auch eine Plugin-Infrastruktur gibt,

Wie oben geschrieben muss man die Sachen eben darin einpacken.

> dann dürfte es trotzdem noch eine Streitfrage bleiben, ob ein Plugin
> nicht einfach nur eine andere Art dynamischen Linkens ist.

Die ganze GPL ist eine Streitfrage. Wer sie wirklich mal gelesen hat, 
wundert sich sowieso, wie die mit den gaengigen Interpretationen in 
Einklang zu bringen sind.

Es koennte wirklich ein spannender Tag vor Gericht sein, wenn 2 Anwaelte 
versuchen einem Richter den Unterschied zwischen dynamischem Linken, 
Laden zur Laufzeit und Ausfuehren eines Unterprogramms zu erklaeren. Und 
vor Allem, warum es rechtlich ein Unterschied zwischen all dem sein 
soll, wenn am Ende doch der gleiche Code ausgefuehrt wird.

von linuxuser (Gast)


Lesenswert?

Heinz S. schrieb:
> Es koennte wirklich ein spannender Tag vor Gericht sein, wenn 2 Anwaelte
> versuchen einem Richter den Unterschied zwischen dynamischem Linken,
> Laden zur Laufzeit und Ausfuehren eines Unterprogramms zu erklaeren. Und
> vor Allem, warum es rechtlich ein Unterschied zwischen all dem sein
> soll, wenn am Ende doch der gleiche Code ausgefuehrt wird.

Die GPL wurden in Deutschland schon einige Male vor Gericht 
durchgesetzt. Auch gegen größere Firmen die sich vermutlich auch recht 
gute Anwälte leisten können.

von Karl Käfer (Gast)


Lesenswert?

Hallo Robert,

Robert L. schrieb:
>>Denn wenn der Kunde meinen Code
>>selbst schreiben könnte, bräuchte er mich nicht
>
> man sollte nicht immer von sich auf (alle) anderen schließen

Das ist immer eine gute Idee, ändert aber an dem von mir Gesagten 
nichts.

Jeder andere Entwickler müßte sich schließlich erst einmal in den Code 
einarbeiten, was bei hinreichend großer Komplexität ähnlich teuer ist 
wie den Code neu zu schreiben. Es sei denn, natürlich, Du würdest nur 
heiße Luft verkaufen oder Deine Software wäre viel zu teuer, was 
letztlich aber
auf dasselbe hinausläuft.

Es gibt viele OSS-Businessmodelle, ein paar davon findest Du hier: 
http://en.wikipedia.org/wiki/Business_models_for_open-source_software

Ansonsten lies doch bitte einfach die GPL und die FAQ dazu. Da tun sich 
dem aufmerksamen Leser ganze Welten von Businessmodellen auf.

> nur weil es bei dir geht (weil du alleine bist und z.b. 100% auf den
> Kunden angepasste Software verkaufst)

Blöd nur, daß Deine Vermutung auf mich nicht zutrifft -- ich bin nämlich 
nicht alleine, sondern arbeite in einem mittelständischen Unternehmen 
mit derzeit knapp 600 Mitarbeitern. Unsere Kunden bestehen auf 
Weitergabe der Quellcodes, schon wegen der Investitionssicherheit. Wenn 
man ein paar Millionen Euro für eine businesskritische Software 
investiert, will man die auch dann weiter nutzen können, wenn deren 
Hersteller pleite macht.

Liebe Grüße,
Karl

von Heinz S. (Gast)


Lesenswert?

linuxuser schrieb:
> Die GPL wurden in Deutschland schon einige Male vor Gericht
> durchgesetzt.

Was nicht bedeutet, dass alle Fragen beantwortet sind.

von Robert L. (lrlr)


Lesenswert?

> Unsere Kunden bestehen auf
>Weitergabe der Quellcodes,

und das macht ihr unter GPL ?
warum denn das?

>Jeder andere Entwickler müßte sich schließlich erst einmal in den Code
>einarbeiten, was bei hinreichend großer Komplexität ähnlich teuer ist
>wie den Code neu zu schreiben.

das ist "Blödsinn":  nimm irgend eine Library/Biliothek (Indy, 
VirtualTreeView usw.)

willst behaupten diese zu Verwenden ist gleich aufwändig als sie neu zu 
schreiben..

Ausserdem widerspricht das deiner "Investitionssicherheit des Kunden", 
wenn der Kunde mit eurem Code nichts anfangen kann (weil zu komplex) 
dann braucht er ihn auch nicht..

: Bearbeitet durch User
von Rolf M. (rmagnus)


Lesenswert?

Heinz S. schrieb:
> Rolf Magnus schrieb:
>> Wie kommst du darauf? Das ist Unsinn.
>
> Belege bitte deine Aussage.

Nun, du hast eigentlich mit den unbelegten Aussagen angefangen.

> Jede gaengige Interpretation der GPL geht nur davon aus, dass "derived
> work" durch dynamisches oder statisches Linken entsteht. Und das ist bei
> Plugins nicht der Fall.

Ich weiß jetzt nicht, ob die GPL-FAQ auf gnu.org zu den "gängigen 
Interpretationen" zählt, aber die sieht das jedenfalls anders. 
Ausschlaggebend ist nach dieser nicht, wie die Komponenten geladen 
werden, sondern wie eng sie mit einander verknüpft sind. Wenn sie z.B. 
gemeinsame Datenstrukturen verwenden oder gegenseitig komplexere APIs 
nutzen, gelten sie zusammen als ein Programm. Wenn dagegen nur eine 
Funktion a la "main()" aufgerufen wird und vielleicht noch ein paar 
Parameter übergeben werden, dann eher nicht.

von Karl Käfer (Gast)


Lesenswert?

Hallo Robert,

Robert L. schrieb:
>> Unsere Kunden bestehen auf Weitergabe der Quellcodes,
>
> und das macht ihr unter GPL ? warum denn das?

Weil es prima funktioniert. Wenn der Kunde den Code weitergeben würde, 
würde er sein eigenes Geschäftsmodell gefährden. Und die GPL macht es 
ihm eben unmöglich, nur den Objekt- ohne Quellcode weiterzugeben.

Lies bitte einfach mal die GPL, die LGPL und die FAQs dazu. Da springen 
einem die Geschäftsmodelle geradezu ins Gesicht.

>>Jeder andere Entwickler müßte sich schließlich erst einmal in den Code
>>einarbeiten, was bei hinreichend großer Komplexität ähnlich teuer ist
>>wie den Code neu zu schreiben.
>
> das ist "Blödsinn":  nimm irgend eine Library/Biliothek (Indy,
> VirtualTreeView usw.)
>
> willst behaupten diese zu Verwenden ist gleich aufwändig als sie neu zu
> schreiben..

Jetzt redest Du auf einmal von "Verwendung". Das ist aber gar nicht der 
Punkt. Denn der ganze Trick an so einer Bibliothek ist ja, daß sie die 
Komplexität wegkapselt und es einfacher ist, die Bibliothek zu benutzen, 
anstatt ihre Funktionalität selbst zu entwickeln und zu pflegen.

Wenn ein Kunde meine Software klauen und selbst vermarkten will, muß er 
seinen Klon pflegen. Das heißt: er braucht einen Entwickler, der das 
Ding pflegen und weiteerentwickeln kann, und sich dazu naturgemäß erst 
einmal in die dreckigen Details hineinarbeiten muß. Das ist aber 
erfahrungsgemäß genauso teuer wie das Ding neu zu implementieren, fügt 
allerdings einen zusätzlichen Unsicherheitsfaktor hinzu. Kein Kunde, der 
seine fünf Sinne beisammen hat, würde so etwas tun.

> Ausserdem widerspricht das deiner "Investitionssicherheit des Kunden",
> wenn der Kunde mit eurem Code nichts anfangen kann (weil zu komplex)
> dann braucht er ihn auch nicht..

Wenn die Not groß genug ist, weil wir nicht mehr verfügbar sind, werden 
unsere Kunde diesen Aufwand nicht scheuen. Trotzdem wissen unsere 
Kunden, daß sie sich unsere Expertise und Erfahrung mit dieser unserer 
Software in diesem Falle sehr teuer erarbeiten müssen. Und genau 
deswegen kaufen sie diese Software auch weiterhin bei uns.

Liebe Grüße,
Ka'müde'rl

von Robert L. (lrlr)


Lesenswert?

>Wenn der Kunde den Code weitergeben würde,
>würde er sein eigenes Geschäftsmodell gefährden.

wie gesagt, funktioniert das in deinem/euren Fall vielleicht, weil eben 
auf einen/einige wenige Kunden zugeschnitten ...

da jetzt hier (deshalb) so zu tun, als würde das für jedes/fast alle 
Projekte das beste Modell sein geht einfach nicht
(und Warum eigentlich, der GPL GEDANKE von freier Software scheint es 
bei dir nicht zu sein)


> Denn der ganze Trick an so einer Bibliothek ist ja, daß sie die
>Komplexität wegkapselt und es einfacher ist

und innerhalb eurer Software machst du das nicht? da werden sich deine 
Kollegen aber bedanken ;-)

: Bearbeitet durch User
von Oliver (Gast)


Lesenswert?

Robert L. schrieb:
> der GPL GEDANKE von freier Software scheint es
> bei dir nicht zu sein)

Vielleicht solltest du die GPL-Interpretation des Wortes "frei" erst 
einmal verstehen.
Nicht umsonst gibt es neben der GPL auch andere Lizenzen, die das Wort 
"frei" anders interpretieren, und die Diskussionen zwischen den Lagern 
im Netz dazu sind älter als das Netz selber.

Oliver

von Robert L. (lrlr)


Lesenswert?

>Diskussionen

es ist also nicht 100% klar was damit gemeint ist?

Klar ist wohl: der Kunde DARF den Code weitergeben (will das scheinbar 
aber nicht, weil das "sein Geschäft zerstört" )

Auch der Hersteller DARF den Code an anderer weitergeben (will das der 
Kunde?)

was ist wenn ich Angestellter vom Kunden bin,
morgen bin ich Angestellter vom "Mitbewerber" des Kunden (der sich über 
seine neue, Kostenlose Software freut..)



usw. usw.

von Oliver (Gast)


Lesenswert?

Robert L. schrieb:
> es ist also nicht 100% klar was damit gemeint ist?

Doch. Ist es.

Oliver

von Robert L. (lrlr)


Lesenswert?

>Doch. Ist es.

und, darf der Mitarbeiter jetzt den Code "mitnehmen" oder nicht?

von Heinz S. (Gast)


Lesenswert?

Rolf Magnus schrieb:
> Wenn sie z.B.
> gemeinsame Datenstrukturen verwenden oder gegenseitig komplexere APIs
> nutzen, gelten sie zusammen als ein Programm. Wenn dagegen nur eine
> Funktion a la "main()" aufgerufen wird und vielleicht noch ein paar
> Parameter übergeben werden, dann eher nicht.

Mal ehrlich - als du das geschrieben hast, da hast du doch selbst schon 
gemerkt, wie schwamming und unsicher das ist, oder? Und jetzt wirf doch 
mal einen Blick in die GPL, denn am Ende gilt diese und nicht irgendeine 
FAQ - was sagt die zu diesem Thema denn konkret aus? Wo setzt sie die 
Grenze?

von Oliver (Gast)


Lesenswert?

Inwiefern ein Mitarbeiter Rechte an einer Software hält, die ihn 
berechtigen, "seine" Software zu einem neuen Arbeitgeber mitzunehmen, 
ist eine Frage des (deutschen) Urheberrechts und den Ausführungen dazu 
im jeweiligen Arbeitsvertrag.

Oliver

von Rolf M. (rmagnus)


Lesenswert?

Heinz S. schrieb:
> Mal ehrlich - als du das geschrieben hast, da hast du doch selbst schon
> gemerkt, wie schwamming und unsicher das ist, oder?

Also für mich ergibt das mehr Sinn als deine Variante, nach der die 
Bedingungen davon abhängen, auf welche Weise ein Modul in den Speicher 
geladen wird. Wen interessiert das denn, und warum sollte das für die 
Lizenzbedingungen relevant sein?

> Und jetzt wirf doch mal einen Blick in die GPL, denn am Ende gilt diese
> und nicht irgendeine FAQ -

Es ist nicht "irgendeine FAQ", sondern die, die der Autor der GPL 
geschrieben hat. Damit zeigt sie vielleicht nicht zwingend, wie die GPL 
dann rechtlich angewendet werden kann, aber sie zeigt auf jeden Fall, 
was die Idee hinter der Lizenz ist.

> was sagt die zu diesem Thema denn konkret aus?

Daß du (abgesehen von Systemlibraries und derlei) von allem die Sourcen 
liefern mußt, das benötigt wird, um dein Plug-In nutzen zu können, also 
auch von dem Programm, für das es geschrieben wurde.

von Karl Käfer (Gast)


Lesenswert?

Hallo Robert,

Robert L. schrieb:
>>Wenn der Kunde den Code weitergeben würde,
>>würde er sein eigenes Geschäftsmodell gefährden.
>
> wie gesagt, funktioniert das in deinem/euren Fall vielleicht, weil eben
> auf einen/einige wenige Kunden zugeschnitten ...

Für den rechtlichen Gesichtspunkt -- und um den geht es hier ja 
letztlich -- spielt es keine Rolle, ob wir über einen, zehn, hundert, 
tausend oder hunderttausend Kunden reden. Iudex non calculat.

> da jetzt hier (deshalb) so zu tun, als würde das für jedes/fast alle
> Projekte das beste Modell sein geht einfach nicht

Das habe ich nicht getan, sondern nur darauf hingewiesen, daß hier 
viele, die sich über die GPL auslassen, sie offensichtlich nicht gelesen 
oder jedenfalls nicht verstanden haben. Dazu habe ich als Beispiel 
ausgeführt, daß wir unsere kommerzielle Software regelmäßig unter GPL an 
unsere Kunden abgeben. Wenn Du mir schon Dinge in den Mund legen mußt, 
die ich niemals gesagt habe, nur um etwas gegen meine Argumentation 
sagen zu können, sind Dir aber offensichtlich die Sachargumente 
ausgegangen.

> (und Warum eigentlich, der GPL GEDANKE von freier Software scheint es
> bei dir nicht zu sein)

Du mißverstehst den Freiheitsgedanken der GPL, und zwar grundlichst. Da 
geht es nicht um Freiheit wie in "Freibier", weißt Du? Da geht es eher 
um Freiheit im Sinne von "freier Rede", und zwar einzig und alleine um 
die Freiheit des Benutzers  Konsumenten  Kunden, und eben nicht um die 
einer mehr oder weniger breiten Öffentlichkeit. Wenn Du getan hättest, 
was ich Dir jetzt zum vierten Mal empfehle -- nämlich: die GPL und die 
FAQ dazu lesen -- dann wüßtest Du das längst.

>> Denn der ganze Trick an so einer Bibliothek ist ja, daß sie die
>>Komplexität wegkapselt und es einfacher ist
>
> und innerhalb eurer Software machst du das nicht? da werden sich deine
> Kollegen aber bedanken ;-)

Natürlich. Aber wer diese Software und damit ihre Bibliotheken weiter 
pflegen muß, weil er unsere Software weiter verkaufen will, muß sich 
trotzdem mit deren Komplexität auseinandersetzen. Wenn der Betreffende 
das nämlich nicht kann, landet er automatisch dort, wo solche 
Geschäftsmodelle hingehören: auf dem Müllhaufen der Geschichte.

Leider wird es zunehmend enervierend, aber auch langweilig, mit jemandem 
über eine Softwarelizenz zu streiten, der sie ganz offensichtlich trotz 
wiederholter Aufforderungen nicht gelesen hat und nun zu Unterstellungen 
greifen muß, um sich überhaupt noch so etwas Ähnliches wie ein Argument 
zusammen stoppeln zu können. Zudem entfernen wir uns immer mehr vom 
Thema, daher beende ich diese Diskussion jetzt.

Guten Tag,
Karl

von Robert L. (lrlr)


Lesenswert?

mühsam, ja, du drehst dirch auch alles so hin wie es dir passt...


>rechtlichen  spielt es keine Rolle, ob wir über einen, zehn, hundert,
>tausend oder hunderttausend Kunden reden.

doch um das gehts doch..

wenn die software für tausende interessant ist:
weil dann irgendeiner dieser Kunden eien Fork weitervertreiben 
kann/wird....

und ihr das eigentlich nicht wollt, obwohl er es vom Vertrag her darf 
(ihr geht nur davon aus, dass er es nicht macht, weil blablabla.. koplex 
blablabla)

dann wäre es doch Sinnvoller diese weitergabe einfach Vertraglich zu 
regeln, und nicht eine unpassende G Public L zu verwenden  (was ihr 
vermutlich nur deshalb macht, weil ihr eben GPL Code verwendet..
was für mich darauf schließen lässt, dass ihr genau das macht, was du in 
deiner 1. Antwort hier kritisierst.. GPL Code verwenden aber nicht 
weitergeben wollen?!)

> der sie ganz offensichtlich trotz
>wiederholter Aufforderungen nicht gelesen hat

aber du regst dich auf, ich würde dir irgenwas in Mund legen??


Meine Meinung ist weiterhin die Selbe: man kann mit Dienstleisung zu GPL 
- Software Geld verdienen, (dazu muss man uU diese selber weiter 
entwickeln..) aber nicht mir der Software selber.. ausser eben mit der 
Ausnahme von SEHR speziell an einzelne Kunden angepasste software.. für 
die sich sonst keiner interessiert..

von Heinz S. (Gast)


Lesenswert?

Rolf Magnus schrieb:

> Also für mich ergibt das mehr Sinn als deine Variante, nach der die
> Bedingungen davon abhängen, auf welche Weise ein Modul in den Speicher
> geladen wird. Wen interessiert das denn, und warum sollte das für die
> Lizenzbedingungen relevant sein?

Wieso sollte es relevant sein, ob ich system() oder dlopen() benutze? 
Beides wird zur Laufzeit gemacht, womit die Binaries keine feste 
Abhaengigkeit zum "fremden" Code haben. Also eindeutig eine Aggregation. 
Im Gegensatz zum statischen und dynamischen Linken.

> Es ist nicht "irgendeine FAQ", sondern die, die der Autor der GPL
> geschrieben hat. Damit zeigt sie vielleicht nicht zwingend, wie die GPL
> dann rechtlich angewendet werden kann, aber sie zeigt auf jeden Fall,
> was die Idee hinter der Lizenz ist.

Was die Idee ist, ist mir voellig klar. Nur kuemmert das wirklich 
keinen.

Abgesehen davon: Lies das entsprechende Kapitel nochmal. Da wo es 
schwamming wird, ist selbst in der FAQ genug Platz um die Plugins durch 
zu quetschen: "almost surely" und "could be a basis to consider" zeigen 
Recht eindeutig, dass der Autor der FAQ sich dessen selbst bewusst ist.

>> was sagt die zu diesem Thema denn konkret aus?
> Daß du (abgesehen von Systemlibraries und derlei) von allem die Sourcen
> liefern mußt, das benötigt wird, um dein Plug-In nutzen zu können, also
> auch von dem Programm, für das es geschrieben wurde.

In der GPL werden Plug-Ins nicht mal erwaehnt. Lass mich raten: Du hast 
die nie gelesen, oder?

von Heinz S. (Gast)


Lesenswert?

Karl Käfer schrieb:
> Da geht es nicht um Freiheit wie in "Freibier", weißt Du? Da geht es eher
> um Freiheit im Sinne von "freier Rede", und zwar einzig und alleine um
> die Freiheit des Benutzers  Konsumenten  Kunden, und eben nicht um die
> einer mehr oder weniger breiten Öffentlichkeit.

Du vermixt hier auch voellig 2 Dinge - beim Recht des Kunden ging es vor 
Allem darum, dass er das Recht hat, die Quellen zu bekommen um Probleme 
selbst loesen zu koennen. Darum ging es bei Open Source, die machtlose 
Abhaengigkeit von den Lieferanten aufzubrechen. Das hatte den kleinen 
Richard vor vielen Jahren naemlich so frustriert. Mit freier Rede hat 
das nun gar nichts zu tun.

von Oliver (Gast)


Lesenswert?

Heinz S. schrieb:
> beim Recht des Kunden ging es vor
> Allem darum, dass er das Recht hat, die Quellen zu bekommen um Probleme
> selbst loesen zu koennen. Darum ging es bei Open Source, die machtlose
> Abhaengigkeit von den Lieferanten aufzubrechen.

Seit Anbeginn der GPL gibt die jedem Anwender das Recht auf "share" und 
"change". Und "share" steht da immer vor "change". Daraus ein "vor 
allem" für das Recht auf Change abzuleiten, ist mehr als fragwürdig.

Oliver

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Heinz S. schrieb:

> Wieso sollte es relevant sein, ob ich system() oder dlopen() benutze?
> ...
> Im Gegensatz zum statischen und dynamischen Linken.

Du weißt aber, wie dynamisches Linken funktioniert, ja?

Genau mit diesem dlopen().

Es gibt also keinen wirklichen Unterschied zwischen deinem immer wieder
propagierten „Plugin“ (für das man erstmal etwas haben muss, in das man
es „pluggen“ kann) und dynamischer Bindung.

Wenn derjenige, an den du dich bindest oder in den du dich einstöpselst,
es OK findet, dass du mit diesem Akt nicht automatisch sein
Lizenzmodell übergeholfen bekommst (bspw. durch die LGPL), dann kann
man das so tun.  Findet er das nicht OK (und drückt dies entsprechend
aus), dann hilft auch dein Plugin nicht.

Typisches Beispiel: Wireshark weist ausdrücklich darauf hin, dass auch
für in Lua geschriebene Dissectoren die GPL von Wireshark bindend ist,
da selbige auf einem der GPL verpflichteten Rahmenwerk aufsetzen.  So
ein Lua-Dissector ist nun ganz gewiss noch loser gebunden als ein
vorcompiliertes „Plugin“ jeglicher Art.

von Karl Käfer (Gast)


Lesenswert?

Hallo Heinz,

Heinz S. schrieb:
> Karl Käfer schrieb:
>> Da geht es nicht um Freiheit wie in "Freibier", weißt Du? Da geht es eher
>> um Freiheit im Sinne von "freier Rede", und zwar einzig und alleine um
>> die Freiheit des Benutzers  Konsumenten  Kunden, und eben nicht um die
>> einer mehr oder weniger breiten Öffentlichkeit.
>
> Du vermixt hier auch voellig 2 Dinge - beim Recht des Kunden ging es vor
> Allem darum, dass er das Recht hat, die Quellen zu bekommen um Probleme
> selbst loesen zu koennen. Darum ging es bei Open Source, die machtlose
> Abhaengigkeit von den Lieferanten aufzubrechen. Das hatte den kleinen
> Richard vor vielen Jahren naemlich so frustriert. Mit freier Rede hat
> das nun gar nichts zu tun.

Siehe http://www.gnu.org/philosophy/free-sw.html und hier insbesondere 
das Ende des zweiten Absatzes: "Freie Software ist daher eine Frage der 
Freiheit, nicht des Preises. Um das Konzept zu verstehen, sollten man an 
frei wie in Redefreiheit denken, nicht wie in Freibier." (ebd.)

Liebe Grüße,
Karl

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Karl Käfer schrieb:
> Um das Konzept zu verstehen, sollten man an frei wie in Redefreiheit
> denken, nicht wie in Freibier.

Dieser Labersatz wird durch Wiederholung bis zum Erbrechen nicht
sinnvoller.

von Oliver (Gast)


Lesenswert?

Wir in D haben halt sowohl zum  Bier als auch zur Redefreiheit ein 
völlig anderes Verhältnis. Der unselige "free beer - free 
speech"-Vergleich funktioniert hier einfach nicht.

Oliver

von Karl Käfer (Gast)


Lesenswert?

Hallo Jürg,

Jörg Wunsch schrieb:
> Karl Käfer schrieb:
>> Um das Konzept zu verstehen, sollten man an frei wie in Redefreiheit
>> denken, nicht wie in Freibier.
>
> Dieser Labersatz wird durch Wiederholung bis zum Erbrechen nicht
> sinnvoller.

Verzeih', aber wenn man mal kurz darüber nachdenkt, ist das gar kein 
Labersatz. Es geht nämlich tatsächlich nicht um ein Geschenk, also 
darum, etwas umsonst ohne Gegenleistung zu bekommen, sondern vielmehr 
darum, etwas Sinnvolles mit seiner Software machen zu können, also um 
die Freiheit als das Recht, nicht von der eigenen Software und ihren 
Lizenzbestimmungen gegängelt zu werden. Und das ist natürlich eher 
vergleichbar mit dem Recht auf Meinungs- und Äußerungsfreiheit zu tun, 
als damit, etwas Kostenloses zu erhalten wie beim Konzept "Freibier". 
Der Satz oben mag das verkürzen, aber am Intendierten ändert das ja 
nichts.

Liebe Grüße,
Lutz

von Heinz S. (Gast)


Lesenswert?

Oliver schrieb:
> Seit Anbeginn der GPL gibt die jedem Anwender das Recht auf "share" und
> "change". Und "share" steht da immer vor "change". Daraus ein "vor
> allem" für das Recht auf Change abzuleiten, ist mehr als fragwürdig.

Ich leite das aus der Entstehungsgeschichte ab. Einfach mal bei Stallman 
ein wenig stoebern.

von Heinz S. (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Es gibt also keinen wirklichen Unterschied zwischen deinem immer wieder
> propagierten „Plugin“ (für das man erstmal etwas haben muss, in das man
> es „pluggen“ kann) und dynamischer Bindung.

Ich weiss, dass du das besser weisst.

von Rolf M. (rmagnus)


Lesenswert?

Heinz S. schrieb:
> In der GPL werden Plug-Ins nicht mal erwaehnt.

Richtig. Deshalb macht es ja auch keinen Unterschied, ob es ein Plug-In 
ist oder nicht.

> Lass mich raten: Du hast die nie gelesen, oder?

Mein obiger Satz bezieht sich sehr direkt auf einen Teil der Lizenz. 
Offenbar hast du sie nicht gelesen, denn sonst wäre dir das 
aufgefallen. Da das allgemein für GPL-Code gilt, gilt es natürlich auch 
für Plug-Ins, ohne daß die explizit erwähnt werden müßten. Hier mal der 
relevante Teil:

The “Corresponding Source” for a work in object code form means all the 
source code needed to generate, install, and (for an executable work) 
run the object code and to modify the work, including scripts to control 
those activities.

Ein Plug-In ist ein "executable work", und man braucht das Programm, in 
das es "geplugt" werden kann, um seinen "object code" auszuführen. Also 
ist das Programm Teil des "Corresponding Source".
Bevor jetzt jemand kommt und sagt, dann müßte auch das ganze 
Betriebssystem darunter fallen: Das wird im nächsten Satz ausgenommen.

Heinz S. schrieb:
> Du vermixt hier auch voellig 2 Dinge - beim Recht des Kunden ging es vor
> Allem darum, dass er das Recht hat, die Quellen zu bekommen um Probleme
> selbst loesen zu koennen. Darum ging es bei Open Source, die machtlose
> Abhaengigkeit von den Lieferanten aufzubrechen. Das hatte den kleinen
> Richard vor vielen Jahren naemlich so frustriert. Mit freier Rede hat das
> nun gar nichts zu tun.

Da hast du wohl was falsch verstanden. Ich hab mir vor einigen Jahren 
mal einen Vortrag von ihm zur Entstehungsgeschichte angehört, als er in 
Stuttgart war. Auslöser der ganzen GNU-Bewegung war ein Druckertreiber, 
der im Gegensatz zu dem Treiber für das vorher verwendete Modell nicht 
inklusive Sourcen kam. Stallman hätte die Sourcen des neuen Treibers 
durchaus bekommen können, aber nur, wenn er ein NDA unterzeichnet hätte, 
und das wollte er nicht. Er wollte das Recht haben, den Code und 
insbesondere seine daran gemachten Änderungen weiter zu verbreiten, 
damit andere auch davon profitieren können. Er wollte keinen Maulkorb 
angelegt bekommen, eben wie bei "free speech".
Deshalb hat er mit der GPL eine Lizenz geschaffen, die nicht nur dazu 
dient, auch den Quellcode weiterzugeben, sondern ganz ausdrücklich auch 
dazu, sicherzustellen, daß das auch für jegliche darauf basierende 
Software so bleibt.

von Karl Käfer (Gast)


Lesenswert?

Hallo Heinz,

Heinz S. schrieb:
> Jörg Wunsch schrieb:
>> Es gibt also keinen wirklichen Unterschied zwischen deinem immer wieder
>> propagierten „Plugin“ (für das man erstmal etwas haben muss, in das man
>> es „pluggen“ kann) und dynamischer Bindung.
>
> Ich weiss, dass du das besser weisst.

Da die Diskussion ohnehin im OT versandet ist und zudem abzugleiten 
droht, möchte ich mal versuchen, das Ganze wieder ein wenig zu 
versachlichen.

Nun, lieber Heinz, Du sprichst jetzt schon seit einigen Beiträgen immer 
wieder von "Plugins". Wenn ich Dich richtig verstanden habe, sollen 
diese etwas anderes sein als Dynamische Bibliotheken. Korrekt?

Da wäre es vielleicht hilfreich, wenn Du uns erklären würdest, was 
Deiner Meinung nach ein Plugin ist, und inwiefern es sich a) technisch 
und b) aus lizenzrechtlicher Sicht von einer Dynamischen Bibliothek 
unterscheidet.

Lieben Dank,
Karl

von Ole S. (Gast)


Lesenswert?

mal was anderes
Die mp4 Lizens ist doch an die Seriennummer im Raspi gekoppelt. Das 
könntest Du doch ebenfalls so machen, um zu verhindern dass dein 
kompilierter Quelltext auf anderer, "nicht lizensierter", Hardware 
funktioniert.

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
Noch kein Account? Hier anmelden.