Oracle sendiri menyalin API dari Amazon S3, dan itu tidak masalah


Pengacara Oracle membandingkan implementasi ulang Java API di Android dengan menyalin konten Harry Potter, pdf

Awal tahun ini, Mahkamah Agung AS akan mempertimbangkan kasus Oracle yang penting terhadap Google , yang akan menentukan status hukum API sesuai dengan undang-undang tentang kekayaan intelektual. Jika pengadilan memihak Oracle dalam gugatan bernilai miliaran dolar, pengadilan dapat melumpuhkan persaingan dan memperkuat dominasi raksasa teknologi, mungkin termasuk Google sendiri.

Pada saat yang sama, bisnis Oracle pada awalnya dibangun di atas implementasi bahasa pemrograman SQL yang dikembangkan oleh IBM, dan bahkan sekarang perusahaan menawarkan layanan cloud dengan API dari Amazon S3, dan ini sepenuhnya normal. Implementasi ulang API telah menjadi bagian alami dari pengembangan ilmu komputer sejak awal industri.

Oracle menuduh Google menyalin Java API secara ilegal, termasuk daftar perintah yang disebutkan terikat dengan struktur tata bahasa. Sistem operasi Android secara khusus kompatibel dengan Java API untuk membuatnya lebih mudah bagi programmer Java untuk mentransfer perangkat lunak dan pengetahuan ke platform baru. Untuk melakukan ini, Android secara akurat menyalin perintah Java API yang sesuai dan struktur tata bahasa. Argumen Oracle adalah bahwa "implementasi ulang" dari API Java dapat dibandingkan dengan menyalin karya penulis, seperti novel sastra Harry Potter (ini adalah contoh nyata yang dikutip oleh pengacara Oracle ), dan Google melanggar hak cipta Oracle atas nama perintah dan struktur Java. API

Tetapi Java API bukan satu-satunya API, dan Android bukan satu-satunya implementasi ulang. API ada di mana-mana di industri TI modern, dan implementasi ulang pada dasarnya penting untuk mempertahankan persaingan untuk mencegah monopoli perusahaan besar, kata Charles Duan, direktur kebijakan teknologi dan inovasi di R Street Institute.

Duan memberikan contoh platform penyimpanan Amazon S3 yang populer. Untuk memungkinkan penulisan dan ekstraksi file dari S3, Amazon telah mengembangkan API yang komprehensif dan terperinci untuk berinteraksi dengan layanan. Sebagai contoh, untuk mendapatkan daftar file yang disimpan ( ListObjects ), kami mengirim perintah GET dengan host dan parameter tipe -tipe encoding , kelanjutan-token dan x-amz-date . Untuk bekerja dengan Amazon S3, perangkat lunak harus menggunakan ini dan banyak nama parameter spesifik lainnya dengan tepat.

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 adalah pemimpin yang jelas di pasar layanan cloud, dan para pesaingnya menawarkan implementasi ulang API S3, sementara mereka harus meniru nama tim, tag parameter, awalan x-amz , struktur gramatikal, dan organisasi umum API S3. Dengan kata lain, segala sesuatu yang, menurut Oracle, dilindungi oleh hak cipta.

Di antara perusahaan yang menawarkan salinan Amazon S3 API, ada Oracle sendiri . Untuk kompatibilitas, Amazon S3 Compatibility API menyalin banyak elemen Amazon API, hingga ke tag x-amz.



Oracle memastikan bahwa legalitas tindakannya didasarkan pada lisensi open source Apache 2.0, yang memungkinkan penyalinan dan modifikasi kode secara gratis. Sebagai contoh, Amazon SDK untuk Java juga dilengkapi dengan lisensi Apache 2.0.

Tetapi pertanyaannya adalah apakah hukum kekayaan intelektual umumnya berlaku untuk objek seperti API. Itulah yang harus ditetapkan Mahkamah Agung.

Siapa yang menemukan API?


Istilah dan konsep "perpustakaan subrutin" pertama kali muncul dalam buku Hermann Goldstein dan John von Neumann "Perencanaan dan Masalah Pengkodean untuk Alat Komputasi Elektronik" - Bagian II, Volume III (Institut Penelitian Lanjutan Universitas Princeton, 1948), arsip salinan .org . Isi jilid ketiga:



