Java APIをめぐるOracleとGoogleの裁判、Googleは再び連邦最高裁に上訴する構え 54
ストーリー by headless
審理 部門より
審理 部門より
米連邦巡回区控訴裁判所は8月28日、Java APIの使用がフェアユースに当たるかどうかOracleとGoogleが争っている裁判で、全法廷での再審理を求めるGoogleの請求を却下した(The Registerの記事、
Android Policeの記事、
裁判所文書: PDF)。
2010年から争われているこの裁判は、OracleがJavaの特許権と著作権を侵害されたと主張してGoogleを訴えたものだ。しかし、特許権侵害については早々に決着し、Java APIが著作権保護されるかどうかが争点になっていた。2012年の連邦地裁判決ではAPIの機能自体は著作権保護の対象にならないと判断しているが、2014年の控訴裁判所判決はAPIの機能だけでなくGoogleが37のJava APIパッケージからコピーしたとされるコードの宣言および構造・順序・構成(SSO)についても著作権で保護されると判断。その一方で、フェアユースであるかどうかの判断を連邦地裁に差し戻した。GoogleはAPIに著作権を認めた2審判決を不服として最高裁に上訴したが受理されず、Java APIが著作権保護の対象になるという2審判決は確定している。
差し戻された連邦地裁では2016年、GoogleのJava API使用がフェアユースに当たるとする陪審の評決に従った判決を下したため、Oracle側が控訴。控訴裁判所は今年3月、フェアユースに当たらないと判断した。GoogleもJavaコードの宣言とSSOが著作権保護対象にならないことの確認を求めて控訴していたが、控訴裁判所では既に確定した判決を変更する理由が示されていないとして棄却している(裁判所文書)。Oracle側は損害額を88億ドルと主張しており、賠償額については再び連邦地裁で審理されることになる。
ただし、Googleは陪審の評決を覆した控訴裁判所の判断を不服として、再び連邦最高裁に上訴する考えを示している。
2010年から争われているこの裁判は、OracleがJavaの特許権と著作権を侵害されたと主張してGoogleを訴えたものだ。しかし、特許権侵害については早々に決着し、Java APIが著作権保護されるかどうかが争点になっていた。2012年の連邦地裁判決ではAPIの機能自体は著作権保護の対象にならないと判断しているが、2014年の控訴裁判所判決はAPIの機能だけでなくGoogleが37のJava APIパッケージからコピーしたとされるコードの宣言および構造・順序・構成(SSO)についても著作権で保護されると判断。その一方で、フェアユースであるかどうかの判断を連邦地裁に差し戻した。GoogleはAPIに著作権を認めた2審判決を不服として最高裁に上訴したが受理されず、Java APIが著作権保護の対象になるという2審判決は確定している。
差し戻された連邦地裁では2016年、GoogleのJava API使用がフェアユースに当たるとする陪審の評決に従った判決を下したため、Oracle側が控訴。控訴裁判所は今年3月、フェアユースに当たらないと判断した。GoogleもJavaコードの宣言とSSOが著作権保護対象にならないことの確認を求めて控訴していたが、控訴裁判所では既に確定した判決を変更する理由が示されていないとして棄却している(裁判所文書)。Oracle側は損害額を88億ドルと主張しており、賠償額については再び連邦地裁で審理されることになる。
ただし、Googleは陪審の評決を覆した控訴裁判所の判断を不服として、再び連邦最高裁に上訴する考えを示している。
コピーしたコード (スコア:0)
Cプログラマなら殆どが
#include ;
Int main(){
printf(“Hello World!”);
return 0;
}
って書いたことあるわけでぎふはぶに公開してたら全員アウト?
つーか、JAVA API群だって中身漁られたらCなりC++をパクってるだろ、この論でいうなら。
Re:コピーしたコード (スコア:1)
これはもう技術論じゃなくて、法曹界で巨人同士が殴り合う話だから、どっちが正しいとかそういう次元じゃないんだと思うよ。
Re: (スコア:0)
最初から技術論じゃないよ。
まだSunがあった頃、Sunのライセンスを受けずにJavaをAndroidに使い始めたのが出発点だ。
この時点で真っ黒だった。
ただ、Sunは裁判を起こさなかった。Sunを買ったOracleは違う。それだけだ。
Re:コピーしたコード (スコア:1)
それ、コンパイル通らないよね。
Re: (スコア:0)
元コメント書いた人、ぜったいプログラマじゃないよね。
どっかのWebサイトから意味も分からずコードコピペしてきただけだと思う。
Re: (スコア:0)
普通にgtとltが消えるのに気づかなかっただけじゃない?
Re: (スコア:0)
gtとltが消えたらintがキャピタライズされるのか
Re: (スコア:0)
元コメは単なるうろ覚えってだけだろ。
その辺のWebサイトに載ってるコピペしちゃいけないコードってのは、
パラメーターのnullチェックしてないとか、例外拾ってないとか、
コーディングルールも弁えずに副作用まみれのマクロ使うとかそういうのじゃねーの?
コンパイル通らないコードを載せてるところは珍しい
Re: (スコア:0)
スマホから書いたから色々壊れてたな
http://codepad.org/imhP5fbk [codepad.org]
書きたかったのはただ単にこうだしgtとltがタグ判定で消されてるのと
ダブルクォートが全角だったな
Re:コピーしたコード (スコア:1)
includeの最後のセミコロンはお勧めできないな。
グローバルの空文と普通は解釈してくれそうだけど
処理系依存でエラーになるものもありそう。
Re: (スコア:0)
著作権侵害を回避するために、プログラミングはアメリカ国外で行われるようになり、アメリカ国内にはバイナリ提供されるようになるんだよ。
Javascriptは国外で難読化されたのち、アメリカ国内に持ち込まれる。
Javascriptの著作権はNetscape → AOL → Mozillaのものなんだろうか?
APIに著作権が生じるなら、APIをコールしているコードも著作権侵害しそう。
オラクルが勝ったら、アメリカでAndroidアプリを提供している会社は軒並み著作権侵害になるのかね。
Unityとか、Java以外で作成していたところは関係ないけど。
Re: (スコア:0)
Javascriptって書く人をみるともにょるんだけど
JavaScriptだろ???
Re: (スコア:0)
レビューでどうでもいいことに突っ込む人いるよねぇ・・・
Re: (スコア:0)
雑談サイトで突っ込むほどの話じゃないけど
仕事のコードレビューでそんな状態だったら指摘はするでしょう
細かいところはあとで直しますっていってからレビュー開始するならわかるけど
Re: (スコア:0)
メソッドや引数の名前が似ているとか名前空間の作りが一緒とかを問題にしているのでAPIを利用するプログラムには何も言ってない。
ただこれが認められてしまうとOracleにとって都合の悪いプログラミング言語があった時に、北斗のジャギ様みたいな「クラス名のあたりがJavaに似ている」的なやり方がまかり通ってしまって、恣意的に拡大解釈されかねない。
Re:コピーしたコード (スコア:1)
それは拡大解釈が問題なのであって、JavaのAPIをまるごとコピーした今回のGoogleの弁護にはなっていませんね。
仮定の話を持ち出して不安を煽るのはFUDというものでは。
Re: (スコア:0)
法律の議論は厳格な適用をした場合の実情との乖離や悪意のある運用の損害も含めて考えるので的外れではありませんね。
今回JDKとは独自の実装だから問題ないとされたApache Harmonyから派生したプロダクトが狙い撃ちされたので、今回の判例は他のソフトウェアにも影響が出ます。
C/C++に対する他の派生言語、WineやMariaDBなど市販プロダクトの代替実装が危険にさらされるということです。
Re: (スコア:0)
その論法だとメソッド一つでも丸コピーになっているものがあれば
別件として難癖つけられるから、オラクルのやりたい放題を認めろというのと
同義だね
Re: (スコア:0)
日本の法律では「思想又は感情を創作的に表現したものであつて…」と規定されてたりするし、そこまで何も表現されてないような、誰が書いても同じになるものは著作権の保護対象外。
APIが保護対象になるのは、何かが表現されてると見なされたから。
例えば、 printf [wikipedia.org]によると、printfの宣言は、
int printf(const char * restrict format, ...);
らしいけど、printfという名前である必然性はない。設計者だか、最初期のC言語コミュニティだかが、そう決めたに過ぎない。
int print_fromatted(const char * restrict format, ...);
とか、
int formatted_print(const char * restrict format, ...);
Re:コピーしたコード (スコア:2)
「日本の法律では」と言うなら一時ソースあたれよ
著作権法 [cric.or.jp]
規約つまりAPIやプロトコルは保護されない。
#「著作権法では」保護されないので、とある周辺機器ではプロトコル内に商標(NEC)を使い、(商標法で保護される?ので)商標プロテクトをかけていたそうな。
#ところがチェックが甘く「商標+任意文字列」でも通ってしまったので、「NECO」とか「NECITSU」としゃべる互換製品が出たそうな [wdic.org](おっさん語り
注:解法(=アルゴリズム)は「この法律」(=著作権法)による保護はないけど他の法律(例えば特許)による保護がないとは言ってない
Re: (スコア:0)
説明としてはそれで妥当だけど日本でprintfに著作権が認められるかといえば多分ノーだと思うよ。
要は程度問題。
加えて社会的影響も加味される。
例えば平凡な書体を保護するといろいろ不都合だからってんで保護されてないよ。
APIにも同様の法理が適用できる。
Re:コピーしたコード (スコア:1)
>加えて社会的影響も加味される。
>例えば平凡な書体を保護するといろいろ不都合だからってんで保護されてないよ。
書体が著作物かどうかは、それが美術の著作物に当たるかどうか(書家による毛筆体とか)。平凡でなくても多少の独自デザインでは通らない。
また平凡な書体でも、ベクトルフォント(=書体を描画するプログラム)はプログラム著作物として保護される。
あとデッドコピーは不正競争防止法で保護されるかも。
米国の「フェアユース」はアバウトにしか規定してないので、実際には個別の裁判で決まる。
個別の裁判は陪審員(=その時点の一般人)が判断するので、社会的影響もリアルタイムで加味される。
「JJUGナイトセミナー Java API訴訟問題を考える 」に行った:著作権の例外規定 [qiita.com]
米国著作権法における「フェア・ユース」の考え方について [itmedia.co.jp]
日本では著作権法で明示的に規定する。ので社会的影響が改正圧力・陳情となり、明示的に改正されるまでは変わらない。
プログラム著作物とその例外規定もそうだし、検索エンジン合法化とかもそう。書体関係は変わってない。
Re: (スコア:0)
インクルードファイルなんてプロトコルみたいなものなんだから、変に保護対象にされても迷惑だけどね。
VisualCで問題なかったインクルード順がMinGWだとエラーになったり、その逆のことが生じたりとかね。
無理して一から書き直せとかやると変なミスが入り込む余地が増えるんだから、フェアユースにでもしといた方がいい。
Re: (スコア:0)
日本の法律はともかく、実態はアメリカの後追いだよ
アメリカが認めたら屁理屈をつけて日本も認め、
アメリカが認めなかったら屁理屈をつけて日本も認めない
ソフトウェア・インターネットの世界なんて、ほとんどアメリカがルールを作って
アメリカ以外の国はそのルールを受け入れてる状態
Re: (スコア:0)
voidが抜けてる
int main(void)
な
Re: (スコア:0)
関数定義を伴う宣言なんだから、void書かなくても同じだろ
この裁判あと何が残ってるのかよく分からん (スコア:0)
最高裁で決着が付いたと思ったことがまた上訴されてたりして、もう何が何やら。
一体あと何がどうなったら最終決着が付くの???
Re: (スコア:0)
どっちかが滅びるまで決着つかないやつだと思う、これ。
# とはいえOracleって斜陽産業だよなぁ
Re: (スコア:0)
これを最高裁が判断すれば終わるんじゃない。
損害金払って終わり。まあOS開発する時間稼ぎにはなったでしょう。
Androidはなんとかいう読みにくい名前の新OSに一新。
以上
Re: (スコア:0)
アプリはWebAssemblyベースに移行したりとかかな
Re: (スコア:0)
Kotlinあるんだから、Kotlinのネイティブコンパイラ作るんじゃない。
APIだけ差し替え。
まあ、とりあえず画面周りのAPIはさっさと捨ててほしい。
Re:この裁判あと何が残ってるのかよく分からん (スコア:1)
Javaなんて捨ててdotnetベースにしようぜ。
Xamarinがネイティブでいいじゃん。
まぁ100%あり得ないけど、最初からmonoベースだったら色々マシだったと思う。
Re: (スコア:0)
開発環境とデベロッパの習熟が問題かな。
そうだ、次はswiftをパクればいい。
Re: (スコア:0)
クラスライブラリのAPIが全部書き直されたらKotolinの良いところがだいぶ減ってしまう。
正しい判決がなされそうでなにより (スコア:0)
「APIの設計に創造性がない」などというITエンジニアを馬鹿にした主張が退けられる方向で進んでいるようで、いち技術者として安心している。
努力して一から言語を設計し、開発環境を構築し、コミュニティを育て上げたMicrosoftやAppleといった企業に対する公平さを確保するためにも、
Googleの犯罪行為には正当な罰が与えられることを望みます。
Re: (スコア:0)
こんなの認められたら、プログラミングなんてできないだろ。馬鹿じゃねーの?
Re: (スコア:0)
なんでお前みたいな馬鹿がITエンジニア名乗ってんだよ。
APIの著作権は認められて、いまはフェアユースについて争ってんだが。
Re: (スコア:0)
丸パクリで営利性を有するものへの利用(Android)ですから✘になるのでは?と思いますけどね。
Re: (スコア:0)
フォント(タイプフェース)の著作権にも似たところがありますが
権利の行使に伴う社会的不利益とのバランスの問題であって、必ずしも創造性の肯定/否定を意味しません。
後半のGoogleだけを非難する話は理解しかねるし、
もし創造性の尊重という観点なら、一番害しているのはOracleだと思いますけどね。
Re: (スコア:0)
いまどき他からのアイデアの拝借なしで一から設計された言語なんてほぼあり得ない状態なのに、軽々しく「努力して一から言語を設計し」なんて言葉が出てくるところに厚かましさを感じるのは自分だけ?
この人は普段コードを書く時も、APIのドキュメントからのコピペはせずに一文字ずつキータイプしているのだろうか?
Re: (スコア:0)
Androidの中で動いているものは公式にはJavaではない。Javaのような何か。昔はDarvikという名前だった。今は変わったらしいが、正確なところは知らん。
なんでそんなことをしたかと言えば、ラインセンスフィーを払うのが嫌だったからだ。
しかし、JavaのAPI(java.ioとかjava.utilとか)はコードベースで互換性がある。デッドコピーだから。
軽々しくコピーしたのはGoogleの方だ。
今なくなると大変なのは確かだが、それをもって贖罪にはならないよ。
かかわった物はそれなりの罰を受けるべきだ。自分も含めて。
# あー、書き換えるんですか?当然お金かかりますよ?というだけだが。
Re: (スコア:0)
APIそれ自体には著作権はなかったはずだよ。少なくとも日本ではない。
APIをまとめた書籍とか、実装コードには著作権がある。
Re: (スコア:0, 荒らし)
もう消えてますがJ++とかJ#とか在りましたね
Java捨てて (スコア:0)
さっさとgoで書き直せ
Re:Java捨てて (スコア:1)
アプリ開発環境のほうは、棺桶に片足突っ込んでたDartを引っ張り出して推すつもりらしい [techcrunch.com]けど。
世間からはあまり本気で相手にはされていないようだけどw
Re: (スコア:0)
言語を変えたところでAPIのデザインセンスの悪さは治らないと思われ。
Re: (スコア:0)
センスあるAPIの例ってたとえばどんなの?
…と聞き返すと、たいていは何も言わずにそっと逃げ出すんだよな、こういうのw
Re: (スコア:0)
そんな聞き方するヤツに、「みんながセンスないっていったら、センスない」って答えても、なんにもなんないからだろ。
Re: (スコア:0)
「きみが何を言ってるのかわからない」と人に言われたことない?w
Re: (スコア:0)
.NETかな。今だと。
まあ、、コンパイラやハード性能とか上がってJavaという先駆者での知見も利用出来るタイミングだったのもありますけどね。
まあ、使う人が追従出来てない感は強い。
#Streams/LINQ禁止なんかRDBMSの集合扱う概念否定のコボラー思考だし