More info...

2010-04-14

IBMはオープンソースを支持し続けるのか?

IBMがオープンソースソフトウェアを開発している企業に対して、特許をもって威嚇したという旨のニュースが掲載された。
マイコミジャーナル「米IBMの書簡にオープンソース支持者が非難」
メインフレームエミュレータの「Hercules」を提供する仏TurboHerculesが3月、欧州委員会(EC)に対して申し立てた競争法違反の調査に関連して、著名なオープンソース支持者が米IBMがTurboHerculesに対して送った書簡を公開し、「これまでのオープンソース支持は偽善」とIBMを激しく非難している。
フリー(自由な)ソフトウェア支持者としては、特許で威嚇と聞くと反応せざるを得ないのだが、IBMの一体何がいけないのだろうか?今日はこのニュースについて「著名なオープンソース支持者」であるFlorian Mueller氏による主張の意義を検証してみたい。

Hercules(ヘラクレス) emulatorって何?

Herculesはメインフレームエミュレータであり、ソフトウェア上でメインフレームの動作を再現する。パソコンのエミュレータとして代表的なものにはVMWareなどが存在するが、それのメインフレーム版と言えば分かり易いだろうか。

Herculesが提供しているのはハードウェアのエミュレーションであり、その上で動作するOSは提供されない。OSが提供されなければメインフレームエミュレータがあっても無用の長物であり、Herculesを利用する上ではOSの存在が非常に重要になる。HerculesのFAQを見ると、どのOSをサポートするかということが記載されている。
2.01 Can it run z/OS, z/VM, z/VSE?

Yes. Hercules is a software implementation of z/Architecture, and so it is capable of running z/OS, z/VM, and z/VSE. Hercules also implements ESA/390 (including SIE) and so it can run OS/390, VM/ESA, and VSE/ESA, as well as older versions of these operating systems such as MVS/ESA, MVS/XA, VM/SP, VSE/SP, etc.

But (and this is a big but), these operating systems are all IBM Licensed Program Products, whose conditions of use generally restrict their usage to specific IBM machine serial numbers. So you cannot just copy these systems from work and run them on your PC.

訳:2.01 z/OS、z/VM、z/VSEなどを動作させることが出来ますか?

はい、Herculesはz/Architectureを実装したソフトウェアであり、そのためz/OS、z/VM、z/VSEを実行するための能力を備えています。HerculesはさらにESA/390(SIEを含む)を実装しているため、OS/390、VM/ESA、VSE/ESAおよびそれらの古いバージョンである、MVS/ESA、MVS/XA、VM/SP、VSE/SPなどを実行することが可能です。

しかし(この点は非常に大きな「しかし」ですが)、これらのオペレーティングシステムは全てIBMによりライセンスされたプログラム製品であり、一般的にはそれらの利用条件はIBMマシンのシリアル番号に紐付けられています。そのため、単にそれらをコピーしてPC上(訳者注:その上のHerculesエミュレータ)で実行することは出来ません。
これらIBM製のOSが利用出来ないとなると、Herculesは役立たずではないか?!と思われるかも知れない。筆者もそう思う。では一体Herculesは何の役に立つのだろうか?FAQの続きを読むと書いてあるのだが、要約すると次のような説明がなされている。
  • Linux/390とかz/Linux、TELPARのようなサードパーティ製のOSなら問題ないよ。
  • OS/360みたいにパブリックドメインのOSは問題ないはず。(けど著作権法は国によって異なるし改訂もされるから合法かどうかは自分で確認してね。)
  • ライセンスには例外があって、次の条件が満たされればz/OSその他のOSを実行することが出来る。
    • P/390上で動作しているLinux上でHerculesを実行した場合。
    • 本物のメインフレーム上でLinux/390を実行して、その上でHerculesを実行した場合。
    • ディザスタリカバリ用途(メインフレームが災害でぶっ壊れてしまった!)場合。(けどHerculesをディザスタリカバリ用途で利用するのは全然推奨しないけどね!)
    • IBMの社員もしくはビジネスパートナーがデモパッケージを利用する場合。
