Hlavní navigace

Analýza linuxového kódu, který podle tvrzení SCO porušuje jejich autorská práva a obchodní tajemství

Redakce

Dne 18. srpna na své obchodní výstavě, firma SCO ukázala kód, o kterém prohlašuje, že byl zkopírován do Linuxu v rozporu s autorskými právy a obchodním tajemstvím. Překlad komentáře Bruce Perense k této události vám dnes přinášíme.

Německý vydavatel Heise, který vydává populární počítačový magazín c't, pořídil snímky dvou diapozitivů s kódem SCO a zveřejnil je. Zde jsou:

diák č. 1


Tento obrázek obsahuje některé komentáře ze zdrojového kódu systému „System V“ a ukazuje jejich velmi podobnou odpovídající část v Linuxu. Některé komentáře systému System V jsou záměrně znečitelněny použitím řecké abecedy ve fontu Symbol. Nečitelnost můžete odstranit napsáním řeckého textu a změnou zpět na font Latin. Výsledek pak vypadá takto:

* As part of the kernel evolution toward modular naming, the
* functions malloc and mfree are being renamed to rmalloc and rmfree.
* Compatibility will be maintained by the following assembly code:
* (Also see mfree/rmfree below)

Tento komentář je zobrazen nad funkcí v následujícím obrázku. Je směšné, že lidé ze SCO neměli nejmenší tušení, že změna fontu může být lehce odstraněna.

diák č. 2


Kód na tomto obrázku ukazuje několik C-čkovských syntaktických chyb a nešel by přeložit. Takže vlastně nejde o kód v Linuxu. Vidíme ale funkci malloc(), na kterou se tento obrázek odkazuje. Je obsažena v kódu s autorskými právy firmy AT&T a dvakrát vydaném pod licencí BSD: jednou laboratořemi Unix System Labs (AT&T) a podruhé Calderou, firmou, která se dnes nazývá SCO. Některé z vydaných verzí obsahují komentář z prvního obrázku. Vývojáři Linuxu mají legální právo použít tento kód pod touto licencí. Žádné porušení autorských práv SCO ani obchodního tajemství se zde nekoná.

Funkce byla napsána Dennisem M. Ritchie nebo Kenem Thompsonem v AT&T v roce 1973. Objevuje se v obou adresářích „dmr“ a „ken“ v odlišných verzích. Tuto funkci můžete vidět v souboru původně nazvaném dmr/malloc.c. Kód je z Unixu verze 3 (nejstarší známá verze Unixu), která stále existuje ve strojově čitelné podobě. Celý zdroj pro tento systém je k nalezení na síti. V roce 2002 Caldera uvolnila tento kód jako Open Source pod Caldera licencí (pdf). Caldera je samozřejmě ta firma, která se dnes nazývá SCO. Licence velice zřetelně povoluje linuxovým vývojářům použít zmiňovaný kód. Historický záznam o tom, proč Caldera uvolnila tento unixový zdrojový kód veřejnosti, obsahuje některé informace relevantní k soudním případům SCO.

Kód malloc() se také vyskytuje v Lions Commentary on Unix 6th Edition. Lionova kniha byla prvně publikována v roce 1977 bez podmínek na zveřejnění a byla použita jako učebnice universitami, jež si pořídily licenci zdrojového kódu Unixu. AT&T vydávala po nějakou dobu tuto knihu vlastníkům licencí a její fotokopie byla mezi nimi široce používána. Firma Santa Cruz Operation (nyní Tarantella) před svým prodejem Unixu Caldeře (nyní SCO) povolila, aby se kniha zveřejnila bez podmínek v roce 1996.

Další verze tohoto algoritmu byla publikována v The C Programming Language od Kernighana a Ritchieho vydavatelstvím Prentice Hall v roce 1978, očividně bez omezení.

Další verze tohoto kódu nese autorská práva univerzity University of California jako součást BSD Unix systému, který vyrobila pro americkou armádu a uvolnila jako Open Source. Tento kód je též pod BSD licencí a nachází se v souboru vydaném v roce 1984. Je pravděpodobné, že tato verze se dostala do kódu, kterým přispěla firma SGI do Linuxu. Stojí za zamyšlení, jak se tento kód dostal do vlastnictví univerzity.

Na začátku 90. let žalovala Unix Systems Labs (USL) firmy AT&T BSDI, firmu prodávající BSD systém, a kalifornskou univerzitu kvůli tomuto a ještě jinému kódu v BSD systému. Prohlášení, která SCO vydává, jsou velice podobná tomu, co prohlašovala AT&T. AT&T prohrála. Bylo zjištěno, že silně kopírovala od univerzity a tak AT&T spor urovnala. V urovnání univerzita souhlasila s přidáním poznámky o autorských právech AT&T k některým souborům a nadále je distribuovala pod licencí BSD. AT&T souhlasila zaplatit univerzitní výlohy se soudem. (Některé podrobnosti soudního procesu)

Kód AT&T, který byl předmětem soudního procesu, „přežívá“ v dnešním systému SCO. Skupina „vzorkové analýzy“ našla tento kód a správně vyhodnotila, že byl podobný kódu v Linuxu. Ale neudělali další krok  – nezkontrolovali, zda nebyl tento kód uvolněn k legálnímu kopírování.

V podstatě nepotřebujete tým vzorkové analýzy, můžete jednoduše napsat řádky údajně okopírovaného kódu do vyhledávače google.com a ten vám ukáže některá místa, kde byl tento kód poslán na síť.

Zarazilo mne, že by SCO ukázala svůj nejlepší exemplář. To má být on? Starobylý kód z roku 1973, který je na síti již tři dekády a je vydán pod licencí, která ho umožňuje vývojářům Linuxu beztrestně použít. Jestli je toto jejich nejlepší důkaz, jsou odsouzeni k prohře sporu.

Ohlas SCO na tento dokument je „tvrzení proti tvrzení“. Neříkám však, abyste spoléhali na má slova. Představil jsem odkazy na důkazy, jež jsou všechny dostupné na webových stránkách, které nejsou pod mým vlivem. Nikdy jsem vás nežádal o souhlas k utajení. Nezměnil jsem žádné své informace do nečitelného fontu. Bylo by hezké, kdyby se SCO chovala stejným způsobem.

Bylo mi řečeno, že kód, o němž byla řeč, byl vyňat z poslední vývojové větve Linuxu z technických důvodů.

Zdrojem informací k této analýze jsou někteří velmi vstřícní členové linuxové komunity, kteří poslali informace na web Linux Weekly News a stránka velice užitečných informací o SCO případu.

Zdroj: perens.com/Ar­ticles/SCOCopi­edCode.html
Překlad: Tomáš Marek, Beroun

Našli jste v článku chybu?