Ini adalah deskripsi pertama dari metodologi pemrograman untuk komputer dengan menyimpan program dalam memori (sebelumnya tidak ada). Dia menyebar luas ke universitas, yang pada waktu itu mencoba membuat komputer sendiri. Dan yang paling penting, buku ini berisi ide kunci: sebagian besar program akan menggunakan operasi umum, dan perpustakaan dengan rutinitas akan mengurangi jumlah kode baru dan kesalahan . Gagasan ini diselesaikan oleh Maurice Wilkes dan dipraktikkan di mesin EDSAC, di mana ia menerima Penghargaan Turing 1967.


Perpustakaan rutin EDSAC ada di sebelah kiri

Langkah selanjutnya adalah membuat fungsi tingkat tinggi dan antarmuka perangkat lunak lengkap, yang dilakukan Maurice Wilkes dan David Wheeler dalam buku "Mempersiapkan Program untuk Komputer Digital Elektronik" (1951).

Istilah Application Program Interface (API) sendiri muncul di suatu tempat di akhir tahun 60an.

Penulis presentasi โ€œSejarah Subjektif Singkat APIโ€ Joshua Block memberikan beberapa contoh antarmuka program, set instruksi, dan pustaka subprogram: bagaimana mereka dibuat dan digunakan kemudian. Idenya adalah bahwa penggunaan kembali adalah makna API. Itulah sebabnya mereka diciptakan sejak awal. Dan pengembang selalu memiliki kesempatan untuk menyalin dan membuat ulang API orang lain:

APIPenciptaTahunImplementasi ulangTahun
Perpustakaan FORTRANIbm1958Univac1961
IBM S / 360 ISAIbm1964Amdahl corp.1970
Perpustakaan Standar CAT&T / Bell Labs1976Mark Williams Co.1980
Unix panggilan sistemAT&T / Bell Labs1976Mark Williams Co.1980
VT100 Esc SeqsDesember1978Heathkit1980
IBM PC BIOSIbm1981Teknologi Phoenix1984
MS-DOS CLIMicrosoft1981Proyek FreeDOS1998
Set Perintah Hayes ATHayes mikro1982Otomatisasi jangkar1985
PostScriptAdobe1985GNU / GhostScript1988
SMBMicrosoft1992Proyek samba1993
Win32Microsoft1993Proyek Anggur1996
Perpustakaan Kelas 2 JavaSun1998Google / android2008
API Web LezatEnak2003Pinboard2009
Sumber: "Sejarah Subjektif Singkat API"

Menyalin dan menggunakan kembali API (perpustakaan, set instruksi) tidak hanya benar, tetapi metodologi pemrograman seperti itu secara langsung direkomendasikan dalam kanon ilmu komputer. Bahkan sebelum menyalin antarmuka pemrograman S3, Oracle sendiri melakukan ini berkali-kali. Selain itu, bisnis Oracle pada awalnya dibangun di atas implementasi bahasa pemrograman SQL yang dikembangkan oleh IBM. Produk unggulan pertama dari Oracle adalah DBMS, sebagian besar disalin dari IBM System R. Dalam hal ini, kita berbicara tentang implementasi ulang SQL sebagai "API standar" untuk DBMS.

Melapisi hak kekayaan intelektual pada API dapat membuat ladang ranjau legal yang akan diderita semua orang. API juga mengimplementasikan layanan cloud lainnya . Banyak standar teknis, seperti Wi-Fi dan protokol Internet, termasuk API. Antarmuka program harus diimplementasikan kembali dalam beberapa bentuk di setiap komputer dan server di Internet. Teori Hak Cipta Oracle dapat mengubah hampir semua yang Anda lakukan dengan komputer Anda menjadi tindakan ilegal.

Untuk menghindari konsekuensi yang jauh ini, Oracle dan Pengadilan Banding, yang mendukung argumennya, mencoba membatasi pelanggaran hak cipta hanya pada beberapa implementasi ulang API yang "tidak sesuai" dengan yang asli. Tetapi implementasi sebagian juga merupakan hal biasa . Bahkan dalam salinannya dari API S3, Oracle telah mencatat banyak "perbedaan" dan ketidakcocokan dengan API Amazon asli.

Bahaya utama gugatan Oracle adalah dapat mencegah perusahaan teknologi kecil membuat versi sistem yang kompatibel dengan platform dominan seperti S3. Tanpa kompatibilitas seperti itu, programmer akan hampir diblokir dalam penawaran perusahaan ini.

Perwakilan dan pengembang industri hanya bisa berharap bahwa pikiran akan menang, dan para hakim akan mengetahui dasar-dasar pemrograman .

Source: https://habr.com/ru/post/id482980/


All Articles