Найти тему
ServerNews

Очередная попытка «обойти» GPL в Linux: подсистема NetGPU не попадёт в основную ветку ядра

Насколько далеко и глубоко должна распространяться «вирусность» лицензий GPL, вопрос почти философский. В особенности, когда речь идёт о сложных программных комплексах, где от проприетарных разработок, вплотную взаимодействующих с открытыми, избавиться непросто. Для таких случаев придуманы обходные пути, которые нередко пытаются эксплуатировать не слишком корректным образом.

Например, в ядре Linux для проприетарных драйверов принято использовать небольшую прослойку между, которая, по большому счёту, занимается трансляцией обращений драйвера к ядру. Такая прослойка имеет открытый код, так что все необходимые формальности по взаимодействию с остальным кодом под лицензией GPL в Linux соблюдены. Впрочем, противники такого формального подхода появились сразу же после его внедрения.

Масла в огонь подлил недавний набор патчей от одного из инженеров Facebook, реализующий новую подсистему NetGPU, которая сама по себе, к слову, весьма интересна. Она позволяет организовать прямой обмен данными между сетевым адаптером и GPU, оставляя за центральным процессором только обработку протокола. Собственно говоря, на базе этой подсистемы можно сделать достаточно общую реализацию RDMA для обмена данными между GPU или с внешней СХД.

Основная проблема конкретного этого набора патчей в том, что он намертво привязан к проприетарным драйверам NVIDIA, но при этом пытается попасть в основную ветку ядра Linux, куда нужные драйверы, естественно, не входят. Разработчик оправдывает такой шаг тем, что, возможно, когда-нибудь появятся реализации и для открытых драйверов AMD, Intel или той же NVIDIA. Грег Кроа-Хартман (Greg Kroah-Hartman), отвечающий за сопровождение стабильной ветви ядра, предложил автору заручиться подписью юриста и использовать корпоративный адрес, чтобы было понятно, кому потом можно будет переадресовать возможные претензии. Ну а пока NetGPU официальными путями в ядро не попадёт.

Другой известный разработчик Linux, Кристофер Хеллвиг (Christoph Hellwig), знаменитый тем, что когда-то инициировал иск к VMware по поводу возможного нарушения GPL, выразился несколько более грубо, но прямо, назвал автора патчей троллем и в очередной раз предложил навсегда избавиться от подобных прослоек, подготовив свою серию патчей для их блокировки.