Ksplice: Microsoft szabadalomtól tartanak a kernelfejlesztők

Nemrég volt szó a HUP oldalain a Ksplice-ról, amely lehetővé teheti a biztonsággal összefüggő javítások reboot nélküli alkalmazását a Linux kernelen. A Ksplice szerzője, Jeff Arnold azt a javaslatot kapta az LKML-en, hogy küldje be a kódját beolvasztásra a mainline kernelbe. Azonban úgy fest, hogy a beolvasztás útjában több akadály is áll. Ezek közül a kódolás minősége javítható és úgy tűnik, hogy Jeff is meggyőzhető lenne arról, hogy munkáját többen tesztelnék, ha az része lenne a hivatalos kernelnek. Azonban Tomasz Chmielewski egy komolyabbnak látszó problémát vetett fel. A Microsoft-nak birtokában van egy szabadalom, amely a következőket írja le:

"A system and method for automatically updating software components on a running computer system without requiring any interruption of service. A software module is hotpatched by loading a patch into memory and modifying an instruction in the original module to jump to the patch."

azaz,

"Egy rendszer és eljárás a futó számítógépes rendszer szoftverösszetevőinek automatikus frissítéséhez bármely szolgáltatás megszakítása nélkül. Egy szoftvermodul gyorsjavítása egy patch memóriába töltésével és egy, az eredeti modulban levő parancs módosítása a patch-hez fordulással."

A Microsoft ezt a technológiát még 2002-ben szabadalmazatta. Tomasz levelére azonnal reagált néhány régi motoros, akik határozottan emlékeztek még arra, hogy már évtizedekkel azelőtt használtak ilyesmi technológiát a PDP-11 rendszereiken, hogy ezt a "hotpatching"-et a Microsoft szabadalmaztatta volna. Ha ez így van, akkor a Microsoft szabadalma a "Prior Art" miatt nem biztos, hogy érvényes, de ez mindenképpen ingoványos talaj. A fejlesztőknek ezt az információt mindenképpen számításba kell venniük, amikor arról döntenek, hogy beolvasztják-e vagy sem a Ksplice-t a mainline kernelbe.

A témával kapcsolatban valaki szarkasztikusan megjegyezte, hogy itt lenne az ideje a CONFIG_COUNTRY_WITH_SANE_PATENT_LAWS opció bevezetésének a Linux kernelben.

Részletek az LWN cikkében olvashatók, egyelőre csak előfizetők részére.

Hozzászólások

Na, ugyanilyen hotpatching rendszert használtak a srácok nálunk a cégnél (multi) még kb. 15 évvel ezelőtt. Assemblyben írták. Szóval Prior Art biztos, hogy létezik.

Ha valahol is nyilvánosságra jutott, azaz publikáltátok, vagy a forrás elérhető volt, akkor küldd el az anyagot a fejlesztőnek és kész. Az MS ha megtámadja nem csak a perköltséget, hanem a szabadalmát is el fogja bukni.
Ha a PDP-sek jól emlékeznek ezt az MS is tudni fogja és óvakodni fog a pereskedéstől.
Ne felejtsük el, hogy minden szabadalom csak annyit ér amennyiben az érvényesíthető.

másik cég, de mindegy:D Ahogy olvastam a levlistát, mintha
azt írták volna, hogy ezt elutasították (rejected).

Levlista:

"That's a patent application, not a patent. That application has received a "final rejection" from the U.S. patent office (Microsoft is appealing, but so far their attempts at arguing the merits of the application have not been successful). You can browse the relevant documents at

http://portal.uspto.gov/external/portal/pair

(The application number is 10/307,902)."

Prior art biztos, hogy van, éppen ezért nem hiszem, hogy tudnának
mit kezdeni vele.

Az a szomorú, hogy egy ilyen általános dolgot is szabadalmaztatni lehet. Persze, ha megfordítjuk a dolgot, akkor azt is mondhatnám, hogy az ilyenek meg a duplaklikk szabadalmaztatása teszi az egész szabadalmi hercehurcát komolytalanná.

