Vraagje over GPL / Linux apps

Pagina: 1
Acties:

  • GBits
  • Registratie: Augustus 1999
  • Laatst online: 28-01-2025
Ik heb even een vraag over GPL.
Is het niet zo dat alle Linux applicaties ook opensource moeten zijn?

Ik ben geinteresseerd in hoe commerciele programma's licentie technisch kunnen draaien op Linux.

Verwijderd

Nee. Waarom zou dat moeten zijn?

  • GBits
  • Registratie: Augustus 1999
  • Laatst online: 28-01-2025
Er wordt zoveel over GPL geroepen en dit was een van de dingen waar ik verschillende dingen over hoor.
Voorbeeldje was de kritiek op nvidia die de drivers alleen in binaire vorm uitbracht.

Verwijderd

Ik zie geen ene reden om alles open-source te laten...

  • odysseus
  • Registratie: Augustus 2000
  • Nu online

odysseus

Debian GNU/Linux Sid

GNU/GPL applicaties moeten *wel* open-source zijn (d.w.z. je moet op een eenvoudige manier aan de broncode kunnen komen). Programma's met een andere licentie (waaronder dus alle closed-source programma's) kunnen echter wel onder ge-GPL-de software draaien. Ik citeer uit de GNU/GPL:
If identifaiable 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.
Het is dus wel mogelijk om closed-source programma's onder linux te laten draaien, omdat ze duidelijk als aparte software te onderscheiden zijn. De scheidslijn is af en toe echter vaag: er woedt al een hele tijd een discussie of binary-only modules voor in je kernel nu eigenlijk mogen volgens de GPL of niet.

* odysseus stelt een open debat voor tussen RMS en Linus...kijken wie de beste argumenten heeft.

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • GBits
  • Registratie: Augustus 1999
  • Laatst online: 28-01-2025
Dus met andere woorden:
grote bedrijven als Oracle en IBM die Linux als OS gebruiken lopen een risico met hun applicaties?

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

De scheidslijn is af en toe echter vaag: er woedt al een hele tijd een discussie of binary-only modules voor in je kernel nu eigenlijk mogen volgens de GPL of niet.
Kernel modules worden niet gezien als een derived work. MAW : Het mag. De reden dat het niet veel gebeurd is dat je niet op de hulp van de kernel developers hoeft te rekenen bij een binary module. En vanuit hun standpunt is dat logisch

Verwijderd

Waarom geeft nvidia niet gewoon de source van z'n linux drivers vrij eigenlijk?
Of doen ze dat inmiddels wel?

  • odysseus
  • Registratie: Augustus 2000
  • Nu online

odysseus

Debian GNU/Linux Sid

Op donderdag 12 juli 2001 20:18 schreef igmar het volgende:

[..]

Kernel modules worden niet gezien als een derived work. MAW : Het mag. De reden dat het niet veel gebeurd is dat je niet op de hulp van de kernel developers hoeft te rekenen bij een binary module. En vanuit hun standpunt is dat logisch
Het gaat niet alleen om het derived-work zijn of niet. Als je programma volledig afhankelijk is van een ander stuk software, wat open-source is, dan moet jouw programma ook open-sourced zijn. Hier zijn uitzonderingen voor, zodat je toch met gcc je commerciele, closed-source programma kunt compileren. De kernel is in principe een andere uitzondering. Je kunt echter argumenteren dat een module niet alleen 'gebruik maakt' van de kernel, maar in feite 'een uitbreiding is' op de kernel. In dat laatste geval zijn binary-only modules dus niet toegestaan.
In de praktijk zijn ze wel toegestaan. De reden is heel eenvoudig: er is geen fabrikant zo gek om zijn lowest-level software, de drivers en firmware dus, open-source te maken. Daar valt voor de concurrentie namelijk veel te veel uit af te leiden. Je zou toch niet willen als Ati zijnde dat nVidia er met je HyperZ-drivers vandoor gaat. Daar zit een heleboel ontwikkeling in, die je dan direct zou weggeven. Dat je bij de ontwikkeling van dergelijke kernelmodules weinig steun krijgt, is logisch, zoals je al aangaf. Overigens zijn deze modules ook officieel ontraden.

