Oracle подала иск против Google, обвинив компанию в нарушении патентов и авторских прав на Java при разработке Android. Иск был подан в федеральный суд Северного округа Калифорнии. Java досталась Oracle всего за несколько месяцев до этого: 27 января 2010 года компания завершила приобретение Sun Microsystems. Вместе с Sun к Oracle перешли права на технологии Java и связанные с ними патенты и авторские права.

В чём Oracle обвиняла Google

Главной причиной конфликта стал Android.

Google хотела дать разработчикам возможность использовать знакомые им конструкции Java при создании Android-приложений. Для этого в Android были воспроизведены части Java API — интерфейсов, через которые программисты обращаются к стандартным функциям платформы.

Oracle утверждала, что Google сделала это без необходимой лицензии. В первоначальном иске компания также заявила о нарушении семи патентов, принадлежавших ранее Sun. Позднее центральным вопросом дела стали авторские права на Java API.

Спор касался 37 пакетов Java API. Google написала собственную реализацию большей части функций, но использовала структуру API и так называемый declaring code — объявления, позволяющие программистам вызывать знакомые методы привычными командами. В итоге предметом разбирательства стали примерно 11 500 строк такого кода.

Что отвечала Google

Google отрицала нарушение патентов и авторских прав и требовала отклонить требования Oracle. Компания также утверждала, что патенты Oracle недействительны или не были нарушены.

В споре об API позиция Google сводилась к тому, что программистам необходимо было сохранить знакомые имена и организацию команд Java, тогда как непосредственно выполняющий работу код Android Google написала самостоятельно. Позже Google также защищала использование Java API как fair use — допустимое использование защищённого авторским правом материала.

Это различие оказалось ключевым. Google не просто взяла Java и перенесла её на Android. Компания создала другую платформу, но сохранила часть интерфейса Java, чтобы Java-разработчики могли использовать уже знакомые команды.

Дело растянулось на одиннадцать лет

Первый большой раунд закончился в 2012 году преимущественно в пользу Google. Патентные претензии Oracle фактически развалились: часть патентов компания сама исключила из дела, а по оставшимся присяжные не установили нарушения. Судья Уильям Алсуп также решил, что спорная структура 37 API-пакетов и соответствующий declaring code не защищаются авторским правом.

В 2014 году Апелляционный суд Федерального округа отменил важную часть решения: по его мнению, структура и declaring code Java API в принципе могли охраняться авторским правом. Дело вернули в нижестоящий суд, чтобы определить, являлось ли использование Google допустимым fair use.

В 2016 году новое жюри присяжных решило уже этот вопрос в пользу Google: использование Java API в Android было признано fair use.

Oracle снова подала апелляцию — и снова добилась успеха. В 2018 году Федеральный округ решил, что использование Google не являлось fair use. Суд указал, среди прочего, на коммерческий характер Android и возможное влияние Android на рынок Java.

Теперь уже Google обратилась в Верховный суд США.

Чем всё закончилось

5 апреля 2021 года Верховный суд США поставил точку в споре.

Суд специально не стал окончательно отвечать на более широкий вопрос о том, защищаются ли Java API авторским правом. Вместо этого судьи предположили, что такая защита существует, и рассмотрели действия Google с точки зрения fair use.

Верховный суд решил, что использование Google было допустимым. Особое значение имело то, что Google использовала только ту часть интерфейса, которая была необходима программистам для работы со знакомыми командами, а собственно реализующий их код компания написала сама. Android при этом использовал эти элементы в новой среде — на смартфонах.

Таким образом, один из самых важных судебных споров в истории программного обеспечения закончился победой Google спустя почти 11 лет после подачи первоначального иска.

Дело оказалось значительно шире обычного спора двух корпораций. Вопрос фактически заключался в том, насколько свободно разработчики могут повторно реализовывать программные интерфейсы других систем. Верховный суд не объявил API вообще свободными от авторского права, но подтвердил, что их повторное использование при определённых обстоятельствах может считаться fair use.

Источники