Съдебен спор между Google и Oracle определя бъдещето на софтуера

Съдебно решение може да сложи край на практиките за модерна разработка на софтуер
(снимка: CC0 Public Domain)

Цяла генерация софтуер, изграден на база споделени разбирания за оперативната съвместимост, е изправена пред несигурно бъдеще: то ще зависи от резултата от дългогодишна съдебна борба между Google и Oracle.

На 7 октомври в най-висшия американски съд ще се гледа дело, което е продължение на дългогодишен спор между Oracle и Google относно това дали един важен инструмент в съвременното разработване на софтуер – приложните програмни интерфейси – може да бъде обект на защита на авторските права. Решението на съда може да сложи край на дългогодишните практики, които стоят зад модерната разработка на софтуер.

След като Google взе надмощие в първоначалния процес, свързан с използването на Java в мобилната операционна система Android, две последващи решения на апелативни съдилища потвърдиха аргумента на Oracle, че приложните програмни интерфейси (API) могат да се считат за защитени творби.

Съвременният софтуер се основава на предпоставката, че няма смисъл да се дублират някои от най-основните части на приложенията, особено частите, които улесняват взаимодействието на един софтуер с друг. Но сега, когато е почти невъзможно да си представим съвременния свят без богатата мрежа от приложения, обхванала всяко кътче от живота ни – и то най-често чрез API – се оказва, че който контролира взаимодействията между софтуерите, контролира голяма част от световната икономика.

Ако аргументът на Oracle бъде потвърден, това може да „стопи” софтуерната индустрия. Разработчиците имат основания да се страхуват. Решение в полза на „оракула” може да насърчи по-старите технологични компании, търсещи растеж, да отстояват авторски права върху широк спектър от съвременен софтуер, аргументирайки се, че много от съвременните приложения не биха съществували без тяхната някогашна работа.

Ако решението е в полза на Oracle, това определено би разтърсило софтуерната общност – особено разработчиците на системи с отворен код, които създадоха базата за цяло поколение съвместно разработван корпоративен софтуер. Ще стане много по-трудно стартирането на нови софтуерни компании. Много стартъп идеи ще останат удавени и невъзможни за реализация. Може да се очаква, че ще се консолидира мощта на съвременните компании за различни софтуерни платформи, които контролират все по-голяма част от технологичния свят.

„Много софтуер, който би могъл да бъде написан, в крайна сметка няма да бъде написан в резултат на подобно решение”, обяснява Нел Шамрел-Харингтън, бивш старши инженер-изследовател в Mozilla, който е активен в софтуерните общности с отворен код. „Приложните програмни интерфейси са градивните елементи на мрежата”, допълва той в публикация по темата на Protocol.

Идва Sun

Спорът започва преди 10 години, след придобиването на Sun Microsystems от страна на Oracle през 2009 г. Sun е създателят на Java – изключително важен програмен език и платформа за разработка на софтуер, която е основата за огромен брой свързани с интернет приложения в края на 90-те и началото на 2000-те години. Повече от 25 години по-късно Java остава петият най-широко използван език за програмиране сред професионалните разработчици на софтуер, според тазгодишното проучване на Stack Overflow.

Когато Google започва разработката на Android, фирмата иска да използва някои ключови части на API на Java в ядрото на Android, но не успява да сключи лицензионна сделка със Sun. Затова Google по същество дублира тези части на Java в Android. Същевременно тя използва някои кодове, свързани с Java API, взети от версия на Java с отворен код. Компанията вярва, че това действие е защитено от принципите на честната употреба и по-късно журито на съда се съгласява с подобна теза.

API са „съединителната тъкан” на съвременния софтуер. Ако използвате софтуер, който работи съвместно с друг софтуер – а това се отнася до почти всичко, което сега използваме – то това взаимодействие често се управлява от API. Приложните програмни интерфейси определят основните правила за това как софтуерните програми „говорят” помежду си и си обменят информация.

Кратка справка в подкрепа на аргумента на Google, подписана от 83 видни компютърни учени, обяснява ситуацията по следния начин:

„Софтуерните интерфейси, включително онези, въплътени в разглеждания тук интерфейс за приложно програмиране на Java (API), са чисто функционални системи или методи за управление на компютърна програма или платформа. Те не са компютърни програми сами по себе си. Интерфейсите описват какви функционални задачи трябва да изпълнява една компютърна програма, без да определят как да го прави”.

Няма много нови начини софтуерните програми да обменят информация, затова по-голямата част от API са функционално еднакви. Те може да не използват абсолютно еднакъв код, но постигат почти едно и също нещо.