* odysseus verwijst voor een interessante discussie over dit onderwerp naar de linux-kernel mailinglist van een maand of drie geleden, toen dit onderwerp daar uitgebreid aan de orde is gekomen. Voor de geinteresseerden wil ik nog wel een samenvatting zoeken.

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


Verwijderd

Op donderdag 12 juli 2001 20:29 schreef Mainwave het volgende:
Waarom geeft nvidia niet gewoon de source van z'n linux drivers vrij eigenlijk?
Of doen ze dat inmiddels wel?
Omdat er binnen de kortste keren geen lijn meer is te trekken. Je krijgt tig "bedrijfjes" die allemaal een eigen idee hebben over wat goed is cq. verbeterd moet worden. Op dit moment zijn er een aantal spelers (zoals NVidia) die een soort van standaard maken waardoor wel duidelijk is wat voor soort richting eea. opgaat.

Op zich kleven er natuurlijk nadelen aan de situatie zoals die NU is maar ik denk dat het alternatief slechter is.

Verwijderd

Op donderdag 12 juli 2001 20:38 schreef ItSnows het volgende:

[..]

Omdat er binnen de kortste keren geen lijn meer is te trekken. Je krijgt tig "bedrijfjes" die allemaal een eigen idee hebben over wat goed is cq. verbeterd moet worden. Op dit moment zijn er een aantal spelers (zoals NVidia) die een soort van standaard maken waardoor wel duidelijk is wat voor soort richting eea. opgaat.

Op zich kleven er natuurlijk nadelen aan de situatie zoals die NU is maar ik denk dat het alternatief slechter is.
Maar hoe gaat dat nu dan?
De linux communitie ontwikkelt drivers (of de mensen van xfree of weet ik hoe dat gaat), en nu ontwikkelt nvidia ook drivers en moet de maker van de distributie uitmaken welke te gebruiken?
Er staan me iets van bij dat donald becker de 3c59x (oid) module had waarmee ook de 3c905 werd ondersteund, totdat 3com zelf met een 3c90x module kwam, die ik nu bij verschillende distributies in de kernel terug vind?

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

[quote]
Het gaat niet alleen om het derived-work zijn of niet.
[quote]

Wel degelijk. Als het namelijk geen derived werk is zit je niet aan de GPL vast. Anders wel.
Hier zijn uitzonderingen voor, zodat je toch met gcc je commerciele, closed-source programma kunt compileren.
Bij de gcc compiler word het programma dat gegenereerd word niet als een derived werk gezien. Hetzelfde geld bv voor de .c files die yacc genereert. Vaak is dit expliciet in de license vermeld.

Voor libraries betekend dit vaak de LGPL license.
In de praktijk zijn ze wel toegestaan. De reden is heel eenvoudig: er is geen fabrikant zo gek om zijn lowest-level software, de drivers en firmware dus, open-source te maken.
Er zijn idd enkele grote discussies hierover geweest. Paar maanden terug nog een. De meest bekende was denk ik wel Nvidia en de RAID controllers van een fabrikant.[quote]
Daar valt voor de concurrentie namelijk veel te veel uit af te leiden. Je zou toch niet willen als Ati zijnde dat nVidia er met je HyperZ-drivers vandoor gaat. Daar zit een heleboel ontwikkeling in, die je dan direct zou weggeven.
[quote]

Zit wat in. De praktijk is echter dat als men er achter wil komen er men toch wel achterkomt. Vooral Rusland is erg berucht om dit soort praktijken, en er zijn bijna geen wetten voor.
Dat je bij de ontwikkeling van dergelijke kernelmodules weinig steun krijgt, is logisch, zoals je al aangaf. Overigens zijn deze modules ook officieel ontraden.
Niet zo vreemd. Er veranders wel eens een API of een struct, en dat betekend voor alle binary module bakkers een recompile.

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

