Компания Oracle, возможно, нарушает GPL при использовании ядра Linux

Материал из Викиновостей, свободного источника новостей

11 мая 2014 года

Мэтью Гаррет, известный разработчик ядра Linux и лауреат премии за вклад в развитие свободного ПО, попытался привлечь внимание общественности на возможное нарушение условий лицензии GPL при использовании ядра Linux в продуктах Oracle. Добившись в апелляционном суде признания, что API является объектом интеллектуальной собственности, компания Oracle нарушила статус кво, поэтому компанию следует вывести на чистую воду, разоблачив нарушения GPL, на которые ранее сообщество закрывало глаза.

Речь ведётся о нарушении требования экспорта внутренних компонентов ядра под лицензией GPL. Части внутреннего API ядра, попадающие в категорию EXPORT_SYMBOL_GPL, могут быть использованы только из кода, распространяемого под лицензией GPL. Oracle же широко использует данные вызовы в компонентах DTrace, поставляемых под несовместимой с GPL лицензией CDDL. Поддержка DTrace интегрирована в ядро Unbreakable Linux и реализована не в виде полностью обособленного модуля, а через смешивание кода. При этом в код ядра добавлены прослойки, поставляемые под GPL, но данные прослойки используются только для обеспечения работы модуля DTrace, поставляемого под лицензией CDDL.

Нет однозначного мнения, могут или нет подобные изменения рассматриваться как создание производного продукта, на который распространяются требования GPL. С другой стороны, использование внутренних вызовов ядра, попадающих в список EXPORT_SYMBOL_GPL, автоматически переводит любую надстройку в категорию производной работы, которая должна поставляться под GPL.

Oracle пытается обойти ограничения EXPORT_SYMBOL_GPL через повторный экспорт GPL-вызовов. Например, Oracle создаёт поставляемую под GPL функцию dtrace_gethrtimer(), суть которой сводится к вызову ktime_get(). Функция ktime_get() включена в список EXPORT_SYMBOL_GPL и не может быть вызвана из модуля DTrace, но функция dtrace_gethrtimer() формально не включена в список EXPORT_SYMBOL_GPL, т.е. к ней можно обратиться из модуля под лицензией CDDL.

Легальность создания подобных обёрток, осуществляющих реэкспорт закрытых частей API, вызывает большие подозрения и требует юридической экспертизы. Если в суде удастся доказать, что использование реэкспортированных GPL-функций приводит к созданию производной работы, то Oracle не сможет утверждать, что данное нарушение было случайным. Выходом из сложившейся ситуации могла быть поставка кода DTrace под двойной лицензией GPL+CDDL, но Oracle продолжает поставлять DTrace только под CDDL, не опасаясь исков о нарушении лицензионного соглашения.

Кроме того, возникает резонный вопрос, если Android нарушает интеллектуальную собственность Oracle используя Java API, то и Oracle нарушает интеллектуальную собственность разработчиков ядра Linux, повторяя API в реализации прослойки совместимости с Linux из состава Solaris 10. Т.е. Oracle может использовать в Solaris собственную реализацию частей API, изначально переданных в ядро Linux компанией Google, нарушая таким образом её права.

Примечание: Блог Мэтью Гаррета, а также блоги некоторых других разработчиков открытого ПО, могут быть недоступны на территории РФ, так как уже более года блогоплатформа dreamwidth.org занесена в Реестр запрещенных на территории РФ сайтов.

Источники[править]

Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Компания Oracle, возможно, нарушает GPL при использовании ядра Linux», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.