Oracle sendiri menyalin API dari Amazon S3, dan ini adalah perkara biasa

Oracle sendiri menyalin API dari Amazon S3, dan ini adalah perkara biasa
Peguam Oracle membandingkan pelaksanaan semula API Java dalam Android dengan menyalin kandungan "Harry Potter", pdf

Mahkamah Agung AS akan mendengar kes penting awal tahun ini. Oracle lwn Google, yang akan menentukan status undang-undang API di bawah undang-undang harta intelek. Jika mahkamah berpihak kepada Oracle dalam tuntutan berbilion dolarnya, ia boleh menyekat persaingan dan mengukuhkan penguasaan gergasi teknologi, mungkin termasuk Google sendiri.

Pada masa yang sama, perniagaan Oracle pada mulanya dibina berdasarkan pelaksanaan bahasa pengaturcaraan SQL yang dibangunkan oleh IBM, malah kini syarikat itu menawarkan perkhidmatan awan dengan API daripada Amazon S3, dan ini adalah perkara biasa. Pelaksanaan semula API telah menjadi bahagian semula jadi dalam pembangunan sains komputer sejak awal industri.

Oracle menuduh Google menyalin API Java secara haram, termasuk senarai arahan bernama yang terikat dengan struktur tatabahasa. Sistem pengendalian Android secara khusus serasi dengan API Java untuk memudahkan pengaturcara Java memindahkan perisian dan pengetahuan ke platform baharu. Untuk melakukan ini, Android betul-betul menyalin arahan Java API dan struktur tatabahasa yang sepadan. hujah Oracle ialah "pelaksanaan semula" API Java boleh dibandingkan dengan menyalin karya pengarang, seperti novel sastera "Harry Potter" (ini contoh sebenar yang diberikan oleh peguam Oracle), dan Google melanggar hak cipta Oracle pada nama dan struktur arahan API Java.

Tetapi API Java bukan satu-satunya API, dan Android bukan satu-satunya pelaksanaan semula. Dalam industri IT hari ini, API ada di mana-mana, dan pengenalan semula adalah asas untuk mengekalkan persaingan untuk menghalang firma besar daripada memonopoli berfikir Charles Duane ialah pengarah teknologi dan dasar inovasi di R Street Institute.

Duane memberikan contoh platform storan Amazon S3 yang popular. Untuk membolehkan menulis dan mendapatkan semula fail daripada S3, Amazon telah membangunkan komprehensif, API terperinci untuk berinteraksi dengan perkhidmatan. Contohnya, untuk mendapatkan senarai fail yang disimpan (ListObjects) kami menghantar arahan GET yang menyatakan parameter hos dan jenis jenis pengekodan, token kesinambungan ΠΈ tarikh-x-amz. Untuk bekerja dengan Amazon S3, perisian mesti menggunakan ini dan banyak nama parameter khusus lain 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 ialah peneraju yang jelas dalam pasaran perkhidmatan awan, dan pesaingnya menawarkan pelaksanaan semula API S3, sementara mereka perlu meniru nama arahan, teg parameter, jenis awalan x-amz, struktur tatabahasa dan organisasi umum API S3. Dengan kata lain, semua yang dituntut Oracle adalah berhak cipta.

Antara syarikat yang menawarkan salinan Amazon S3 API ialah terdapat juga Oracle sendiri. Untuk keserasian, API Keserasian Amazon S3 menyalin banyak elemen API Amazon, hingga ke teg x-amz.

Oracle sendiri menyalin API dari Amazon S3, dan ini adalah perkara biasa

Oracle mendakwa bahawa kesahihan tindakannya adalah berdasarkan lesen sumber terbuka Apache 2.0, yang membenarkan penyalinan dan pengubahsuaian kod percuma. Sebagai contoh, Amazon SDK untuk Java turut disertakan dengan lesen Apache 2.0.

Tetapi persoalannya ialah sama ada undang-undang harta intelek terpakai kepada perkara seperti API. Inilah yang mesti ditentukan oleh Mahkamah Agung.

Siapa yang mencipta API?

Istilah dan konsep "perpustakaan subrutin" pertama kali muncul dalam buku Planning and Coding Problems for an Electronic Computing Instrument - Part II, Volume III (Institut Kajian Lanjutan Universiti Princeton, 1948) oleh Herman Goldstein dan John von Neumann. salin pada archive.org. Kandungan jilid ketiga:

Oracle sendiri menyalin API dari Amazon S3, dan ini adalah perkara biasa

Ini adalah penerangan pertama metodologi pengaturcaraan untuk komputer yang menyimpan program dalam ingatan (sebelum ini ini tidak wujud). Ia diedarkan secara meluas ke universiti, yang pada masa itu cuba mencipta komputer mereka sendiri. Dan yang paling penting, buku itu mengandungi idea utama: kebanyakan program akan menggunakan operasi biasa, dan perpustakaan dengan rutin akan mengurangkan jumlah kod dan ralat baharu. Idea ini telah diperhalusi lagi oleh Maurice Wilkes dan dipraktikkan dalam mesin EDSAC, yang mana beliau menerima Anugerah Turing 1967.

Oracle sendiri menyalin API dari Amazon S3, dan ini adalah perkara biasa
Pustaka subrutin EDSAC berada di sebelah kiri

Langkah seterusnya ialah mencipta fungsi tertib tinggi dan antara muka perisian yang lengkap, seperti yang dilakukan Maurice Wilkes dan David Wheeler dalam Menyediakan Program untuk Komputer Digital Elektronik (1951).

Istilah itu sendiri Antaramuka Program Aplikasi (API) muncul di suatu tempat pada akhir 60-an.

Pengarang pembentangan "Sejarah Subjektif Ringkas API" Joshua Block memberikan beberapa contoh antara muka pengaturcaraan, set arahan dan perpustakaan subrutin: cara ia dicipta dan kemudiannya digunakan. Ideanya ialah penggunaan semula adalah titik API. Inilah sebabnya mereka dicipta pada mulanya. Dan pembangun sentiasa mempunyai peluang untuk menyalin dan membuat semula API orang lain:

API
Pencipta
Tahun
Pelaksanaan semula
Tahun

perpustakaan FORTRAN
IBM
1958
Univac
1961

IBM S/360 ISA
IBM
1964
Amdahl Corp.
1970

Perpustakaan Standard C
AT&T/Bell Labs
1976
Mark Williams Co.
1980

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

VT100 Esc Seqs
Disember
1978
Heathkit
1980

BIOS PC IBM
IBM
1981
Teknologi Phoenix
1984

MS-DOS CLI
microsoft
1981
Projek FreeDOS
1998

Set arahan Hayes AT
Hayes Micro
1982
Automasi Sauh
1985

PostScript
Adobe
1985
GNU/GhostScript
1988

SMB
microsoft
1992
Projek Samba
1993

Win32
microsoft
1993
Projek Wain
1996

Perpustakaan kelas Java 2
matahari
1998
Google/Android
2008

API Web Sedap
Delicious
2003
Pinboard
2009

Sumber: "Sejarah Subjektif Ringkas API"

Menyalin dan menggunakan semula API (perpustakaan, set arahan) bukan sahaja betul, tetapi metodologi pengaturcaraan ini disyorkan secara langsung dalam kanun sains komputer. Malah sebelum menyalin antara muka pengaturcaraan S3, Oracle sendiri melakukan ini berkali-kali. Selain itu, perniagaan Oracle pada mulanya dibina atas pelaksanaan bahasa pengaturcaraan SQL yang dibangunkan oleh IBM. Produk perdana pertama Oracle ialah DBMS, sebahagian besarnya disalin daripada IBM System R. Dalam kes ini, kita bercakap tentang pelaksanaan semula SQL sebagai "API standard" untuk DBMS.

Mengenakan hak harta intelek pada API boleh mewujudkan medan periuk api undang-undang yang menjejaskan semua orang. API melaksanakan dan perkhidmatan awan lain. Banyak standard teknikal, seperti Wi-Fi dan protokol Internet, termasuk API. Antara muka pengaturcaraan semestinya dilaksanakan semula dalam beberapa bentuk pada setiap komputer dan pelayan di Internet. Teori hak cipta Oracle boleh menjadikan hampir semua perkara yang anda lakukan dengan komputer anda menyalahi undang-undang.

Untuk mengelakkan akibat yang meluas ini, Oracle dan mahkamah rayuan yang mengekalkan hujahnya telah cuba mengehadkan pelanggaran hak cipta kepada pelaksanaan semula API tertentu yang "tidak serasi" dengan yang asal. Tetapi pelaksanaan semula separa juga adalah perkara biasa. Malah dalam salinan API S3nya, Oracle mencatatkan banyak "perbezaan" dan ketidakserasian dengan API Amazon asal.

Bahaya utama tuntutan undang-undang Oracle ialah ia boleh menghalang syarikat teknologi yang lebih kecil daripada mencipta versi sistem yang serasi dengan platform dominan seperti S3. Tanpa keserasian sedemikian, pengaturcara akan terkunci dengan berkesan daripada tawaran syarikat ini.

Wakil industri dan pemaju hanya boleh berharap alasan itu akan diguna pakai di sini, dan hakim tahu asas pengaturcaraan.

Sumber: www.habr.com

Tambah komen