Omdat er binnen de kortste keren geen lijn meer is te trekken. Je krijgt tig "bedrijfjes" die allemaal een eigen idee hebben over wat goed is cq. verbeterd moet worden.
De reden is IP (Interlectual Property), niet meer en niet minder. Dat gezwets over standaarden geloof ik totaal niet in.

De praktijk is dat Open Source producten vaak goed van kwaliteit zijn, en dat kan ik van de NVidia drivers niet echt zeggen

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 15:08

deadinspace

The what goes where now?

Op donderdag 12 juli 2001 19:33 schreef Lecram het volgende:
Dus met andere woorden:
grote bedrijven als Oracle en IBM die Linux als OS gebruiken lopen een risico met hun applicaties?
Nee. Tenzij ze de license verkeerd interpreteren.

De GPL houdt (onder andere) in dat als een deel van de source code van een GPLd programma in een ander programma wordt gebruikt, dat dan dat 2e programma ook geGPLd moet worden. Bijvoorbeeld, jij maakt een browser, en je leent source code uit bijvoorbeeld konqueror (een GPL prog) en gebruikt dat in je eigen browser. Dat mag, maar nu moet je jou browser ook onder de GPL uitbrengen. Dit is het virale van de GPL waar die ene gast van MS het over had.
Maar de oplossing (als je je programma niet onder de GPL wilt uitbrengen) is eenvoudig: gebruik geen source code van GPLd programma's in jouw programma.
Verder is er geen reden dat een GPLd programma en een commercieel programma niet naast elkaar kunnen draaien, dus het is zeker mogelijk om commerciele applicaties voor GNU/Linux te schrijven.

Het kan voor bedrijven overigens handig zijn als alles open source is (jaja, ik weet het verschil tussen open source en de GPL, maar dat doet er hier niet toe), want zo kunnen bedrijven iets aanpassen/verbeteren zoals zij wensen. En er zijn best bedrijven die er geen problemen mee hebben om dan ook iets terug te doen voor de open source community.
IBM bijvoorbeeld ontwikkeld JFS, een veelbelovend filesystem in samenwerking met de GNU/Linux hackers (en nee, hackers zijn geen mensen die in computers inbreken).
Ook zijn er best bedrijven die gewoon opensource Linux drivers leveren (HP en Matrox zijn voorbeelden).
Als je commerciele software maakt ligt het iets anders, dan is de opensource-heid van GNU/Linux minder nuttig, want je mag er immers niks (of iig maar vrij weinig) van in je commerciele programma gebruiken. Maar die commerciele applicaties mogen prima draaien in GNU/Linux.

