Feltételezhető széleskörű GPL sértés a kis Linux disztribútorok részéről?

Címkék

A NewsForge-on jelent meg egy érdekes cikk a minap arról, hogy Warren Woodford, a MEPIS névre hallgató Linux disztribúció vezetője egy GPL licencelési problémába futott bele nemrég.
Konkrétan arról van szó, hogy GNU GPLv2 harmadik szekciója kimondja, hogy GPL-es program disztribútorának kötelező a program forráskódját három évig a felhasználók részére "könnyen elérhető formátumban" (általában CD, DVD vagy letöltő szerveren elhelyezett anyag képében) biztosítania. A hatodik szekció pedig kimondja, hogy a kódterjesztésben érintett összes disztribútorra vonatkoznak a harmadik szekcióban lefektetett játékszabályok.
Hogy érinti ez a MEPIS-t? A MEPIS régebben Debian alapokon készült, jelenleg pedig Ubuntu-n alapul. Korábban (a figyelmeztetés előtt) a disztró nem tette letölthetővé a csomagjai forrását, gondolván, hogy erre nincs szükség, mert az esetében, jelenleg elérhető az Ubuntu-tól. A fejlesztő úgy gondolta, hogy ha ott megtalálhatók az általa használt csomagok forrásai, akkor a felhasználók azokat elérhetik, így jogilag rendben van a dolog. Rosszul gondolta.

A cikk szerint az FSF hivatalosan megkereste a MEPIS vezetőjét, mert az nem biztosította a forrásokat. A MEPIS vezetőjének szándékában áll eleget tenni az FSF figyelmeztetésében foglaltaknak, de azért aggodalmát fejezte ki az üggyel kapcsolatban. Mégpedig azt, hogy vajon a kis disztribúciók - amik mögött kevés számú, vagy gyakran csak egy fejlesztő áll - hogyan fognak eleget tenni ennek a kötelezettségnek.
Szerinte a DistroWatch oldal által nyomonkövetett kb. 500 disztróból 450-nek problémája kell legyen, ha figyelembe veszik a GPL ezen megkötéseit.

A cikk azt a kérdést feszegeti, hogy vajon hogyan hat ez a szabály a leszármazott disztribúciókra. Vajon lehűti majd a fejlesztési, terjesztési és új disztró létrehozási kedvet, ha komolyan kell számoljanak ezzel a problémával?

A NewsForge cikke itt.

Hozzászólások

Kell egy link a "szülő" disztrib csomagjaira, oda kell írni, hogy teljesen megegyezik tartalmilag aztán kész. Vagy ez is gázos jogilag?

Misi

Jajistenem. Most már annyira nincs dolguk a FLOSS-osoknak, hogy egymást baszogatják? Mondjuk ez azért jó, mert (szerintem) nem kell 500 disztró.

A problema mibenlete nem abban all, hogy a fejlesztok nem olvassak el a GPL-t, hanem hogy a GPL felett finoman szolva elszallt az ido, ideje levaltani es kidobni.

Magam is fejlesztek egy open source (de nem GPL) cuccot, es vakarom a fejem, hogy legalisan hasznalhatom-e pl. a gnu GSL library-t vagy a libmysqlclient cuccot...

ASK Me No Questions, I'll Tell You No Lies

Legalább nem 500, hanem csak 150 disztrib lesz. Elég lesz annyi is Linuxból :)

A cikket már a hup-on megjelenés előtt olvastam, mivel potenciálisan minket is érinthet. És van jópár dolog, amit nem értek:

- Egész végig származtatott disztribről van szó, tehát másik disztiben alapuló disztribről. Ez miért lényeges? Van bármiféle említésre méltó különbség származtatott és önálló disztrib között?

- A 3-as szekció három lehetőséget is kínál vagylagosan (a-b-c), és számomra egyáltalán nem tűnik GPL-sértésnek, ha alapból nem rakjuk ki a forrást FTP-re és nem adjuk oda CD-n a usereknek, de ha valaki kéri tőlünk (amire eddig még nem volt precedens), akkor elő tudjuk állítani. (Megjegyzés: amit kirakunk FTP-re és CD-n is elérhető, azok 1) a forrás pontos elérhetősége (URL, gyakran több is, és lényegesen jobb minőségben, mint sok nagy disztribnél, mert ők csak úgy jelképesen karbantartják ezt, mi meg valóban ezt az URL-t töltjük le), 2) a patcheink, és 3) a lefordítás pontos, gyakorlatilag 100%-osan reprodukálható menete (mely csomagok környezetében, milyen parancsokkal stb.) A GPL nem emlékszem hogy ezt a harmadikat is megkövetelné, pedig szerintem ez legalább olyan fontos lenne, mint az előző kettő.)

Természetesen ha valaki kéri tőlünk mondjuk az összes csomag forrását, akkor mivel nekünk is össze kell gyűjtenünk különféle könyvtárak alól, az előállítási költség (melyet a GPL szerint elkérhetünk) egy-két mérnökóra bére lesz, tehát valszeg senki sem fogja tőlünk ezt kérni. De ha mégis, meg tudjuk tenni. Volna itt valahol GPL-sértés, csak én nem látom?