Nem újságíró volt, hanem szabadalmi ügyvivő. A poén sépségét csak az rontja, hogy nem szabadalom, hanem használati minta (ez a magyar terminológia, angolul utility patent) volt, amit a hivatal az újdonság vizsgálata nélkül köteles lajstromozni. Persze a védelmi értéke nulla, mert az újdonság követelmény, csak nem vizsgálják, azaz a kerék "szabadalmát" az semmisíti meg aki akarja - praktikusan az, akit megpróbál először fenyegetni vele.

Inkább a szexet :) Szerintem nem létezik a ("nállunk van a puska vagyis a hatalom") nélküli erkölcsi alapokon fekvő szabadalom vagy szabadalmi rendszer (és nem csak software területen)... na de én csak egy hülye srác vagyok... röviden, a lopás definiciója a tulajdonosok (vagy pontosabban birtokló személyek) cseréje önkéntes beleegyezésük nélkül. Ha nekem volt és most nincs mert erőszakkal vagy csalásal elvetted tőllem akkor az lopás, ha nekem is van meg neked is lett az nem lehet lopás, mert én nem lettem károsított - nem veszítettem el semmit. Na de mindegy, mondom én csak egy hülye srác vagyok.

És az nem szomorú, hogy szabadalmat bejegyeztetett rá, de nem implementálta? :)

A falnak megyek, amikor este otthagyom a gépet, dolgozik valamin, aztán reggel leülök elé, és ott áll a friss loginnél. Belépek, és fogad az üzenet, hogy sürgős javítás miatt újraindult...

Egyébként még a kilencvenes évek végén egy NT4 szerveren lecseréltük a modem initstringjét, mire felugrott egy ablak, hogy a változtatás érvénybeléptetéséhez indítsam újra...

Szív felőli hímvesszők. Vagy rosszindulatú nemzőfolyadékok. Tulajdonképpen most léphetne egy komolyabb hírforrás, hogy mekkora értelmetlenség ez a fajta szabadalom, de sajnos egy sem mozdul. Tartok tőle, ők is a microsoft emlőjét (vagy valami mását) szopják.
--
Fight / For The Freedom / Fighting With Steel

"A fejlesztőknek ezt az információt mindenképpen számításba kell venniük, amikor arról döntenek, hogy beolvasztják-e vagy sem a Ksplice-t a mainline kernelbe."

Az amerikai fejlesztőknek. Az ilyen patent fudnál mindig elfelejtik megnevezni, hogy ez csak az USA-ra vonatkozik.

A Microsoft az életben nem fogja perre vinni a dolgot, mivel a prior art intézménye elég erős ahhoz hogy kidobják a patentet, tehát ezt nem fogja az MS kockáztatni, egyébként is a patent olyan mint egy nukleáris arzenál. Inkább MAD és FUD célokra használják, a perek nagyrészét patent trollok vagy hadban álló cégek kezdeményezik, a többi cég csak ül a szabadalmaikon.

azért azt meg kell jegyezni, hogy bár sokat szidjuk a USAt szoftver szabadalmai miatt, de ott legalább maga a szabadalmi rendszer normális alapukon működik. first to invent, azaz később hiába szabadalmaztat vmit egy akármilyen nagy cég, ha azt már korábban alkalmazta valaki, semmit sem ér a szabadalma. prior art.
itt európában first to file rendszer van. azaz aki előbb szabadalmaztat, azé a szabadalom. így a jelentős költségek miatt, csak nagy megacégek tudnak szabadalmi portfoliókat építeni, és ebből következőleg érdemi tevékenységet folytatni modern technológiák terén. ezért van annyira lemaradva az EU, a USAhez képest technologia terén. szerencsére szoftverszabadalom legalább nincs, köszönhetően az itteni opensource aktivistáknak.

"ezért van annyira lemaradva az EU"

Lemaradva miben? Magyarország valószínűleg a legtöbb dologban, de az EU - nem hiszem.

Alapvetően az is kétségbe vonható, hogy a szabadalomnak összességében pozitív hatása lenne.

A 20 század legtöbb nagy találmánya a szabadalmak hiányában vagy annak ellenére fejlődött.

