2009年02月14日

emacsでの shift+space

emacs ではこれまで canna を使っていたが、anthy に切り替えている。
だけどいろいろLinux をインストールしなおしていつも引っかかるのが、shift+space の問題。
Anthy ではshift-space で scim が on/offしてしまうので非常に使いにくい。
解決策として、.bashrc に以下の記述を追加する。

    alisa emacs="XMODIFIERS=@im=none emacs"


posted by tshibata at 08:21| Comment(0) | TrackBack(0) | Linux

2008年12月30日

RedHat のビジネス実績

http://investors.redhat.com/releasedetail.cfm?ReleaseID=355633
に RedHat の2008年3Qの実績が公開されていた。
3Qの実績の売上は$165.3Mで昨年同期比22%アップ。うちSubscription は135M$ということで、ほとんどはこの Subscription から得ている。

さらに過去に遡ってみたら以下のような感じ。

2008 2Q:  164.4M$  29%up
2008 1Q:  156.6M$  32%up
2008年の1Qから3Qの実績に加えて、4Qが3Q同じと仮定すれば、650M$程度になるか?

2007年の Annual report からは、
2008/2/28 時点の売上(2007年度実績)は 523M$, 2006年度は400M$. 2005年度は 278M$ということだった。

ここからすれば、2009年度は前年に比較して25%程度up ということになる。

このようにうまく行っているのは RedHatだけなので、いずれもっと深く研究しなけければならないなあ、と思う
http://investors.redhat.com/downloads.cfm

http://investors.redhat.com/events.cfm
が参考になる

posted by tshibata at 23:58| Comment(0) | TrackBack(0) | Linux

2008年11月26日

メンテナの仕事

Linux Foundation のシンポジウムのパネルの話から。
カーネルメンテナーの仕事は何か?
担当している領域のパッチを集める
それらが十分品質がよいかレビューなどで見極める、またデザイン・設計としてどうなのかを判断する。
ソースコードや実装上大丈夫であっても、メンテナンス面での課題などさらに長期的な視点でも判断する。
当然、必要な部分については自身で開発もする、またバグのFIXも必要なら自分で実施する。

大きなサブシステムを持っている賢いメンテナの場合には、自分の回りの信頼できる人を育てて、自分のカバーしきれない部分について支援してもらうようにすることも行う。そのような場合には、弟子と師匠の関係のような深い絆のようなものになる場合もある。

このようにメンテナというのは単にパッチをたくさん出すだけでなく、まさに担当領域の管理人というような役割といえるだろう。

posted by tshibata at 22:02| Comment(0) | TrackBack(0) | Linux

2008年11月20日

kernel summit とは?

Linux Foundationのシンポジウムにて Ted T'so がプレゼンした資料より。

カーネルメンテナーも face to face で議論しなければならなくなった時点で
カーネルサミットが開始された。
当初は USENIX がロジのサポートをしていたが、2007年からは Linux Foundation が実施するようになった。

カーネルサミットに招待する人の決め方としては、git リポジトリから Singed-off-by のタグを参考に最初にリストを作り、さらに追加すべき人をノミネーションして、それを元に投票して決まる。採集的に70-75人の候補者を数回の電話会議などで決める。

その他にはスポンサ枠やMAINTAINERファイルに登録されている人から5人、またエンドユーザ枠もある。
このプロセスは公開メーリングリストで実施さえるのでみられる。

うーむ、プロセスを公開してしまうのも、オープンソースの強みだよな、と思う

http://www.linux-foundation.jp/uploads/seminar20081119/2008-11-kernel-summit.pdf
posted by tshibata at 23:50| Comment(0) | TrackBack(0) | Linux

2008年11月16日

kernel summit の歴史

2001年3月30日31日に第1回のkernel summit が開催された。場所は San Jose California。2日間で第一回の主催はUSENIXとOSDN。参加者は65名。
この時はThe Linux 2.5 kernel summitと呼ばれた。

議論された内容は以下:
High Performance Database requirement, SCTP, Block layer design, high performance filesystem, Network driver API,  Hot plug devices, NUMA, Kernel build system, VM, NSA Linux, AIO, Power Management, bitkeeper
この時点で SE Linux や bitkeeper, SCTP, hotplug, NUMAなど後に統合された機能の話題が議論されているのが印象的。

第2回は2002年6月24日25日にカナダのオタワで開催された。参加者は約80名。2.5kernelの議論が実施された。
内容をひろってみると以下:
AMD X86-64ポート、kernel parameter, module, VM、Block I/O、Database, HP's kernel wishlist, LSM, AIO, SCSI,kernle release management(2.5 からどう2.6に移行するか) など

ここまででも現在のステーブルな開発プロセスの原型を作ってきたのがカーネルサミットであることが分かる





posted by tshibata at 09:27| Comment(0) | TrackBack(0) | Linux

2008年11月13日

kernel summit の歴史

2009年には日本にkernel summit がやってくるのだが、これまでどんな風にカーネルサミットが実施されてきたのかをつらつらと調べてここに書いてみる。

まず全体像をとらえよう、
カーネルサミットは 2001 年に米国 San Jose で開催された。その後2002年から2006年まではカナダのオタワで実施。毎回、オタワのLinux Symposium (OLS)の前の2日間で実施されていた。
その後、2007年はオタワを離れ、英国ケンブリッジで開催、2008年は米国ポートランドで Plumbers Conference の直前に開催された。
そして来年2009年は日本で実施されるということになっている。