Er is overigens wel nog iets dat de moeite van het opmerken waard is: linken.
Als een programma bepaalde functies aanbiedt, kun je een programma compilen om hier gebruik van te maken. Dit heet linken. Als je programma bijvoorbeeld van libc gebruik wil maken, moet je je programma tegen libc linken (dat is in 99.9999% van de gevallen zo). Als je programma gtk wil gebruiken, moet je het tegen gde gtk libs linken.
Maar de GPL staat het niet toe dat een niet-GPLd programma tegen een GPLd programma wordt gelinked. Met andere woorden: als je een commercieel programma maakt, mag dit programma geen gebruik maken van GPLd libraries.
Het zou natuurlijk niet bemoedigend zijn als makers van commerciele programma's hun programma's niet tegen libc of gtk of qt of de X libs enz mochten linken, dus om die reden zijn de meeste libraries niet gelicensed onder de GPL, maar onder de LGPL.
De LGPL (Lesser GPL, soms ook foutief Library GPL genoemd) is hetzelfde als de GPL, maar laat het linken van niet-GPLd programma's tegen zichzelf wel toe. Dus je mag een commercieel programma gewoon tegen libc (libc is LGPL) linken. En ook tegen gtk. En ook tegen Qt.
Voorbeeldje was de kritiek op nvidia die de drivers alleen in binaire vorm uitbracht.
Mijn kritiek op de closedsourceheid van de nvidia drivers is dat het voor nvidia geen nut heeft om ze closed te houden, maar dat ze zo wel moeilijker te integreren zijn in Linux. Matrox leverde bijvoorbeeld gewoon open source drivers. De XFree86 programmeurs hebben deze drivers vervolgens in X ingebouwd, zodat XFree86 4.1.0 automatisch volledige support voor de g450 heeft. De nvidia drivers daarentegen schijnen af en toe knap lastig te installeren te zijn. Verder kan iedereen die dat wil iets aan de open source verbeteren, dus dat zou een betere performance tot gevolg kunnen hebben (hoewel de nvidia drivers niet slecht zijn op dit gebied [sic]). Maar er is qua license ook iets niet lekker:
De scheidslijn is af en toe echter vaag: er woedt al een hele tijd een discussie of binary-only modules voor in je kernel nu eigenlijk mogen volgens de GPL of niet
Het punt is, alle applicaties en ook drivers (drivers zijn geen applicaties) moeten tegen de kernel gelinkt zijn om te kunnen werken.
Maar de kernel is niet LGPL, maar GPL.
marcelm@something marcelm$ head -11 /usr/src/linux/COPYING | tail
NOTE! This copyright does *not* cover user programs that use kernel
services by normal system calls - this is merely considered normal use
of the kernel, and does *not* fall under the heading of "derived work".
Also note that the GPL below is copyrighted by the Free Software
Foundation, but the instance of code that it refers to (the Linux
kernel) is copyrighted by me and others who actually wrote it.

Also note that the only valid version of the GPL as far as the kernel
is concerned is _this_ license (ie v2), unless explicitly otherwise
stated.
Zoals je ziet, is de kernel GPL, maar laat specifiek toe dat applicaties ertegen gelinkt mogen worden. Geen probleem hier.
Maar drivers zijn dus geen applicaties (er staat 'user programs'. Drivers zijn zelden userspace, bijna altijd kernelspace).
Dus dit is inderdaad een vraag die dan bij je opkomt: Mogen die nvidia drivers van de GPL of niet?
Ik heb niet zo'n problemen met die drivers, hoewel ik opensource prefereer. Maar dat beantwoordt de vraag niet.

De GPL is trouwens te vinden op [url="ttp://www.gnu.org/copyleft/gpl.html"]ttp://www.gnu.org/copyleft/gpl.html[/url].
Als je serieus dit soort dingen wilt weten, moet je hem eens lezen.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 15:08

deadinspace

The what goes where now?

Op donderdag 12 juli 2001 20:38 schreef ItSnows het volgende:
Omdat er binnen de kortste keren geen lijn meer is te trekken. Je krijgt tig "bedrijfjes" die allemaal een eigen idee hebben over wat goed is cq. verbeterd moet worden. Op dit moment zijn er een aantal spelers (zoals NVidia) die een soort van standaard maken waardoor wel duidelijk is wat voor soort richting eea. opgaat.
Ow? nvidia is eigenlijk juist diegene die die standaarden ff negeert (eigen agpgart implementatie, anyone?)
Op donderdag 12 juli 2001 20:32 schreef odysseus het volgende:
...de reden is heel eenvoudig: er is geen fabrikant zo gek om zijn lowest-level software, de drivers en firmware dus, open-source te maken. Daar valt voor de concurrentie namelijk veel te veel uit af te leiden. Je zou toch niet willen als Ati zijnde dat nVidia er met je HyperZ-drivers vandoor gaat. Daar zit een heleboel ontwikkeling in, die je dan direct zou weggeven.
So, odysseus, we meet again :)