Repülő: A Wight-fivérek szabadalmaztatták, az amerikai repülőipar és fejlesztés meghalt évekre, a franciáknál szerencsére nem volt ilyen korlátozó tényező, ezért a repülés kezdeti kora a franciáknál zajlott.

Tranzisztor: 1925-ben és 1934-ben is szabadalmaztatták, de a 2vh után kezdődött el csak a komolyabb fejlesztés, részben a háborús érdeklődés miatt. 1947-ben építették meg az első tranzisztort.

Publikus kulcsú titkosítás: katonai és akadémiai körök találták fel, de RSA-ról ezt állítja a wiki:

MIT was granted US patent 4405829 for a "Cryptographic communications system and method" that used the algorithm in 1983. The patent expired on 21 September 2000. Since a paper describing the algorithm had been published in August 1977,[1] prior to the December 1977 filing date of the patent application, regulations in much of the rest of the world precluded patents elsewhere and only the US patent was granted. Had Cocks' work been publicly known, a patent in the US might not have been possible either.

A PGP szócikkből: "Furthermore, the experience with patent and export problems led them to eschew patents entirely."

Egy újabb eset, ahol a szabadalmak csak hátráltatták a fejlődést.

A probléma abban áll, hogy még akkor is, ha egy fontos találmány feltalálója szabadalmaztatja a találmányát, akkor sem mondható el az esetek majdnem mindegyikében, hogy a feltaláló a szabadalom _miatt_ találta fel az adott technológiát (a szabadalmak létezésének elméleti indoka pedig pontosan ez lenne). Az viszont elmondható, hogy a szabadalmak visszafogják, hátráltatják egy adott terület fejlődését.

írj csak egy európai garage céget, amely egy ötletének köszönhetően annyira sikeres lett, és olyan naggyá tudott válni mint annyi technológiai cég a tengerentúlon. pl Hewlett Packard vagy az Apple stb.
azért nincsenek itt ilyen cégek, mert egy Siemens féle behemót jogi osztálya lecsap mielőtt eljutna a kis garage cég a drága szabadalmaztatásig és ezzel megfojtja már csírájában a vállalkozást. cégen belül, pedig valahogy nem olyan innovatívak és lelkesek az európai emberek. mi nem vagyunk Japán.
olvass vissza nyugodtan, sosem volt egy jó szavam sem a swpatentről. sőt. azt viszont állítom, hogy egy európai szoftver szabadalmi rendszer sokkal rosszabb lenne, mint a jelenlegi amerikai. annyira káros lenne, hogy az már a USAnek sem érdeke, lehetetlen jogi szituációk tömegét hozná, az itteni rossz first2file rendszer miatt.

egyébként tudsz mondani akár egyetlen igazán nagy és neves európai céget, amely computereket gyártana? IBM, HP, Dell, Apple stb itt európában mára valahogy egyetlen ilyen név sem maradt.

"azért nincsenek itt ilyen cégek, mert egy Siemens féle behemót jogi osztálya lecsap mielőtt eljutna a kis garage cég a drága szabadalmaztatásig és ezzel megfojtja már csírájában a vállalkozást."

Ha egy startup szabadalom irányba megy el, már el is b*szta. Szabadalom != termék != Profit forrás.

"írj csak egy európai garage céget, amely egy ötletének köszönhetően annyira sikeres lett, és olyan naggyá tudott válni mint annyi technológiai cég a tengerentúlon. pl Hewlett Packard vagy az Apple stb."

Adidas, Ingvar Kamprad Elmtaryd Agunnaryd ?

http://en.wikipedia.org/wiki/List_of_European_companies ?

tudsz olyan széles körben használt softwaret mondani, amely a USAben nem forgalmazható, mert ott szabadalmat sért, de itt az EUban használják?
ha a ksplice nem lesz a linux kernel része, akkor biztos lehetsz benne, hogy te sem fogod használni, hiába laksz az EUban. nem lesz a Debian nonUs mintájára európai kernel patch csomag.
de prior art miatt, úgyis megsemmisítik a ms szabadalmát, ha perrel fenyegetőzik, ezért előbb utóbb lesz ksplice a kernelben. de ha a USA átáll a first to file európai szabadalmi rendszerre, akkor egy ilyen esetben ki kellene hagyni a kernelből a ksplicet, mert hiába alkalmazták már korábban ezt az eljárást, a szabadalom akkor is a Microsofté lenne. így esély sem lenne rá, hogy bekerüljön a tengerentúli linux kernelbe. és akkor európában sem lenne a kernel része.
plusz barátkozhatnál egy új fogalommal, Patent Warez :D