„Няма причина да се преобразува структурата на прилагането на софтуера”, казва Шамрел-Харингтън.

Червена лампа

Oracle твърди обаче, че внедряването на Java API в Android е „твърде подобно” на начина, по който инженерите на Sun са внедрили тези API. Затова през 2010 г. Oracle решава да съди Google за нарушаване на авторски права и патенти. Патентният иск е отхвърлен по време на първоначалния процес. След това обаче делото отива на по-висша инстанция, където апелативните съдилища решават в полза на Oracle.

Петима професори, съветващи Върховния съд по гледната точка на Oracle, твърдят, че API всъщност могат да бъдат израз на творческа енергия. „Както показва нашето изследване, дори най-простата компютърна програма може да бъде изразена по много начини”, пишат те в доклад. „Тъй като програмите стават все по-сложни, броят на уникалните решения също се увеличава”.

Това е нюансът, който вбесява и ужасява хората в софтуерната общност – особено тези, работещи за малки и средни компании, където API-та рядко се смятат за нещо по-интересно от водопровода. Тъй като твърде много приложни програмни интерфейси (API), използвани в практиката, са функционално сходни, то всеки, който може да твърди, че първоначално е разработил тези методи на приложния програмен интерфейс, ще може и да претендира за защита на авторските права върху тези методи в широк спектър от софтуер – дори софтуер, напълно несвързан с оригиналния интерфейс.

„Мисля, че в много от тези случаи би било много лесно да се препънете на място, където неволно извършвате нарушение”, каза Адам Джейкъб, съосновател и бивш главен технологичен директор в Chef и настоящ главен изпълнителен директор на стартъпа „The System Initiative”.

Кайл Мичъл, адвокат, който съветва компаниите по въпросите на лицензирането на софтуер, сравнява методите за изграждане на API със съветите и триковете, които майсторите придобиват, докато натрупват опит в определена професия, например дърводелството. Тези така наречени „тайни” на професията са открито знание сред ветераните от професията. Ала се изискват известни умения и търпелив наставник, за да ги придобие младият чирак; все пак никой не „притежава” знанията, необходими за построяването на стена, например.

Победата на Oracle би отворила вратите към цяла нова ера на съдебни спорове, казва Ван Линдберг, адвокат по интелектуална собственост в адвокатска кантора Taylor English и член на борда на директорите на фондацията Python Software Foundation. „В краткосрочен план това ще бъде огромен неочакван подарък за малък брой компании, притежаващи интерфейси, които много хора използват”, казва той. „Тези интерфейси изведнъж ще се окажат нови контролни точки, които хората ще могат да използват, за да извличат приходи от други компании заради правото да използват нещо, което преди се е разбирало като безплатно”.

Ситуацията е усложнена допълнително заради отлагането на гледането на делото, което се наложи заради пандемията. Първоначално то бе насрочено за март. Това се оказа предизвикателство за Google поради смъртта на съдията Рут Бадер Гинсбург. Сега във Върховния съд има само осем съдии, което означава, че за да спечели, Google трябва да си осигури подкрепата на поне петима от съдиите. При равенство на мненията на съдиите ще последва ново отлагане.

Тънка граница

В дългосрочен план свят, в който API-тата са обект на защита на авторските права, това всъщност може да бъде благодат за някои стартиращи компании, които разработват интересни и полезни API-та за софтуер, твърди Джейкъб. „В свят, в който API може да се защитава с авторско право, това е чисто нов вектор на контрол”, казва той. Като се има предвид всичко, казано дотук, той би предпочел Върховният съд да се произнесе в полза на статуквото за API. Ала софтуерният бизнес и друг път е принуждавал участниците си да се адаптират бързо към промените на посоката на вятъра.

Голяма част от проблема е, че в продължение на две десетилетия софтуерът е конструиран без ясна правна насока за това как (или дали) API трябва да бъдат обект на защита на авторските права, казва Мичъл. Победата за Oracle няма да внесе незабавна яснота по въпроса. Тя обаче ще послужи като начало на нов кръг от правни спорове.

Фирми от софтуерната индустрия като Oracle и Google няма да пострадат. Те ще се оправят, независимо какво ще решат да гласуват съдиите. В края на краищата подобни компании имат милиарди долари в брой и армии от адвокати, които ще им позволят да изгладят лицензионните споразумения и да запазят оперативната съвместимост на своите ключови продукти.

Но победата на Oracle може да върне разработването на софтуер обратно в една тъмна ера – в света на т.нар. силози, където само софтуерът, създаден от един доставчик или от консорциум от мощни доставчици, може да има предимствата на оперативната съвместимост, които са направили съвременния интернет толкова завладяващ.

Коментар