- Számtalan csomag nagyon gázos licencileg, nyilván a csomag készítője sem érti a GPL-t, csak próbálja alkalmazni. Mondjuk a COPYING fájlt nem szállítja, csak odaírja valahova, hogy GPL. Vagy vegyük például a Linux kernelt. A GPL-hez hozzátesz még egy kritériumot, felülbírálva a GPL egy mondatát. Értelmezésem szerint a GPL ezt nem engedi meg, vagyis a licenc egyszerűen nem érvényes. Akkor ezzel mi is a helyzet?

- Valóban lehet szаrrágva kapaszkodni a 15 évvel ezelőtti megfogalmazásba, de észre kéne venni, hogy a GPL fölött eljárt az idő, egy sokkal modernebb szemléletű változatra égető szükség van, inkább ezt kéne az FSF-nek megcsinálnia, mintsem másokat értelmetlenül bаsztatni.

"Szimpla tárhelypocsékolás lenne, ha ugyanazokat a forrásokat 100 -szor is elérhetővé tennék ugyanabban a formában különböző helyeken"

Ezt hívják mirrorozásnak. Ilyen alapon az összes mirror helypocsékolás.

"We think it's pretty clear," says David Turner, GPL compliance engineer at the FSF. "One problem with allowing people to skip out on source code distribution is that there's nothing that requires the upstream distributor to continue to offer source code. If they stop doing so, the source could become totally unavailable. Or, more commonly, the upstream distributor will upgrade the version of the source code available, leaving downstream distributors totally out of sync. In order to fix bugs, users need to get source code exactly corresponding to the binaries they have available."

Ebben azért van valami.

--
trey @ gépház

Van bizony, de szemlátomást összemosunk két dolgot:
- a disztrib a saját házán belül őrizze meg atombiztosan a forrásokat
- publikálja azokat
Persze a publikálás segít az atombiztos megőrzésben, de azért fogalmi szinten nem ártana különválasztani a kettőt.

Továbbá hasonló szinten továbbra sem értem, hogy miért nem említi meg a GPL ezzel hasonló szinten, hogy a forráskód lefordításának tökéletes menetét is éppen ugyanennyire meg kell őrizni. Példa: múltkor egy gcc frissítés után a mozilla -O3-mal fordítva használhatatlan lett, -O2-vel fordítva viszont már jól futott. Na most úgy érzem, ha adok egy mozilla forrást, meg egy mozilla binárisat valakinek, és egy szót sem szólok arról, hogy a forrásból én hogyan készetettem el a binárist (milyen gcc verzió, milyen opciók), akkor az igencsak fél megoldás, ami alapján a user ugyanúgy nem tudja reprodukálni a binárist, mintha forrást sem adtam volna. A forrást előállítani nyilván összehasonlíthatatlanul nagyobb munka, mint egyszer egy konkrét módon lefordításra bírni, de cserébe viszont a forrás jóval nagyobb eséllyel szerezhető be máshonnan, mint az általam hozzáadott minimális plusz (betesztelten működő lefordítási menet). Na mindegy, kezdem úgy érezni, hogy sehova sem vezet ez az eszmefuttatás, megyek inkább csomagokat gyártani :-)

"Van bizony, de szemlátomást összemosunk két dolgot:
- a disztrib a saját házán belül őrizze meg atombiztosan a forrásokat
- publikálja azokat"

Így van, de a probléma valós lehet pl. az egyszemélyes disztrók világában, ahol kötve hiszem, hogy az összes kis disztró egyetlen fejlesztője otthon tartja az összes csomag forrását, és oda is adja, ha kérem. Ti más tészta vagytok, nem lehet imho összehasonlítani.

--
trey @ gépház

> kötve hiszem, hogy [...] oda is adja, ha kérem
Hát... szerintem ha megfizeted a sávszélességét és az ezzel járó munkáját, akkor lehet hogy szívesen letölti és odaadja neked ;)

> Ti más tészta vagytok
Most kezdem érzékelni, hogy milyen tekintetben vagyunk más tészta. Eddig nem esett le, hogy az a probléma, hogy neki nincsenek is meg az általa nem módosított csomagok forrásai. (Azt hittem, hogy az a baj, hogy nem teszi elérhetővé azokat.) De mindemellett úgy érzem, hogy az eredeti probléma ránk is hasonlóképp vonatkozhat, csak sajnos még nem látom tisztán, hogy pontosan hogyan is.

"Eddig nem esett le, hogy az a probléma, hogy neki nincsenek is meg az általa nem módosított csomagok forrásai."

Pontosan ez a probléma. Ha az upstream disztró megszűnik, vagy verziót vált, akkor neki nem kötelező a régebbi (downstream disztró által használt) csomag forrását tárolni. Ha az nem érhető el az upstream-től, akkor nincs forrás. És ez valóban probléma.