"tudsz olyan széles körben használt softwaret mondani, amely a USAben nem forgalmazható, mert ott szabadalmat sért, de itt az EUban használják?"

MP3, WMV stb. codec-ek.

"de ha a USA átáll a first to file európai szabadalmi rendszerre, akkor egy ilyen esetben ki kellene hagyni a kernelből a ksplicet, mert hiába alkalmazták már korábban ezt az eljárást, a szabadalom akkor is a Microsofté lenne"

Lehet, hogy rosszul gondolom, de nekem úgy tűnik a Wikipedia alapján, hogy first-to-file rendszerben se szabadalmaztatható olyan, amit korábbna már nyilvánosságra hoztak, pláne megvalósítottak (így a kerék is szabadalmaztatható lenne - tudom, vki megtette, de nem lett komoly következménye -, ha még nem szabadalom), azaz prior art alapon megtámadható. Csak akkor van különbség, ha valaki már korábban kitalálta, de titokban tartotta, és amikor később szabadalmaztatni akarja, más már szabadalmaztatta. USA-ban ekkor a korábbi felfedezőé lesz a szabadalom, máshol marad annál, aki először levédte.

az csak first to invent rendszer esetében igaz. pont ebben rejlik a két rendszer közötti különbség lényege.
first to invent USA rendszer szerint, ha valaki már korábban felfedezte az adott szabadalom által leírt eljárást, és ebből következőleg alkalmazta is azt, akkor prior art alapján megsemmisíthető a szabadalom. azaz nem állhat elő olyan helyzet, hogy más valaki/szervezet birtokába kerül egy olyan szabadalom, amelyet valójában nem is ő fedezett fel/alkalzott először.
ezzel szemben az európai first to file rendszer, az aki kapja marja elvet érvényesíti. ebben a rendszerben egy nagyobb hal simán ellophatja a kisebb innovatív cégek ötleteit. neki bagóba kerül a szabadalmaztatással járó költség, még egy kis feltörekvő cég nem engedheti meg magának, hogy minden apróságot levédessen az EPOnál. de még a nagyobb cégek is megüthetik a bokájukat ha nem eléggé gyorsak. egyetlen módszer, a teljes céges titoktartás, a szabadalom benyújtásáig, az viszont nem használ az innovációnak. eredmény az EU permanens technikai lemaradása a USA mögött.

valóban nincs miért aggódni, digitalunix is már úgy 1.5 évtizeddel a ms szabadalma előtt tudta ezt. pdp11hez nem volt szerencsém, de akkor még korábbi a dolog. szerencsére a USAben first2invent szabadalmi rendszer működik, ezért redmondban legfeljebb zsebkendőként hasznosíthatják a szabadalmukat. itt európában sajnos first2file szabadalmi rendszer van érvényben. itt komoly problémát okozna, ha lenne swpatent, de nincs.

Én nem vagyok hozzáértő, de szerintem abban, hogy lehet ilyet csinálni, nincs semmi szabadalmaztatni való. Abban a mondatban, amit a Microsoft szabadalomból idéztek, még nem lehet szabadalom. Az csak a címe. Szerintem azt a mechanizmust, konkrét kódot lehet szabadalmaztatni, ami lehetővé teszi a címben leírt feladat megoldását. Ha a Ksplice egész máshogy oldja meg, mint a Microsoft-féle program, akkor nem ütközik a két szabadalom. Ez pedig, gondolom egész biztos, mivel a Microsoft Windowshoz írta ezt a cuccát, nem Linuxhoz.

"Szerintem azt a mechanizmust, konkrét kódot lehet szabadalmaztatni"

Azt szerzői jognak hívják.

