Юристы Oracle сравнивают реимплементацию Java API в Android с копированием содержания «Гарри Поттера»,
В начале этого года Верховный суд США рассмотрит важное дело
В то же время бизнес Oracle изначально построен на имплементации языка программирования SQL, разработанного IBM, да и сейчас компания предлагает облачный сервис с API из Amazon S3, и это совершенно нормально. Реимплементация API была естественной частью развития информатики с самого зарождения отрасли.
Oracle обвиняет Google в незаконном копировании Java API, в том числе списка именованных команд, привязанных к грамматическим структурам. Операционная система Android специально совместима с Java API, чтобы Java-программистам было проще перенести программное обеспечение и знания на новую платформу. Для этого Android точно скопировала соответствующие команды Java API и грамматические структуры.
Но Java API — не единственные API, а Android — не единственная реимплементация. В современной IT-индустрии API встречаются повсеместно, а повторное внедрение фундаментально важно для сохранения конкуренции, чтобы предотвратить монополию крупных фирм,
Дюан приводит пример популярной платформы хранения данных Amazon S3. Чтобы позволить запись и извлечение файлов с S3, Amazon разработала всесторонний,
GET /?Delimiter=Delimiter&EncodingType=EncodingType&Marker=Marker&MaxKeys=MaxKeys&Prefix=Prefix HTTP/1.1
Host: Bucket.s3.amazonaws.com
x-amz-request-payer: RequestPayer
Amazon является явным лидером на рынке облачных сервисов, а её конкуренты предлагают реимплементацию API S3, при этом им приходится имитировать названия команд, теги параметров, префиксы типа x-amz, грамматическую структуру и общую организацию API S3. Другими словами, всё то, что, по утверждению Oracle, защищено авторским правом.
Среди компаний, предлагающих копию API Amazon S3,
Oracle уверяет, что законность её действий основана на опенсорсной лицензии Apache 2.0, которая позволяет свободное копирование и изменение кода. Например,
Но вопрос в том, применимо ли вообще законодательство об интеллектуальной собственности к таким объектам, как API. Именно это должен установить Верховный суд.
Кто изобрёл API?
Термин и понятие «библиотеки подпрограмм» (subroutine library) впервые появилось в книге Хермана Голдстайна и Джона фон Неймана «Планирование и кодирование проблем для электронного вычислительного инструмента» — часть II, том III (Институт продвинутых исследований Принстонского университета, 1948),
Это первое описание методологии программирования для компьютеров с сохранением программ в памяти (ранее таковой не существовало). Она широко разошлась по университетам, которые в то время пытались создать собственные вычислительные машины. И главное, книга содержит ключевую идею: большинство программ будет использовать общие операции, а библиотеки с подпрограммами уменьшат количество нового кода и ошибок. Эту идею доработал Морис Уилкс и применил на практике в машине EDSAC, за что получил премию Тьюринга 1967 года.
Библиотека подпрограмм EDSAC стоит слева
Следующим шагом было создание функций более высокого порядка и полноценных программных интерфейсов, что сделали Морис Уилкс и Дэвид Уилер в книге «Подготовка программ для электронного цифрового компьютера» (1951).
Сам термин Application Program Interface (API) появился где-то в конце 60-х.
Автор презентации
API
Создатель
Год
Повторная реализация
Год
Библиотека FORTRAN
IBM
1958
Univac
1961
IBM S/360 ISA
IBM
1964
Amdahl Corp.
1970
Стандартная библиотека С
AT&T / Bell Labs
1976
Mark Williams Co.
1980
Системные вызовы Unix
AT&T / Bell Labs
1976
Mark Williams Co.
1980
VT100 Esc Seqs
DEC
1978
Heathkit
1980
IBM PC BIOS
IBM
1981
Phoenix Technologies
1984
MS-DOS CLI
Microsoft
1981
FreeDOS Project
1998
Набор команд Hayes AT
Hayes Micro
1982
Anchor Automation
1985
PostScript
Adobe
1985
GNU/GhostScript
1988
SMB
Microsoft
1992
Samba Project
1993
Win32
Microsoft
1993
Wine Project
1996
Библиотеки классов Java 2
Sun
1998
Google/Android
2008
Веб-API Delicious
Delicious
2003
Pinboard
2009
Источник:
Копировать и повторно использовать API (библиотеки, наборы инструкций) — это не только правильно, но такая методология программирования прямо рекомендуется в канонах информатики. Ещё до копирования программных интерфейсов S3 сама компания Oracle неоднократно делала это. Более того, бизнес Oracle изначально построен на имплементации языка программирования SQL, разработанного IBM. Первым флагманским продуктом Oracle стала СУБД, во многом скопированная с IBM System R. В данном случае речь идёт о реимплементации SQL как «стандартного API» для СУБД.
Наложение интеллектуальных прав на интерфейсы API может создать юридическое минное поле, от которого пострадают все. Интерфейсы API реализуют и
Чтобы избежать этих далеко идущих последствий, Oracle и апелляционный суд, поддержавший её аргументы, попытались ограничить нарушение копирайта оишь некоторыми реимплементациями API, которые «несовместимы» с оригиналом. Но частичные реимплементации тоже
Главная опасность иска Oracle заключается в том, что он может помешать небольшим технологическим компаниям создавать версии систем, совместимые с доминирующими платформами, такими как S3. Без такой совместимости программисты будут фактически заблокированы в предложениях этой фирмы.
Представителям индустрии и разработчикам остаётся надеяться, что разум здесь восторжествует, а
Источник: habr.com