Анализ кода Linux, который нарушает копирайт SCO Версия для печати   


18 августа на конференции в Лас-Вегасе SCO показала код, который, по их утверждениям, был скопирован в Linux с нарушением их копирайтов и коммерческой тайны. Немецкое издание Heise сфотографировало два слайда из презентации SCO и опубликовало их.

На первом фото показано сходство какого-то комментария из исходного кода Unix System V с комментарием в Linux. Часть комментария из System V сделана нечитаемой при помощи греческих букв из шрифта Symbol. Набрав этот текст по-гречески и переведя его обратно в латинский шрифт, можно разобрать, что было написано. Вот результат:

* В порядке развития ядра в направлении модульного наименования,
* функции malloc и mfree были переименованы в rmalloc и rmfree.
* Совместимость будет поддерживаться следующим ассемблерным кодом:
* (См. также mfree/rmfree ниже).

Этот комментарий есть и над функцией на следующем слайде. Забавно, что люди в SCO не догадываются, как просто обойти все их хитрости со сменой шрифта. Я рад, что не они занимаются обеспечением безопасности моего компьютера. :-)

В коде со слайда есть несколько синтаксических ошибок в C, и скомпилировать его невозможно. Так что он вряд ли точно соответствует какому-то коду из Linux. На слайде мы видим функцию malloc. Она входила в код, копирайт на который принадлежал AT&T. Он был дважды выпущен под лицензией BSD: в первый раз это сделала Unix Systems Labs (AT&T), а потом компания Caldera, та самая, которая теперь зовёся SCO. Разработчики Linux имеют законное право использовать код, опубликованный под этой лицензией. Никакого нарушения копирайта или коммерческой тайны SCO тут нет.

Функция malloc была написана Деннисом Ричи или Кеном Томпсоном в AT&T в 1973 году. Она появляется в каталогах dmr и ken в разных версиях. Вы можете найти её в файле, первоначально называвшемся dmr/malloc.c. Он входил в Unix третьей версии, старейшей из версий Unix, сохранившейся в машиночитаемом виде. Полные исходники этой операционной системы могут быть найдены в Сети. В 2002 году Caldera открыла её исходники. Caldera - это, конечно, компания, которая теперь зовётся SCO. Лицензия, под которой система была выпущена, явно разрешала использовать данный код.

Код функции malloc() также обнаруживается в книге "Lions Commentary on Unix 6th Editon". Книга впервые опубликована в 1977 году на условиях нераспространения и использовалась в качестве учебника в университетах, которые лицензировали исходный код Unix. AT&T одно время поставляла эту книгу владельцам лицензии на Unix. Самодельные отксеренные варианты книги тоже были широко распространены. В 1996 году компания Santa Cruz Operation (ныне Tarantella), ещё до того, как продала права на Unix компании Caldera (т.е. SCO), разрешила продажу этой книги без всяких ограничений.

Ещё одна версия этого алгоритма была опубликована в 1978 году в классической книге "Язык программирования С" Кернигана и Ричи. Тоже без ограничений.

Другая версия этого же кода распространяется под копирайтом университета Калифорнии как часть BSD Unix. Тот код тоже проходит под лицензией BSD, и может быть найден в файле, который датируется 1984 годом. Похоже, что именно отсюда он попал в руки компании SGI, которая затем поместила его в Linux.

В начале девяностых AT&T Unix System Labs судились с BSDI, поставщиком операционной системы BSD, и университетом Калифорнии по поводу этого и другого кода в BSD. Претензии SCO очень похожи на тогдашние претензии AT&T. AT&T проиграла. Оказалось, что AT&T активно заимствовала код у университета без указания источника. В итоге AT&T договорилась о внесудебном решении. Согласно ему, университет согласился добавить уведомление о копирайте AT&T в некоторые файлы, при этом продолжая распространять их на условиях лицензии BSD. AT&T, в свою очередь, возместила университету судебные издержки.

Код AT&T, который был поводом той тяжбы, сохранился в современной системе SCO. "Команда поиска совпадений" SCO отыскала его и совершенно справедливо заключила, что он похож на код в Linux. Но они не сделали второго шага и не проверили, не дал ли кто-то другой законных оснований для заимствования кода.

На самом деле, вам не нужна никакая "команда поиска совпадений" - вы просто можете ввести строку из подозрительной программы в Google, и Google покажет некоторые из мест, откуда этот код был опубликован в Сети.

Поразительно, ведь SCO, похоже, показала свой лучший пример. И это всё? Древний код из 1973 года, который тридцать лет пылился повсюду в интернете и был выпущен под лицензией, позволяющий разработчикам с полным правом использовать его?

Я не прошу вас верить мне на слово. В оригинале можно найти ссылки на мои источники. Они расположены на сайтах, которые неподконтрольны мне. И я ничего не скрывал при помощи нечитаемых шрифтов. Было бы мило, если SCO поступала бы так же.

Опубликовал: Buddha
Дата: 21.08.2003 | 21:33
Источник: http://forum.sharereactor.ru/index.php?act=ST&f=24&t=13405
постоянный адрес статьи: http://linuxportal.ru/novost.php/P548_0_2_0/