A szabadalomnak pont ez az egyik felháborító volta, hogy általános mechanizmusokat, algoritmusokat, matematikai absztrakciót, vagy, hogy egy kicsit eltérjünk a témától, géneket illetve fajokat lehet szabadalmaztatni.

De csak a szoftverszabadalomnál van így. Az ipari szabadalmaknál mindig kell adni gyártási leírást is. Vagyis az örökmozgót nem szabadalmaztathatod, csak 1 fajta örökmozgót, aminek a gyártási leírását közzé is teszed. Ha másvalaki másmilyet is tud gyártani, akkor nem követ el szabadalomsértést.
Ellenben a szoftverszabadalmak magát az ötletet védik, és nem a módszert. Ez pedig tényleg felháborító, mert 0 szellemi munkát igénylő dolgokat is le lehet védeni, ami aztán tényleg csak arra jó, hogy kicsesszünk a többiekkel.

Ez egyáltalán nincs így sajnos, mivel például ún. "business process"-t is lehet szabadalmaztatni, tehát például egy céges ügymenetet....

Ez egy sokkal általánosabb probléma mint a szoftverszabadalom, de a szoftverszabadalmak esetén különösen kirívó a jelenség a szakma jellegéből adódóan.

Amikor elöször olvastam ezt a Ksplice játékot már akkor is felötlött bennem, hogy ez lényegében most mint új feature jött ki a 6os AIX-ben, csak ha jól emléxem ott nincs így lekorlátozva, hanem a teljes kernelt engedi cserélni on-the-fly.. Ezek után azért kiváncsi lennék, hogy akkor az IBM is szabadalom sértő, vagy licenszelték a szabadalmat?
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Üllj le és kuss legyen!"..

komplett kernelt az le tudod cserélni a linuxban is a kexec-kel, igaz ott kell valamilyen szintű soft reboot, bár már volt valami kezdeményezés, hogy a kernelek között lehessen ugrálni - talán hibernálással kapcsolatban ..
A kernel -> ami fut
B kernel -> ez ment (hibernálás)
C kernel -> visszatölt (vissatérés)

szerk.: link

debian gnu/linux @ linux-2.6.22.22-op1-rc1 | patch
info

ez az új hibernálási eljárásnak a váza ...
a lényeg az hogy amit használsz kernelt (nevén A kernel), annak a memóriáját lemented egy másik kernellel (B kernel) és ez a B kernel viszi le a gépet hibernált állapotba, hibernáláskor felébredve pedig megint belölt és visszaálltja A kernel memoriaimage-t és visszaugrik A kernelre, így onnan folytatod, ahol abbahagytad

debian gnu/linux @ linux-2.6.22.22-op1-rc1 | patch
info

ebbe a hibernációs témába nem ástam bele magam, se a kexec-be annyira, de kexec-nél van egy force opció, amikor a futó rendszer alá be tudsz rebootolni egy másik kernelt. Ha nem adsz nelo force opciot, akkor egy simpla rebootot csinál, úgy hogy nem bios szinten rebootol. De mostanában láttam lkml-en egy hasonló felvetést, hogy különböző veziójú kernelek cserélgetése menet közben ...

debian gnu/linux @ linux-2.6.22.22-op1-rc1 | patch
info

A PDP-11 csak egy pelda, Amigan is van konkretan erre a celra hasonlo fuggveny, az exec.libraryban (kb. a kernel), SetFunction() neven. Az pont ezt csinalja, since 1985. Az ujabb OS-ekhez adnak is egy "SetPatch" nevu kis programot, ami hibajavitasokat tartalmaz, es megpatcheli a regebbi ROM rutinok ugrotablait, hogy igy a javitott rutin fusson le. De szerintem meg egymillio mas peldat lehetne sorolni... Ez kb. az a kaliber, mint mikor az M$ a duplaklikket is szabadalmaztatta. Ezt a szabadalmat az osszes mai AmigaOS-spinoff (OS4, MOS, AROS) is "serti", hiszen azokban is van SetFunction() vagy annak megfelelo fuggveny.