※なお、上記の要約の出典はHerculesのFAQだが、これらの真偽はIBMへ問い合わせるなどして自分で確認して頂きたい。筆者はHerculesの利用に関して一切の責任を持たないのであしからず。

余談であるが、HerculesのライセンスはQPLであり、GPLとは互換性がない。(GNUのページを参照のこと。)ライセンスはQPLではなくGPLに改めるべきだと筆者は考える。以上、余談終わり。

TurboHerculesのビジネスモデル

このブログ記事によると、Herculesのオリジナルの著者達が昨年から商用のサービスを始めたようである。FAQには上記のように「Herculesをディザスタリカバリ用途で利用するのは全然推奨しない」と書いているものの、TurboHerculesのページを見るとディザスタリカバリ一色だ。どうやらHerculesを使ってディザスタリカバリ関係のコンサルなどを提供しているらしく、z/OSのライセンスの例外条項をついたニッチなビジネスなのだろう。(要確認注意!これはあくまでも筆者が読み取った見解であり、真偽のほどは自分で確かめて欲しい。)

TurboHerculesは現在、欧州委員会(EC)に対して、米IBMのビジネス慣行を調査するよう申し立てを行っているところである。新たな市場を開拓しようという意向が伺える。

どこかで見たことがある構図ではないだろうか?自社のOSを自社のハードウェア以外にインストールすることを認めないとしているアップルに対して、OSの解放を迫ったPsystarにだ。Psystarの場合は独禁法違反でアップルを訴訟したものの、訴訟は破棄され、Psystarは破産するに至った

IBMがメインフレームOSを解放しないことが、独占に値するかどうかはECなどの政府機関が判断すれば良いことである。つまり、TurboHerculesがECに申し立てを行うのは自由(申し立てを行う事自体は当然の権利として認められなければならない)だし、申し立てが妥当かどうかはECが調査をした上で判断するということだ。ただし、ECが調査をする基準は「IBMの行為が独占かどうか」ということである。独占は資本主義経済にとって一種の袋小路であり、資本主義経済にとって最も重要な競争原理が正常に機能するためには独占は排除されなければならない。勘違いしてはいけないのだが、ECが判断するのはオープンソースかどうかではなく、独占状態かどうかということだ。(一企業による独占の弊害については、ウィキペディアの独占禁止法の記事などを参照されたい。)

ただそれだけのことであり、一見すると別に何も騒ぎ立てる必要はないように思える。一体何が問題で「著名なオープンソース支持者」であるFlorian Mueller氏はIBMを非難しているのだろうか。

ソフトウェア特許はOSSに対する最大の脅威

オープンソースソフトウェアにとって、特許が最大の脅威だというのは常識である。オープンソースというのは、ソースコードを公開して他者が二次利用することを認める(ライセンスする)というものだが、その仕組みはソースコードの著作権により担保されている。しかしながら、特許というのは著作権とは異なる概念であり(たびたび「知財」として一緒くたにされてしまうが、それはよくないことである)、著作権法によってソースコードの利用が認められても、特許によってアイデアが保護されてしまっていてはそのソフトウェアを利用することは出来ない。しかも、アイデア自体が特許によって守られている場合、ソフトウェアを書き直して済む問題でもない。その機能は何人たりとも実装することは出来ないのである。

しかも、オープンソースソフトウェアはソースコードが公開されているが故、特許技術が使われているかどうかの識別が容易である。ソースコードがなければ、リバースエンジニアリングをしたり、その仕様などから特許が使われているかどうかを推測することしか出来ないが、ソースコードがあれば特許技術が使われていることを証明するのはいとも簡単である。