このような変遷のカーネルサミットであるが、当初から invitation onlyのイベントであり、内容のレポートを読んでみると、カーネル開発の最高峰の会議として重要な face to face のイベントであることがよく分かる。

以下の wikipedia ページにはその歴史がよくまとまっている。
http://en.wikipedia.org/wiki/Linux_Kernel_Developers_Summit

posted by tshibata at 22:35| Comment(0) | TrackBack(0) | Linux

2008年11月12日

LinuxのデバイスドライバはWindowsのものに比べて1/3

O’reillyの記事で、Greg Kroah-Hartman のインタビューを読んだ。LWN.netの抜粋にもあり、以下のような感じ。

Linuのドライバは普通はWindowsのものに比べると1/3であり、カーネルのソースコードの中にサンプルが多数存在するので、新しいハードウェアであっても新しいドライバを書かなければならないような例は少なく、ふつうはコードをコピーして動かすことができる。そのコードは継続的にメンテされる。また、古いものも消さないし、どんなプロセッサのためのものでもメンテする。 Linux は世界のtop500のスーパーコンピュータの80%で動作しているし、また組み込みではナンバー1のOSになっている(そのように幅広く動いているからドライバもまたきちんとメンテする、という意味:だと思う)
この辺りもLinuxの素晴らしいところだと思う。

http://broadcast.oreilly.com/2008/10/how-linux-supports-more-device.html
posted by tshibata at 22:43| Comment(0) | TrackBack(0) | Linux

2008年11月10日

Linux 関連 Conference の動向

これまではオタワの OLS にいくのがいいとされてきたけれども、最近は事情が変わってきている。
どうなのか、というとこれまでは、kernel summit が OLSの2日前から始まって2日間やった後にOLSだったので、カーネルメンテナー達が皆、OLSの場に残ってうろうろしていたから、「OLSに行けばメンテナと直接会って話ができる」と思っていた。Linus ですら居たのだから。
だけど、2007から、カーネルサミットが他に移ってしまい、状況が変わってきた。オタワに行ってもあまりカーネルメンテナーが居ないのだ。
カーネルサミットはどこに行ったのか、というと2007年はケンブリッジに行った。同時に欧州のユーザグループはOLSと同じようにカンファレンスを開いた。2008年は今度はポートランドに行った。(米国オレゴン州)なので、Plumbers Conference を開催した。

今後はどうなるのか?
2009年は日本に来ることが決まっている。
2010年はどうなのだろうか?

ちなみに、2007年の欧州のConference はローカルなカンファレンスとしてすでに実際されており、2008年に実施した Plumbers Conference は来年も同じ場所でやるらしい、さらに、同時期には Linux.con という Call For Paper ベースのカンファレンスもやる、というアナウンスが出ている。

これからはカーネルサミットがいろいろなところを回り、ローカルなカンファレンスを育てる、という形になるのだろうか?

オタワは長年やってきた会場が老朽化したため、2年位かけて改装するのだとか、そのため来年はオタワではできず、モントリオールでやるらしい。だけどこれまでのようなワールドワイドなカンファレンスにはなりそうもないのではないかな... と思う

posted by tshibata at 23:31| Comment(0) | TrackBack(0) | Linux

2008年09月19日

Kernel summit 2008

今年のカーネルサミットは9/15, 16日にポートランドで実施された。
Plumbers Conference の直前に実施されたので、その後メンテナー達はカンファレンスにも参加しやすいということ。
これまでは オタワのシンポジウムであったが、昨年からオタワを離れ、ケンブリッジに開催され、今年はポートランド、来年は東京という訳。
すでにlwn.net に記事が掲載されている。
http://lwn.net/Articles/298587/
カーネルサミットは invitation only で80名のメンテナが参加した。

lwn.net の記事について触れる前にカーネル開発者達の組織構造について考えてみたい。

まず、Linus を中心とした本当にコアなメンテナ(カーネルサミットに参加可能なほど重要と認識さえる人)は約80名程度居るが、その他にもドライバのメンテナを含めれば300名近くがたしか Maintainers ファイルに登録されていた。
ということは、Linux カーネルの開発はコア部分が80箇所、ドライバを含めれば300箇所に分割されて開発されているということだ。
また、コア部分のメンテナ80名だけを考えれば、彼らは信頼できる 5名から15名の開発者と共に開発しているので、平均10名と考えれば、800名がコアのメンテナと共に開発をしていることになるであろう。

一方実際のデータとしては、
http://www.linuxfoundation.org/publications/linuxkerneldevelopment.php
を参照すると最近のリリースでパッチがマージされた開発者の人数としては、800名から1000名となっており、ちょうど上の試算が一致する。(残りは新規に入ってきた人だろう)

このように考えると、細分化されたLinux の各パートでは約10名程度が開発している、ということになる。

最近のカーネルの行数は約8.5MLから9MLであろうから、300箇所に分担してあるとして平均すれば、9ML ÷300=30KL ということで、各分割されたパートはおおざっぱに30KL であろうか。

ドライバを何人でメンテしているかは分からないが、コア部分も同じ割合として考えると 30kL をメンテナを含む 10名がメンテしてるというのが、Linux の現在の状況ではないだろうか?

ここから追記:
もう少し考えて、ドライバなどは種類が多くまた、ここのコードのサイズについてはきちんと調査をした方がいいかもしれない、上記の数字はおおまかなものであり、分割したもの平均を考えたのでそれぞれ個々については違いがあるだから。
posted by tshibata at 23:12| Comment(0) | TrackBack(0) | Linux