A hypervisor-ok meg tudják-e kerülni a GPLv3 "anti-tivoization" kitételét?

Címkék

A LinuxDevices hasábjain jelent meg egy írás Bruno Zoppis-tól, a Trango névre hallgató cég szakemberétől, amelyben arról folyik az elmélkedés, hogy egy hypervisor segítségével el tudják szigetelni a GPL-es szoftvereket a proprietary kódoktól annak érdekében, hogy megfeleljenek a GPL licencben foglaltaknak. A cikk itt.

Hozzászólások

Nem gondoltam volna, hogy pont a GPL fog segíteni a VmWare-nek a Xen elleni küzdelemben.

Ez eleg nevetseges.. Technikailag egy VM micsoda? Ugyanolyan utasitassorozat mint barmilyen mas program. Tehat programkod hivja a Linux kernel egyes reszeit, annak erdekeben, hogy operacios rendszerkent viselkedjen, annak funkcionalitasat kibovitve extra dolgokkal (mint a cikkben a "codec" feliratu doboz). Ekkor mar nem kellene forrast adni a teljes rendszerrol?

Ennyi erovel barmilyen mas operacios rendszerbe (legyen az akar kereskedelmi) bele lehetne epiteni GPL-es kodot, es aztan mondani, hogy "nesze, itt a GPL-es kod forrasa, mi rendben vagyunk". Az, hogy a derived works linkelessel vagy pedig VM-ben valo futtatassal (amit akar tekinthetnenk a linkeles egy specialis formajanak) egyenlo, az technikai reszletkerdes, jogilag ez mit sem valtoztat a dolgon. Marpedig a GPL linkeles esten (akar statikus akar dinamikus linkeles), azt koveteli meg, hogy a hozzalinkelt kod forrasa is GPL ala keruljon, igy ennek szellemeben akar sima dinamikus linkelesrol, akar VM-ben valo futtatasrol beszelunk, a forraskodot adni kell a hozzalinkelt rendszerrol IS.

Szerintetek?

De miben mas a virtualizacios kod attol mint amit egy dinamikus linker csinal? Azert mert en szoftveresen emulalok egy CPU-t es ugy adom at a vezerlest, az most megis miben kulonbozik attol, hogy siman egyetlen hivassal adom at a vezerlest? Technikailag mas, de a felhasznalas jelleget tekintve ugyanaz.

A GPL szelleme szerint ha a szoftvert kibovited barmilyen modon, akkor a bovites kodjat ki kell adni. Az, hogy a bovites milyen modon tortenik technikailag, az miert szamitana barmit is?

A bovites technikai modja azert szamit, hogy jogilag rendesen meg lehessen fogalmazni a dolgokat.
ha linkelodik a program, akkor az derivalt munkanak szamit, de peldaul egy fork() hivastol meg nem szamit derivalt munkanak.
Sot a linkeles sem mindig jelent derivalt munkat. Lasd a "system library" kivetelt.

A "system library" kivétel nem arra vonatkozik, amikor GPL-es munkára építenek, hanem arra, amikor GPL-es program használ GPL-inkompatibilis "system library"-t.
Pl. mindenféle workaround nélkül fejleszthetsz készíthetsz Windowsra GPL-es programot, nem baj, hogy használja a proprietary licencű winapi-t, mert az beletartozik a "system library" kategóriába.