最近、巷ではアップルがiPhone OSのライセンスに新たな条項を追加してFLASHを排除する動きがニュースになっているが、ソフトウェア特許の影響力に比べれば全然マシだ。ソフトウェア特許はiPhone OSだけでなく全てのプラットフォーム、もっと言えば全人類に影響するが、iPhone OSのライセンス条項はiPhone OS上で開発を行うサードパーティにしか影響しないからだ。(ただし、アップルは特許を用いて他社をたびたび攻撃する企業だということを忘れてはならない。)

また、世界中で広く利用されているLinuxも、実際は特許に抵触する技術を利用しまくっている(が殆どの場合は企業によって容認されている)。その事はリチャード・ストールマンも指摘している。

「オープンソースの特許侵害、235件」――MS幹部が主張
この担当者はeWEEKに、Microsoftの知財・ライセンス担当副社長ホレーショ・グティエレス氏の声明を渡した。この中でグティエレス氏は、「Free Software Foundation(FSF)の創設者リチャード・ストールマン氏ですら、昨年Linuxが複数の企業の特許200件以上を侵害していることを指摘していた。実際に問題なのは、多大な特許侵害問題が発生しているかではなく、それに対して何をするかだ」と述べている。

Linuxに対しては、マイクロソフトも自社の特許技術が使われていると主張しており、今年2月にMicrosoftとAmazonが特許クロスライセンスを締結したが、「AmazonがLinuxサーバーに対する特許技術の訴訟を回避する目的があったのではないか」という推測がなされているが、確かにそういう可能性は高い。

このように、如何に著名なオープンソースソフトウェアであっても、特許技術の利用による訴訟に対しては無防備なのである。ソフトウェア特許と聞けば、オープンソース開発者は震え上がる!

実際にIBMがTurboHerculesに送った書簡は、このページで公開されており、我々もそれを見ることが出来る。本文は「我々はTurboHerculesからの要望には応えない。何故なら、z/Architectureは特許で守られているから」という旨のメッセージだけだが、その後に長大な特許リスト(z/Architectureで用いられているもの)が添えられている。なるほど、これは「雄弁な威嚇」ではないか。オープンソース支持者は叫ばずには居られないというわけだ。

IBMはパテント・コモンズの約束を破った!

IBMは特許取得件数世界一の企業である。それは言い換えると、世界一オープンソースコミュニティを攻撃する武器を携えた企業である。しかしながら、IBMはオープンソースを活用することでも知られている。IBMは自らEclipseプロジェクトを起こしたり、様々なオープンソースプロジェクトに参加したり、はたまたビジネスでも利用している。(特にLinuxはかつてのライバルであったサンを打ち破るために大活躍したはずである。)

IBM自身、オープンソースソフトウェアにとってソフトウェア特許が脅威になることを認識しており、過去には500件の特許をOSSコミュニティに無償提供したという実績がある。その特許は「パテント・コモンズ(特許共有資産)」という概念の提唱に繋がったことがニュースでも取り上げられている。以下は記事からの引用で、ジム・スターリング副社長のコメントである。
我々は、パテント・コモンズによって、イノベーション(技術革新)を起こしたいと考えています。イノベーションには、二つのタイプがあります。独自技術によるイノベーションと、オープンな技術によるイノベーションです。どちらもお客様には重要です。私たちは、所有する特許をパテント・コモンズに開放することによって、後者のオープンな技術によるイノベーションを加速したいと考えています。
非常に素晴らしい取り組みであるし、IBMは称賛されるべきであった。だが、今回の威嚇行為により、台無しになってしまった!!

TurboHerculesに送った書簡には、IBMが過去にパテント・コモンズへ提供した特許2件が含まれていた。これは単なるミスかも知れないが、だがしかし致命的なミスである。

IBMは数十万人もの従業員を抱えた巨大企業である。巨大企業では、一部の事業部における取り組みが、他の事業部に伝達されずにこのようなミスが起きることも想定されるだろう。だが、この書簡を誰が送ったのかが問題なのだ。なんとSystem z担当CTO兼副社長なのである。末端の社員ではなく、幹部がミスを犯したというのが問題なのである。CTOともなれば、自社のパテント・コモンズに対する取り組みは、もしIBMが本気でパテント・コモンズに取り組んでいるならば、当然把握していて然るべきである。しかし、ミスを犯したということは、IBMのパテント・コモンズに対する姿勢を疑わずには居られない。OSSコミュニティからの信頼を大きく損なったことは容易に想像出来る。

