Код
#статьи

Copilot от GitHub — угроза свободному ПО или великий уравнитель?

Стоит ли переносить авторские права на код, который генерирует Copilot от GitHub — новый нейросетевой помощник разработчика. Что выгоднее для отрасли?

Meery Mary для Skillbox Media

Мэтью Гаррет

(Matthew Garrett)


об авторе

Активист свободного ПО, разработчик систем управления электропитанием, прошивок для Linux и мобильных устройств. Разработчик систем безопасности в Aurora Innovation Inc. Бывший биолог.


Ссылки


GitHub недавно представил Copilot («второй пилот». — Пер.) — систему машинного обучения, которая помогает писать программы, дополняет код разработчиков с учётом контекста и даже стиля написания.

Copilot обучается на всём общедоступном коде с GitHub, и в этом наборе данных много свободного программного обеспечения (free software). Однако представители GitHub утверждают, что результат работы сервиса принадлежит его пользователям. При этом в GitHub не скрывают, что порой Copilot целиком воспроизводит фрагменты кода из обучающего набора. И прежние лицензии при этом игнорируются.

Неудивительно, что у многих пользователей возникают вопросы, например:

«Если Copilot добавил в мой код фрагменты другой программы, которая защищена универсальной общественной лицензией (GPL), распространяется ли теперь эта лицензия и на мой код?»

Очень правильные вопросы — но за всем этим стоит более серьёзная проблема. Даже в коде с разрешительной лицензией вроде BSD требуется сохранять дисклеймер — уведомление об авторских правах и отказе от ответственности. Не сделать этого — значит так же нарушить авторские права, как и позаимствовать GPL-код без соблюдения условий лицензии.

Принцип простой: если ваш код — вторичное произведение, которое содержит код лицензированной программы, то вы обязаны соблюдать условия лицензии.

Но похоже, GitHub полностью уверен, что по законам США об авторском праве результаты работы Copilot — это вовсе не производные произведения. Только в этом случае лицензии программ, на которых сервис обучается, неприменимы к результатам его работы.

Это атака на свободное ПО?

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

Фактически механизмы Copilot позволят отмывать GPL-код в проприетарном ПО.

Я не берусь судить, обоснованно ли действует GitHub, потому что не силён в праве, — да и прямо сейчас мне неинтересно это выяснять. Меня больше волнует, что будет со свободным ПО, если GitHub прав и если он ошибается.

Что лучше для будущего?

Какое прекрасное далёко для нас выгоднее:

  • где результаты работы Copilot и аналогичных проектов будут считать производными произведениями;
  • или где творчество Copilot не будет ограничено лицензиями программ, на которых он обучался.

Когда ты активист свободного ПО и много делаешь для соблюдения GPL, легко принять Copilot в штыки — увидеть в нём угрозу универсальной общественной лицензии, инструмент ослабления свободного ПО. Сперва я воспринял новинку именно так, но за последние дни моё мнение поменялось.

Заглянем в манифест GNU:

Права на интеллектуальную собственность — всего лишь одна из общественных договорённостей. Разрешения и запреты люди одобряют, потому что верят — общество в целом от этого только выиграет. Но мир не стоит на месте. Поэтому надо постоянно спрашивать себя: а действительно ли мы выигрываем, перенося традиционные условия на нечто новое, на то, чего раньше просто не было.

Например, программы — это не бумажные книги, а их распространение не похоже на книгопечатание. Программу легко скопировать у соседа. У программы есть исходники и исполняемый машинный код, которые отличаются друг от друга. Программой не наслаждаются, не зачитываются ею — программу просто используют.

То есть каждый, кто требует соблюдения авторских прав в области ПО, вредит всему обществу — и материально, и морально. Никому не следует этого делать, независимо от того, на его ли стороне закон.

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

Если бы авторское право не распространялось на программное обеспечение, GPL была бы не нужна — и Столлман был бы счастлив!

GPL появилась не от хорошей жизни, это вынужденное решение: авторское право делает возможным существование проприетарного ПО — и этому нужен противовес. Без GPL код из свободного ПО запросто можно было бы переносить в проприетарные проекты. А после этого его уже нельзя использовать совместно.

GPL применяет правовые инструменты, которые гарантируют, что код можно будет использовать совместно. Но те же инструменты помогают создателям проприетарного ПО ограничивать доступ к своему коду. Они пытаются запретить нам изучать исходники — чтобы мы просто-напросто не поняли, как их код работает. И они утверждают, что любой, кто это делает, поступает недобросовестно — мол, вносить такой код в свободное ПО нельзя, потому что результат будет считаться производным от их произведения.

В общем, чем шире трактовать понятие «производного произведения», тем выгоднее это авторам проприетарного ПО. Например, если бы суд принял аргумент Oracle о том, что API должен охраняться авторским правом, это стало бы катастрофой для свободного ПО.

Примечание переводчика

Речь идёт о деле Oracle против Google. Суть спора: в API Android есть фрагменты, которые очень напоминают части API Java, и представители Oracle сочли это нарушением авторских прав.

Процесс длился больше десяти лет. В итоге Верховный суд США принял сторону Google. Читайте хронику и подробный разбор.

Если бы в споре Apple против Microsoft суд решил, что Microsoft нарушила авторские права, мы могли бы сегодня жить без свободного ПО для настольных ПК.

Примечание переводчика

В 1988 году Apple подала иск против Microsoft. Яблочники обвинили разработчиков Windows 2.0 — мол, они сплагиатили элементы графического интерфейса, которые до этого применялись только в macOS.

Причём Apple перечислила среди «украденного» вообще все визуальные новшества, которые в принципе можно было описать, — в том числе и само наличие окон.

Разборки длились шесть лет. Это был первый крупный судебный процесс, в котором Apple проиграла.

Когда мы поворачиваем закон об авторском праве так, чтобы он лучше отстаивал интересы GPL, мы одновременно усиливаем власть корпораций с их огромным штатом юристов. Так что посмотрим на ситуацию с другой стороны.

И нашим и вашим?

Если в GitHub верно понимают закон об авторском праве, значит, систему можно обучать не только на свободном ПО, но и на проприетарном — и генерировать новый код, не боясь обвинений в плагиате. Пусть сам проприетарный код не станет достоянием общественности, но вот идеи и подходы из него — станут. Больше не придётся беспокоиться о том, насколько схожи ваш и чужой алгоритмы, — просто начните кодить и позвольте Copilot взять все риски на себя.

С другой стороны, неизвестно, сколько GPL-кода попадёт в проприетарные проекты и сколько проприетарного кода станет свободным. Обнадёживает, что основная часть кода на GitHub публикуется не под свободными лицензиями и у Copilot точно есть к нему доступ.

Какая из сторон получит больше? Я не знаю, как это оценить. Зато знаю другое: движение за свободное ПО основано на убеждении, что авторское право не должно ограничивать развитие и распространение софта. А в случае с Copilot позиции авторского права, очевидно, расшатываются.

* * *

Подобные моим аргументы приводит Юлия Реда. Но она сосредоточилась на юридической стороне вопроса и рассказала, почему абсурдно переносить лицензии с обучающих данных на выдачу Copilot.



Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Администрирова­ние ОС Linux Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована