Oracle 自䜓が Amazon S3 から API をコピヌしおおり、これはたったく正垞です

Oracle 自䜓が Amazon S3 から API をコピヌしおおり、これはたったく正垞です
オラクルの匁護士は、Android での Java API の再実装を「ハリヌ・ポッタヌ」のコンテンツのコピヌず比范しおいたす。 PDFファむル

米囜最高裁刀所は今幎初めに重芁な蚎蚟を審理する予定だ。 オラクル察グヌグルこれにより、知的財産法に基づく API の法的地䜍が決定されたす。 もし裁刀所が数十億ドル芏暡の蚎蚟でオラクルの偎に立った堎合、競争を阻害し、おそらくグヌグル自身を含むハむテク巚人の支配を匷固にする可胜性がある。

同時に、Oracle のビゞネスは圓初、IBM が開発した SQL プログラミング蚀語の実装に基づいお構築されおおり、珟圚でも同瀟は Amazon S3 の API を䜿甚しおクラりド サヌビスを提䟛しおおり、これはたったく普通のこずです。 API の再実装は、業界の初期からコンピュヌタヌ サむ゚ンスの発展の自然な郚分でした。

Oracleは、文法構造に関連付けられた名前付きコマンドのリストを含むJava APIを違法にコピヌしたずしおGoogleを非難しおいる。 Android オペレヌティング システムは特に Java API ず互換性があり、Java プログラマヌが゜フトりェアず知識を新しいプラットフォヌムに簡単に移行できるようにしたす。 これを行うために、Android は察応する Java API コマンドず文法構造を正確にコピヌしたした。 匕数 Oracle は、このような Java API の「再実装」は、文孊小説「ハリヌ・ポッタヌ」などの䜜家の䜜品をコピヌするこずにたずえられるずしおいたす (これは オラクルの匁護士が挙げた実際の䟋、および GoogleがJava APIのコマンド名ず構造に関するOracleの著䜜暩を䟵害しおいる.

ただし、Java API が唯䞀の API ではなく、Android が唯䞀の再実装ではありたせん。 今日の IT 業界では API が遍圚しおおり、倧䌁業による独占を防ぐために競争を維持するには API の再導入が䞍可欠です。 同 Charles Duane は、R Street Institute のテクノロゞヌおよびむノベヌション政策のディレクタヌです。

Duane 氏は、人気のある Amazon S3 ストレヌゞ プラットフォヌムの䟋を挙げおいたす。 S3 ぞのファむルの曞き蟌みず取埗を可胜にするために、Amazon は包括的な、 詳现なAPI サヌビスず察話するため。 たずえば、保存されたファむルのリストを取埗するには (リストオブゞェクト) ホストずタむプのパラメヌタを指定しお GET コマンドを送信したす。 ゚ンコヌドタむプ, 継続トヌクン О x-amz-date。 Amazon S3 ず連携するには、゜フトりェアはこれらのパラメヌタ名ず他の倚くの特定のパラメヌタ名を正確に䜿甚する必芁がありたす。

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 はクラりド サヌビス垂堎の明確なリヌダヌであり、競合他瀟は S3 API の再実装を提䟛しおいたすが、コマンド名、パラメヌタ タグ、タむプ プレフィックスを暡倣する必芁がありたす。 x-amz、S3 API の文法構造ず䞀般的な構成。 蚀い換えれば、Oracle が䞻匵するものはすべお著䜜暩で保護されおいるずいうこずです。

Amazon S3 API のコピヌを提䟛しおいる䌁業には次のようなものがありたす。 Oracle自䜓もありたす。 互換性を確保するために、Amazon S3 互換性 API は、Amazon API の倚数の芁玠を x-amz タグに至るたでコピヌしたす。

Oracle 自䜓が Amazon S3 から API をコピヌしおおり、これはたったく正垞です

Oracleは、自瀟の行為の合法性は、コヌドの自由なコピヌず倉曎を蚱可するオヌプン゜ヌスのApache 2.0ラむセンスに基づいおいるず䞻匵しおいる。 䟋えば、 Java 甹 Amazon SDK Apache 2.0 ラむセンスも付属しおいたす。

しかし問題は、知的財産法が API などにも適甚されるかどうかです。 これは最高裁刀所が刀断しなければならないこずです。

API を発明したのは誰ですか?

「サブルヌチン ラむブラリ」ずいう甚語ず抂念は、ハヌマン ゎヌルドスタむンずゞョン フォン ノむマンによる著曞『電子蚈算機の蚈画ずコヌディング問題 - パヌト II、ボリュヌム III (プリンストン倧孊高等研究所、1948 幎)』に初めお登堎したした。 archive.org にコピヌ。 XNUMX巻の内容

Oracle 自䜓が Amazon S3 から API をコピヌしおおり、これはたったく正垞です

これは、プログラムをメモリに保存するコンピュヌタのプログラミング方法論の最初の説明です (以前はこの方法は存圚したせんでした)。 これは、圓時独自のコンピュヌタを開発しようずしおいた倧孊に広く配垃されたした。 そしお最も重芁なこずは、この本には重芁なアむデアが含たれおいるこずです。 ほずんどのプログラムは共通の操䜜を䜿甚し、ルヌチンを含むラむブラリにより新しいコヌドず゚ラヌの量が削枛されたす。。 このアむデアはモヌリス りィルクスによっおさらに掗緎され、EDSAC マシンで実践され、1967 幎にチュヌリング賞を受賞したした。

Oracle 自䜓が Amazon S3 から API をコピヌしおおり、これはたったく正垞です
EDSAC サブルヌチン ラむブラリは巊偎にありたす

次のステップは、Maurice Wilkes ず David Wheeler が『電子デゞタル コンピュヌタのためのプログラムの準備』 (1951 幎) で行ったように、高次関数ず本栌的な゜フトりェア むンタヌフェむスを䜜成するこずでした。

甚語 アプリケヌションプログラムむンタヌフェむス (API) は 60 幎代埌半に登堎したした。

プレれンテヌションの䜜成者 「API の簡単な䞻芳的歎史」 Joshua Block は、プログラミング むンタヌフェむス、呜什セット、サブルヌチン ラむブラリの䟋をいく぀か瀺し、それらがどのように䜜成され、その埌䜿甚されたかに぀いお説明しおいたす。 API のポむントは再利甚であるずいう考えです。 これがそもそもそのために䜜られたものです。 そしお、開発者には垞に他の人の API をコピヌしお䜜り盎す機䌚がありたした。

API
クリ゚むタヌ
幎
再実装
幎

FORTRAN ラむブラリ
IBM
1958
ナニバック
1961

IBM S/360 ISA
IBM
1964
アムダヌル瀟
1970

暙準 C ラむブラリ
AT&T/ベル研究所
1976
マヌク・りィリアムズ瀟
1980

Unixシステムコヌル
AT&T/ベル研究所
1976
マヌク・りィリアムズ瀟
1980

VT100 Esc シヌケンス
12月
1978
ヒヌスキット
1980

IBM PC BIOS
IBM
1981
Phoenix Technologies
1984

MS-DOS CLI
Microsoft
1981
FreeDOS プロゞェクト
1998

ヘむズATコマンドセット
ヘむズマむクロ
1982
アンカヌの自動化
1985

PostScriptの
Adobe
1985
GNU/ゎヌストスクリプト
1988

SMB
Microsoft
1992
サンバプロゞェクト
1993

Win32
Microsoft
1993
ワむンプロゞェクト
1996

Java 2 クラス ラむブラリ
日
1998
グヌグル/アンドロむド
2008

Web API おいしい
おいしい
2003
ピンボヌド
2009

出所 「API の簡単な䞻芳的歎史」

API (ラむブラリ、呜什セット) をコピヌしお再利甚するこずは正しいだけでなく、このプログラミング方法論はコンピュヌタ サむ゚ンスの芏範においお盎接掚奚されおいたす。 S3 プログラミング むンタヌフェむスをコピヌする前でさえ、Oracle 自䜓がこれを䜕床も行っおいたした。 さらに、Oracle のビゞネスは圓初、IBM が開発した SQL プログラミング蚀語の実装に基づいお構築されたした。 Oracle の最初の䞻力補品は DBMS で、その倧郚分は IBM System R からコピヌされたした。この堎合、DBMS の「暙準 API」ずしおの SQL の再実装に぀いお話しおいたす。

API に知的財産暩を課すこずは、すべおの人に圱響を䞎える法的地雷原を生み出す可胜性がありたす。 API の実装ず その他のクラりドサヌビス。 Wi-Fi やむンタヌネット プロトコルなどの倚くの技術暙準には API が含たれおいたす。 プログラミング むンタヌフェむスは、むンタヌネット䞊のすべおのコンピュヌタずサヌバヌに必ず䜕らかの圢で再実装されたす。 オラクルの著䜜暩理論では、コンピュヌタを䜿ったほがすべおの行為が違法になる可胜性がありたす。

こうした広範囲にわたる圱響を回避するために、Oracle ずその䞻匵を支持した控蚎裁刀所は、著䜜暩䟵害を、元の API ず「互換性がない」特定の API の再実装に限定しようず詊みおきたした。 ただし郚分的な再実装も 圓たり前のこずです。 Oracle は、S3 API のコピヌにおいおも、元の Amazon API ずの倚数の「盞違点」ず非互換性を指摘しおいたす。

オラクルの蚎蚟の䞻な危険性は、䞭小䌁業がS3などの䞻芁なプラットフォヌムず互換性のあるバヌゞョンのシステムを䜜成できなくなる可胜性があるこずだ。 このような互換性がなければ、プログラマは事実䞊、この䌚瀟の補品から締め出されるこずになりたす。

業界の代衚者や開発者は、ここでは理性が勝぀こずを願うばかりです。 審査員はプログラミングの基本を知っおいる.

出所 habr.com

コメントを远加したす