また、IBMが特許を持ち出してOSSを(用いてビジネスをしている企業を)威嚇したという事実も見逃せない。IBMは一方でOSSを支持する姿勢を示しておきながら、一方では自社にとって都合の悪いOSSは威嚇するということを、CTOが示してしまったのである。都合の良いOSSだけを支持するのは、単なる「利用」であり、「支持」とは言わない。

スラド(本家)の反応

少し話は脱線するが、この件はギークのたまり場であるSlashdotでも取り上げられている。非常に示唆に富んだコメントが多いので、一部抜粋して紹介したい。

> Couldn't be that a company as large as IBM might have multiple departments/divisions that don't really know what the other is doing.

It's likely yet it absolves them of nothing - you live by the sword, you die by the sword.

Corporations want to be people, remember? So, if they're being an ass, multiple-personality-disorder isn't a defense.

(筆者要約)
> 大きな会社になると別の事業部や部署で意見が統一されないことがあるよね。
もし(IBMが)強情に振る舞いたかったら、多重人格は言い訳にならないよ。

These are hardware patents, not software patents. What's interesting about this case is we have software violating a hardware patent, as it's emulating what the hardware does. A key word here is "emulating."

(筆者要約)
これらはハードウェアの特許だ。ソフトウェアのじゃない。ソフトウェアがハードウェアの特許を侵害しているのが興味深いね。エミュレーションによって。キーワードは「エミュレート」さ。

No time and money was invested in creating at least one of the patents. For example, look at one of the "infringed" patents, US Patent 7254698. The claims are merely a "shopping list" or "marketing glossy" of the peculiar feature of an ALU, which happens to be installed in a particular mainframe, that the Hercules guys would like to emulate:

Does multiply/add and multiply/subtract

Five deep pipeline, one result per cycle

binary or hex floating point format

Works on two different architecture formats.

It would take about a minute to make a spreadsheet in Excel that theoretically infringes on that patent, and probably an hour or so to make a perfect replica. Really all you need to do is implement mX+b=y with a five deep stack/array, given some peculiar input and output formats.

Now IBM will sell you a circuit board circa 2001-ish that will do this. They spent all their effort making an expensive machine that implements these simple math ideas in silicon. No one is stealing their physical hardware, or blueprints, or VHDL/Verilog, etc etc.

The emulator merely does the same calculations in C, and its free.

It boils down to IBM saying "no emulating our exact instruction set"

One ethical problem with patents like 7254698, aside from obvious ones like trying to patent basic linear algebra equations, is the supporting docs are all from 1999 to 2001 ish era. But its doing the submarine thing in that it was not issued until August 7 2007, "around a decade" after they were shipping silicon, more or less, sort of. And it won't expire until around 2023 which in the computer field is an absolute eternity.

(筆者要約)
侵害されたとされている特許のうち少なくともひとつ、例えば米国特許 7254698のようなものを発明するのに金はかかってないよ。こんなのはALUの特定の機能に対する「ショッピングリスト」や「マーケティングをもっともらしく見せるもの」のようなもの。Herculesは次のようにエミュレートすればいいだけさ。

・積算/加算および積算/引き算
・5階層の深さのパイプラインが、1回のサイクルでひとつの結果を出す
・binaryもしくはhexの浮動小数点フォーマット
・2種類のアーキテクチャのフォーマットで動作する

Excelを使って1分で作ったスプレッドシートでさえ、論理的にはこの特許に抵触してしまう。1時間もあれば完全なレプリカを作ることができるだろう。実装しなければいけない野は「mX+b=y」という演算を5階層のスタックもしくは配列を用いて、特定のフォーマットの入力と出力を行うということだ。