Hier ben ik het dus niet helemaal mee eens. Om te beginnen gaan nvidia drivers weinig doet met ATi hardware. Zelfs al zou je de drivers aanpassen dat ze op ATi hardware werken, dan nog zal het niet optimaal zijn omdat die hardware waarschijnlijk verschillende concepten heeft om iets te bereiken. Dan kun je net zo goed meteen je eigen drivers maken.
Bovendien zijn zat fabrikanten zo gek om OF opensource drivers te leveren (ok, dat is een minderheid) OF de specificaties van de hardware te geven. De meeste hardware werkt toch prima met de (opensource) kerneldrivers? Alleen sommige fabrikanten (met name in de videokaarten branche) sputteren tegen.

Je drivers closed sourcen is overigens geen ultieme beveiliging tegen concurrentie. Als die mensen echt willen weten hoe die drivers in elkaar steken, dan reverse-engineeren ze de drivers wel.

Woohoo! 3 pages of text, just from me alone!
...wait, that is a good thing, right?

  • odysseus
  • Registratie: Augustus 2000
  • Nu online

odysseus

Debian GNU/Linux Sid

[quote] Het gaat niet alleen om het derived-work zijn of niet.
---

Wel degelijk. Als het namelijk geen derived werk is zit je niet aan de GPL vast. Anders wel.

---

We zeggen het iets anders, maar zijn het in feite met elkaar eens. Wat ik beschreef is in feite een uitbreiding van derived work, wat voor jouw nog steeds onder die term valt (waar je eigenlijk gelijk in hebt).

* odysseus bedankt deadinspace (die in alle threads waar ik reageer lijkt op te duiken...) voor zijn uitleg...was de verschillen in gebruik tussen LGPL en GPL een beetje vergeten, drijft nu weer boven :)

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


Verwijderd

Ik proef hier een negatieve stemming tegenover NVidia.
Ik heb geen Nvidia, maar ik wil het wel even rechtzetten.
Waar NVidia de copyrights van hebben, dat brengen ze ook als open-source uit.
Waar ze niet de rechten van hebben, zijn wat dingen van SGI, waarmee ze een non-disclosure contract hebben getekend. Van SGI mag het dus niet open-source worden.
Daarom zijn de open-source drivers ook minder goed (minder features) dan de closed-source drivers.

Ik vond het zelf wat gek om te horen over SGI, maar ik wil ook wel geloven dat het waar is.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 15:08

deadinspace

The what goes where now?

Op donderdag 12 juli 2001 22:19 schreef MarcelP het volgende:
Ik proef hier een negatieve stemming tegenover NVidia.
Mja, ik heb niks tegen nvidia, maar ik geef de voorkeur aan open source drivers. Of nvidia hier wel of niet iets aan kan doen is een tweede.
Ik heb geen Nvidia, maar ik wil het wel even rechtzetten.
Waar NVidia de copyrights van hebben, dat brengen ze ook als open-source uit.
Waar ze niet de rechten van hebben, zijn wat dingen van SGI, waarmee ze een non-disclosure contract hebben getekend. Van SGI mag het dus niet open-source worden.
Daarom zijn de open-source drivers ook minder goed (minder features) dan de closed-source drivers.
Ik vond het zelf wat gek om te horen over SGI, maar ik wil ook wel geloven dat het waar is.
Bij de g450 drivers van matrox is het overigens ook zo. Met de open source drivers werkt de shvs-out niet, want die chip is van een ander bedrijf. (nondisclosure bla enz)

odysseus: Niks! Jij schiet gewoon overal waar ik van plan ben te reageren te voorschijn! :P

  • GBits
  • Registratie: Augustus 1999
  • Laatst online: 28-01-2025
Thanks voor de zeer nuttige info, ik ben weer helemaal bij op dit gebied!
Pagina: 1