Szoval, ha a Linux kernelfejlesztok egy ilyen szinten gagyi szabadalomtol tartanak, az meg oket minositi... :)

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Már az is utópia lenne ha felajánlaná a rendszer hogy egy minor kernelfrissítés után leszedi a régit.
Pl. ma Ubuntuban frissült a kernel 2.6.24-16 verzió 2.6.24-17-re. Értem én hogy a kézzel fordított modulokat újra kell fordítani, vagy átmásolni, meg ne vesszen el semmi, de hát ha ezt nem tudják megoldani (belenézünk a /lib/modules/régi kernel moduljai-ba, van-e valami extra benne, ha nincs törölhető) akkor hogy akarják a menet közbeni cserét? Jó ürügy a szerzői jog hogy ne kelljen ezen is töprengeni.
--
the tide is turning

Kb. annyi, mint egy 3rd party motorgyártónak a végső motorkerékpár összeállításához (lásd: Amcsi Motorok, a Harley adja szinte mindegyik custom motorhoz az erőforrást, de mégsincs semmi köze ahhoz, hogy milyen az első villa, vagy netán a tank). A motorgyártó biztosít egy közös alapot. Hogy arra a disztribútorok milyen felépítményt építenek, az a disztribútorok dolga. Vagy szerinted a csomagkezelés kernelszintű feladat lenne és a kernelfejlesztőknek kellene ezen agyalniuk?

--
trey @ gépház

Aki mar szopott be azzal, hogy az atlagnal picit is egzotikusabb hardveren nem indult a frissitett kernel egy-egy ilyen upgrade utan, az halat ad a magassagos egnek, hogy az upgrade nem torli a regi kernelt, es szukseg eseten bebootolhato... Csak igy a margora. A nagy otlet nem mindig nagy otlet... :) (Egyebkent kb. 3 soros shellscript letorolni az aktualis kernelen kivul minden mast, es kb. 10 soros, hogy ezt csomagkezelovel tegye...)

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Úgy látom egy kicsit keverednek a fogalmak a kétféle szabadalmi rendszerrel kapcsolatban.
A first to file és a first to invent csak akkor jön a képbe, ha ketten akarják ugyan azt a találmányt szabadalmaztatni.

A következő esetek lehetnek:
A feltalál mondjuk hétfőn
B feltalál kedden
Egykük sem hozza nyilvánosságra!!!
Megírják a szabadalmakat majd mennek a Hivatalba.
B beér szerdán
A beér csütörtökön

Ekkor Európában B lesz a szabadalmas Amerikában A.

Az ördög persze a részletekben lakik. Európában egyértelmű a helyzet, mert a bejelentés (iktatják a Hivatalban) egy rövid és jól definiált aktus. Amerikában egész más a helyzet, mert ilyenkor neki kell látni annak, hogy bizonyítsák ki talált fel előbb. A feltalálás viszont egy hosszú és nem jól dokumentált folyamat. Jöhetnek az ügyvédek és vitatkozhatnak évekig egyes kutatók laborjegyzetein, hogy az már feltalálás vagy nem.
Egyértelmű, hogy az európai rendszer a jobb.

Van viszont egy másik helyzet is:
A vagy B feltalál bármikor és ezt nyilvánosságra hozza, azaz a megoldáshoz !bárki! - és ez a fontos - hozzáférhet.

Pl. kitalálod a nagy ötletet és beleírod a szakdolgozatotba az már nyilvánosságra került, mert a szakdolgozatok egy példánya bent marad az egyetemen és a könyvtárban bárki által olvasható.

Nos ettől kezdve senkinek még A-nak vagy B-nek sem lehet szabadalma, mert a megoldás a technika állásának (prior art) részévé vált.

Tehát ha valakinek nagyon útjában van egy szabadalom nem kell mást tennie, mint korábbi dátummal megtalálni a megoldást, akár egy felsőmongóliai közkönyvtár felső polcán.

Ezért nem kell félni a gagyi szabadalmaktól, mert ha elkezd hadonászni vele a jogosult egy pillanat alatt (mondjuk egy év) kiütik a kezéből (megsemmisítik) és nem csak a szabadalom bejelentésének és fenntartásának költségét bukja, de még a perköltségeket is.

Szerintem a Virus irok evezredek ota hasznalnak hasonlo technikakat.