今、IBMの都合はおおよそ2001年っぽい回路基板を販売してくれるだろう。彼らはとても高価なマシンを、とてもシンプルな演算をシリコン上に実装したものを開発するためにとても努力したんだ。誰も彼らの物理的なハードウェアや設計図、VHDLやVeriloa等々を盗んだりはしないよ。

エミュレーターは同じ事をC言語でおこなう。しかもタダで。

今回のことを要約すると、IBMは「我々のハードウェアの命令セットを正確にエミュレートすることは断じて許さない。」ということだろう。

米国特許 7254698のようなものには倫理的な問題がある。とても基本的な代数の方程式に対する特許が1999年〜2001年にかけて取得されたという。しかもそれらはサブマリン特許のようなもので、実際に認められたのは2007年8月7日、なんと実際に回路を製品に組み込んで出荷してから10年近くも要している。その上、2023年ごろまで、コンピュータ業界にとっては永遠とも言えるようなときまでその特許は失効しないんだよ。

Check out their website. The quotes they've listed.

“ I have installed your absolutely fantastic /390 emulator. You won't believe what I felt when I saw the prompt. Congratulations, this is a terrific software. I really have not had such a fascinating and interesting time on my PC lately. ”
— IBM Large Systems Specialist

“ Such simulators have been available for a long time. One of the most complete (up to modern 64-bit z/Architecture) is hercules. ”
— Michel Hack, IBM Thomas J. Watson Research Center

An apparently excellent emulator that allows those open source developers with an "itch to scratch", to come to the S/390 table and contribute. ”
— Mike MacIsaac, IBM

(筆者要約)
奴ら(Hercules)のウェブサイトを見てみろよ。リストアップされているユーザーの声をさ。

・・・IBM社員による称賛の声・・・

What's _really_ interesting is that IBM instructs students competing the Master the Mainframe contest to download and use Hercules. At least they did in '06.
http://www.ibm.com/developerworks/university/students/contests/mainframe/index.html

(筆者要約)
本当に興味深いのは、IBMは「メインフレームマスターコンテスト」で競い合っている学生にHerculesをダウンロードして使えって指示してるってことさ。少なくとも2006年に開催されたときにはね。

So they are open source friendly if it makes them money, and not if it loses them money.

They are not your friend. As the VB developers found out a few years ago, they'll dump you with no upgrade path if it makes financial sense to do so.

IBM does some good stuff (Eclipse) but they are not your friend.

(筆者要約)
IBMはオープンソースが金を生み出すときだけ友好的で、金を失うならそうじゃなくなる。彼らは君の友達じゃないよ。

さすがスラド本家。話の分かるギーク達が集っていらっしゃる。

スラド日本版の反応

ちなみに、日本語版でもこの件は話題として取り上げられていたのでコメントしたのだが、ひどい個人攻撃を受けてしまった。例えば次のようなものだ。

あなたのように現実世界よりも自分の思想を優先させるような人は身内の癌ですね。

どうしてあなたはそうオールオアナッシングな発想なんですか。
IBMは企業としてできる範囲でOSSに協力しているんでしょうに。あなただって人生のすべてをOSSに捧げているわけではないでしょう?

あなたは自分の仕事とプライベートな活動は区別している。どちらも生活の一部でしょうに。立派なダブルスタンダードですこと。

両者のクオリティの違いには、愕然とせざるを得ない。しかも本家とは違い、日本語版はほとんどがACによる発言である。迂闊に書き込んだ俺にも非はあるが、それにしてもひどい。相手のパーソナリティを攻撃することは、議論では絶対にやってはいけないことだ。

スラド日本版のコメントは、信頼に足るソースではないと痛烈に感じてしまった次第である。(たぶんもう読まない。)

IBMはどうするべきだったか

さて、本題に戻ろう。