--
trey @ gépház

A probléma rátok annyiban vonatkozik, hogy ha már nem adjátok a forrást a binárisok mellett a gyári CD-n, és nem teszitek ki az ftp-tekre sem a letölthető binárisok mellé, akkor a GPL 3. b. pontja szerint:
Egy legalább három évre szóló írásos ajánlat kíséri az anyagot, mely szerint bármely külső személynek rendelkezésre áll a teljes gép által értelmezhető forráskód, a fizikai továbbítást fedező összegnél nem nagyobb díjért...
Tehát valahova le kell írni, pl. a telepítóprogram utalhat rá, hogy akinek kell a forrás pont tőletek, az önköltségi áron megrendelheti ezen és ezen a címen. Ha a forrásokat tároljátok, akkor nem okozhat problémát egy ilyen kérés teljesítése.

Nagyon derék, hogy adjátok forrás lefordításának menetét, de szerintem ez kötelező.

"Egy végrehajtható program esetében a teljes forráskód jelenti a modulok forráskódját, a kapcsolódó interfész definíciós fájlokat, és a fordítást és telepítést vezérlő parancsfájlokat." - GPL

és egy szót sem szólok arról, hogy a forrásból én hogyan készetettem el a binárist (milyen gcc verzió, milyen opciók), akkor az igencsak fél megoldás, ami alapján a user ugyanúgy nem tudja reprodukálni a binárist, mintha forrást sem adtam volna

Miből gondolod, hogy egy felhasználónak kizárólag azért kellhet a forrás, hogy reprodukálja az általad előállított binárist?
Lehet, hogy valamit módosítani akar, csak icipici valamit, mert hiányol az egyébként nagyon jól összerakott csomagból...
Ha valaki eljut ide, akkor talán van fogalma a gcc kapcsolóiról is. :)

Így van, szó sincs kizárólagosságról. Hiába módosítok bármit is a forráson, ha utána mégis képtelen vagyok lefordítani úgy, hogy működjön. És mivel lehet hogy a módosítás hozta be a hibát, de lehet hogy nem, ezért (ha már egy disztrib csomagjából indulok ki, és nem a saját utamat járom) szerintem az a jó módszer, hogy először megnézem, tudom-e reprodukálni amit ők csináltak, pl. eljutok-e én is egy működő mozilla csomaghoz, és ha igen, akkor utána próbálkozhatok nyugodtan saját patchek belerakásával.

Nocsak, nocsak. A gpl mint az innováció motorja, a fejlesztés vitorláját fújó szél, a glaubersó a programozás emésztőrendszerében, stb.
Kicsit emlékeztet a Kiberiádából arra a mesére, mikor a holdon ülő sárkányt a király úgy távolította el, hogy építtetett egy ellensárkányt, ami elűzte, de aztán jött a kérdés, hogy hogy űzzük el az ellensárkányt, stb. :)...

A closed source company szövetkezett egy gsimon nevű "sárkánnyal", akinek az volt a dolga, hogy elűzze a gpl community-t, de a closed source company már az előtt szövetkezett Sárkányölő Szent Györgyel, hogy ha már nincs szüksége gsimon sárkányra, ugyan tegye már el láb alól, ne legyen útban neki. :)
Na ez a különbbség...
Bocs a személyeskedésért! ;)

Ui.: persze a c.s.company Sárkányölő Sz. Györgyöt megvette kilóra, jól! Meg persze gsimon sárkányt is átverte némi tőkebevonással... és azóta is tolja a sz@rabbnál sz@rabb termékeit (tisztelet az üdítő kivételnek) :)
Ha az open source community "beledeglett vóna", akkor az én mesémnek sem lenne folytatása... :)

Sztem egyszerűen le kéne fordítani a GPL-t paraszti programozó nyelvezetre :P Én is olvastam már, de kb csak 5. alkalommal sikerült kb átlátni és megérteni. És ezek után se biztos hogy mindent tudnék úgy csinálni, ahogy leírták. Vagy minden programozó mellé kell egy jogász vagy írják át!:)

Idezet a GPLbol:

"If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code."

Ugyan nem vagyok jogasz, de ez alapjan nekem ugy tunik, ekvivalens a forraskod terjesztesevel, ha ugyanonnet ahonnet a csomagok elereset lehetove teszem, elerhetove teszem a forraskodot is.

Jol ertem amit irnak?

"A cikk azt a kérdést feszegeti, hogy vajon hogyan hat ez a szabály a leszármazott disztribúciókra. Vajon lehűti majd a fejlesztési, terjesztési és új disztró létrehozási kedvet, ha komolyan kell számoljanak ezzel a problémával?"

En azt gondolom, hogy ez a "problema" nem ujonnan szuletett, mar 1991 ota ismert, igy amikor valaki GPL licenszt akar alkalmazni, mar eleve tisztaban kellene lennie ezekkel a dolgokkal.

---------------------
Ригидус а бетегадьбол