Oracle sendiri menyalin API dari Amazon S3, dan ini sepenuhnya normal

Oracle sendiri menyalin API dari Amazon S3, dan ini sepenuhnya normal
Pengacara Oracle membandingkan implementasi ulang Java API di Android dengan menyalin konten β€œHarry Potter”, pdf

Mahkamah Agung AS akan mendengarkan kasus penting awal tahun ini. Oracle vs Google, yang akan menentukan status hukum API berdasarkan undang-undang kekayaan intelektual. Jika pengadilan memihak Oracle dalam gugatan bernilai miliaran dolar, hal ini dapat menghambat persaingan dan memperkuat dominasi raksasa teknologi, mungkin termasuk Google sendiri.

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

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

Namun Java API bukan satu-satunya API, dan Android bukan satu-satunya implementasi ulang. Dalam industri TI saat ini, API ada di mana-mana, dan penerapan kembali API sangat penting untuk menjaga persaingan guna mencegah perusahaan besar melakukan monopoli. Π°Π΅ Charles Duane adalah direktur kebijakan teknologi dan inovasi di R Street Institute.

Duane mencontohkan platform penyimpanan Amazon S3 yang populer. Untuk mengaktifkan penulisan dan pengambilan file dari S3, Amazon telah mengembangkan komprehensif, API terperinci untuk berinteraksi dengan layanan. Misalnya, untuk mendapatkan daftar file yang disimpan (DaftarObjek) kami mengirim perintah GET yang menentukan host dan parameter tipe tipe pengkodean, token lanjutan ΠΈ x-amz-tanggal. Untuk bekerja dengan Amazon S3, perangkat lunak harus menggunakan nama parameter spesifik ini dan banyak 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 perintah, tag parameter, awalan tipe x-amz, struktur tata bahasa dan organisasi umum S3 API. Dengan kata lain, semua yang diklaim Oracle memiliki hak cipta.

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

Oracle sendiri menyalin API dari Amazon S3, dan ini sepenuhnya normal

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

Namun pertanyaannya adalah apakah undang-undang kekayaan intelektual berlaku untuk hal-hal seperti API. Hal inilah yang harus diputuskan oleh Mahkamah Agung.

Siapa yang menemukan API?

Istilah dan konsep "perpustakaan subrutin" pertama kali muncul dalam buku Planning and Coding Problems for an Electronic Computing Instrument - Part II, Volume III (Princeton University Institute of Advanced Study, 1948) oleh Herman Goldstein dan John von Neumann. salin di archive.org. Isi jilid ketiga:

Oracle sendiri menyalin API dari Amazon S3, dan ini sepenuhnya normal

Ini adalah gambaran pertama tentang metodologi pemrograman untuk komputer yang menyimpan program di memori (sebelumnya tidak ada). Ini didistribusikan secara luas ke universitas-universitas yang pada saat itu sedang mencoba membuat komputer sendiri. Dan yang terpenting, buku tersebut memuat gagasan utama: sebagian besar program akan menggunakan operasi umum, dan perpustakaan dengan rutinitas akan mengurangi jumlah kode dan kesalahan baru. Ide ini disempurnakan lebih lanjut oleh Maurice Wilkes dan dipraktikkan di mesin EDSAC, sehingga ia menerima Penghargaan Turing pada tahun 1967.

Oracle sendiri menyalin API dari Amazon S3, dan ini sepenuhnya normal
Pustaka subrutin EDSAC ada di sebelah kiri

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

Istilah itu sendiri Antarmuka Program Aplikasi (API) muncul di suatu tempat di akhir tahun 60an.

Penulis presentasi "Sejarah Subjektif Singkat API" Joshua Block memberikan beberapa contoh antarmuka pemrograman, set instruksi, dan perpustakaan subrutin: bagaimana mereka dibuat dan selanjutnya digunakan. Idenya adalah bahwa penggunaan kembali adalah inti dari sebuah API. Untuk itulah mereka diciptakan pada awalnya. Dan pengembang selalu memiliki kesempatan untuk menyalin dan membuat ulang API orang lain:

API
Pencipta
Tahun
Implementasi ulang
Tahun

perpustakaan FORTRAN
IBM
1958
Univac
1961

IBM S/360ISA
IBM
1964
Amdahl Corp.
1970

Perpustakaan Standar C
Lab AT&T/Bell
1976
Mark Williams Co.
1980

Panggilan sistem Unix
Lab AT&T/Bell
1976
Mark Williams Co.
1980

Urutan Esc VT100
Desember
1978
Perangkat kesehatan
1980

BIOS PC IBM
IBM
1981
Teknologi Phoenix
1984

CLI MS-DOS
Microsoft
1981
Proyek FreeDOS
1998

Set perintah Hayes AT
Hayes Mikro
1982
Otomatisasi Jangkar
1985

PostScript
Adobe
1985
GNU/GhostScript
1988

SMB
Microsoft
1992
Proyek Samba
1993

Win32
Microsoft
1993
Proyek Anggur
1996

Perpustakaan kelas Java 2
matahari
1998
Google/Android
2008

API Web Lezat
lezat
2003
Papan pin
2009

Sumber: "Sejarah Subjektif Singkat API"

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

Menerapkan hak kekayaan intelektual pada API dapat menciptakan ladang ranjau hukum yang berdampak pada semua orang. Implementasi API dan layanan awan lainnya. Banyak standar teknis, seperti protokol Wi-Fi dan Internet, menyertakan API. Antarmuka pemrograman perlu diimplementasikan kembali dalam beberapa bentuk di setiap komputer dan server di Internet. Teori hak cipta Oracle dapat membuat hampir semua hal yang Anda lakukan dengan komputer Anda menjadi ilegal.

Untuk menghindari konsekuensi yang luas ini, Oracle dan pengadilan banding yang menguatkan argumennya telah berupaya membatasi pelanggaran hak cipta pada penerapan ulang API tertentu yang β€œtidak sesuai” dengan aslinya. Namun implementasi ulang sebagian juga adalah hal yang lumrah. Bahkan dalam salinan API S3, Oracle mencatat banyak β€œperbedaan” dan ketidaksesuaian dengan API Amazon asli.

Bahaya utama dari gugatan Oracle adalah bahwa hal itu dapat menghalangi perusahaan teknologi kecil untuk membuat versi sistem yang kompatibel dengan platform dominan seperti S3. Tanpa kompatibilitas seperti itu, pemrogram akan tidak dapat mengakses penawaran perusahaan ini.

Perwakilan industri dan pengembang hanya bisa berharap bahwa alasan akan menang di sini, dan juri mengetahui dasar-dasar pemrograman.

Sumber: www.habr.com

Tambah komentar