今回、IBMの幹部(CTO)が送った書簡は、明らかなミスである。ミスの内容は明確で、「特許をちらつかせた」というのが誤りなのである。z/OSなどの著作権はIBMにあるため、別に特許を持ち出すまでもなく、TurboHerculesの要望を突っぱねることは可能だった。特許を持ち出したから話がややこしくなってしまったのである。

Florian Mueller氏の狙いを予想してみる。

IBMはミスを犯したことは犯したが、Florian Mueller氏が騒ぎすぎだという感も否めない。なぜ、Florian Mueller氏はこれほどまで大騒ぎして、ここまで痛烈にIBMを批判したのか。TurboHerculesからの依頼か?もちろんそれも大きな要因ではあると思うが、もっと政治的な事情が背後にあるように思えてならない。

ひとつはIBMへの牽制である。「パテント・コモンズへの取り組みが本物かどうか、俺たちは見ているぞ!」という。パテント・コモンズはオープンソースにとって歓迎するべきものであるということは変わりはない。ただし、IBMがその約束を守らなければ意味はない。企業は利益を追求することに躍起だ。IBMがパテント・コモンズに対する取り組みではなく、企業利益を優先することはごく自然なことである。だから厳しい目を向けることが大切なのだ。

今回のことで、IBMのオープンソースに対する取り組み、即ちブランドイメージは多少なりとも傷ついただろう。傷ついたイメージを回復させるには相応の対価が必要になる。そしてより大きなオープンソースソフトウェアへの約束(例えばもっと多くの特許をパテント・コモンズへ寄贈するなど)を、Florian Mueller氏はIBMから引き出そうとしているのかも知れない。

IBMが今後やるべきこと

ともかくも、今回のことでIBMのブランドイメージはダメージを受けた。IBMがOSSへの取り組みをアピールし続けたいなら、まずは全力で誤解を解消しなければならないだろう。まず最初にしなければいけないの、Herculesプロジェクトそのものを特許で攻撃にする意志はないということを表明することだ。IBMはOSSにとって最大の武器である特許を携えている。その矛先をOSSに向けることはないというメッセージを、いち早くOSSコミュニティに対して発信しなければ、両者の溝が深まる可能性がある。

さらにIBMがOSSへの取り組みをユーザーにアピールしたいと、信頼を取り戻したいと考えているならば、上述したようにさらに追加で特許をパテント・コモンズへ寄贈するということは非常に有効である。もしそのように誠実な対応を取れば、IBMのブランドイメージが傷つくどころか、より強固になることは間違いない。

TurboHerculesへの対応であるが、彼らはビジネス的にはIBMのライバルであり、真っ向からビジネスで競い合えば良いと思う。それでTurboHerculesが破産することになっても、それは仕方がないことだ。ただし、上記でも述べたが彼らが健全な競争を行うためには、IBMが独占的な立場を利用することがあってはならない。その点についてはECが調査中であり、両社はECの判断に従うべきである。(その結果、TurboHerculesにとって不利な判断が下ったとしても、それは仕方がないことだ。逆もまた然り。)

最後に、これは個人的な見解であるが、IBMはプラットフォームの品質で正々堂々と競争すべきだと思う。正直、IBMがHerculesを恐れる理由が分からない。Herculesはしょせんはエミュレーターであり、本物のメインフレームが持つ処理能力、耐障害性、手厚いサポートといった利点は持ち合わせていない。単にメインフレーム向けのプログラムが実行出来るだけである。

そういうわけで、この件に関してIBMの対応がどのようなものになるかを注視せずにはいられない。果たしてIBMはオープンソースを支持し続けるのか?そうであって欲しいと願うばかりなのである。

1 件のコメント:

  1. IBMの意志ははっきりしていると思います。
    ①MainFrameはIBMの牙城であって、それを侵すものは、だれであろうと叩き潰す。
    ②OpenFrameは勝者が決まっていないので、自社以外の対抗馬が不利になることであれば、何でもやる。
    ゆえに②の範囲内であれば、支持する。端的に云えばそういうことかと思います。

    返信削除