« Java EE 5のDI機能はアノーテーションだけでなくXMLでも定義できる | トップページ | glassfish: Java EEモジュール・デプロイ方法のいろいろ »

OpenDarwin活動停止とAppleのオープンソース戦略の失敗

OpenDarwinが活動を停止しました(田中俊光のblog「OpenDarwinの活動停止」より)。

今後、Mac OS Xは他のほとんどのUNIX OSとは異なり、クローズドなUNIX OSとなります。

OpenDarwinのnewsページ「OpenDarwin Shutting Down」では、非常に紳士的な言葉でOpenDarwinプロジェクトの失敗を伝えています。そこには、Appleへの批判はなく、単に自らの努力が足りなかったということに終始していますが、失敗の原因の多くはApple側にあったと考えられます。

A Brief History of Apple's Open Source Efforts」を読むと、コミュニティ側の苦労が伺えます。マスターのソースコードはApple社内で管理され続けたこと、常にBSDレイヤの全てが公開されたわけではなかったこと、Appleのビルドシステムはとても複雑でドキュメントなしではとても使いこなせるものではなかったこと、そして、最終的にはAppleが今後ソースコード公開をしないと決断したことなど。結局のところ、Appleは本気でカーネルとBSDレイヤの開発をコミュニティ・ベースに移行するつもりはなかったのでしょう。

Appleはコミュニティからのフィードバックを期待して、OpenDarwinに出資したのだと思いますが、やはりオープンソース・ビジネスに対する態度が中途半端であったと言わざるをえません。これは、現在のAppleのビジネスのやり方(徹底した秘密主義と、イベントでのサプライズを発表して、ユーザの注目を得る)には合わないでしょうし、Mac以外のPCハードウェアでMac OS XをブートさせたくないAppleがDarwinの全てのソースコードを提供するというのは確かに難しいことなのかもしれません。

しかし、それでもOpenDarwinプロジェクトの継続を、Appleはなんらかの形で継続して欲しかったと思います。OpenDarwinには素晴らしいサブプロジェクトが多くあり、Mac OS Xのデベロッパ・コミュニティの拡大という意味においては十分成果をあげていると思います。SafariのベースになっているWebKitの公開によって、WebKitはNokiaの携帯電話ブラウザに採用されましたし、Droseraという素晴らしいJavaScriptデバッガも生まれました。他にもDarwinPortsDarwineXPostFactoなど素晴らしいツールが開発されています。オープンソースの好循環というのは、コミュニティがデベロッパを集め、ここで開発されたツールやアプリケーションの拡大がMac OS Xの魅力を増加させ、ユーザがMac OS XをMacハードウェアを選択しようと思わせることによって機能します。その意味では、Darwin/OpenDarwinのブランド戦略やOpenDarwinのデベロッパ・ポータルとしての位置づけに、Appleのマーケティングがもう少し力を発揮すべきだったのではないかと思います。

AppleがDarwinのオープンソース化をやめ、OpenDarwinを閉鎖する一方で、AppleはSolaris 10のZFSを採用するかもしれないと噂されています。Appleのこの態度はどうなのでしょう。個人的にはMac OS XにZFSという素晴らしいファイルシステムが採用されるのは大歓迎です。しかし、それはオープンソース・コミュニティに対してAppleが貢献しているという態度があってこそ許されることです。

OpenDarwinの閉鎖を契機にMacから去っていくデベロッパが増えないことを祈らずにはいられません。

|

« Java EE 5のDI機能はアノーテーションだけでなくXMLでも定義できる | トップページ | glassfish: Java EEモジュール・デプロイ方法のいろいろ »

mac」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/181807/11139227

この記事へのトラックバック一覧です: OpenDarwin活動停止とAppleのオープンソース戦略の失敗 :

« Java EE 5のDI機能はアノーテーションだけでなくXMLでも定義できる | トップページ | glassfish: Java EEモジュール・デプロイ方法のいろいろ »