火曜日, 5月 01, 2007
初仕事・・システムは動いてなんぼの世界である
今、暮らしのデザインというところでWeb通販、エディオンダイレクトの仕事をしている。暮らしのデザインはもともとダイエー、OMCの1事業であったが、3年前にエディオングループになった。それに伴い、カタログ通販から、Web通販、家電販売という要素が加わった。それでも最近では、単なる通販モデルでは通用しなくなってきたので、抜本的に改革しましょうという話になり、Web2.0的要素を組み入れた通販システムの再構築をやることになった。まずはじめに私が手をつけたのは配送サービスのところ。これをフェーズ1とした。Web2.0とはまったく関係ないと思われるかもしれないが、配送の納期短縮はお客様サービスの向上という意味で非常に重要なので、まずはこれを優先してやることにした。そして、新しい受注システムを導入するにあたり、現在のバッチ処理をやめてリアルタイム処理にした。旧システムでは、バッチで物流システムと連携していたので、商品を受注して出荷指示がでるまでに2日、お客様にお届けできるには最短で4日かかっていた。それが新システムでは、その日のうちに出荷して、お客様には翌日にお届けできるようになった。フェーズ1は、今年の2月から開発、4月9日にサービスインなので、なんと2ヶ月で作ったことになる。面白いもので、実際に動くものを見せられると、人の意識は異なってくる。入社時と今では全く違う環境になった。今後、Web2.0システムへと大きく発展させるためには絶対に踏まなければならない一歩であった。
それから、今回を期にポイントを10%にさせていただいている。赤字覚悟の出血大サービスなのだが、これぐらいで赤字になるようであればだめである。今の冗長なシステムにメスを入れて、究極の低コストモデルを追及していかなければならない。それが競争力となる。「居ながらにして買って安心」を実現するためには、避けては通れない道であると信じている。
エディオンダイレクト フェーズ1
日曜日, 4月 15, 2007
萎縮する
ずいぶん久しぶりに書くこのブログ。決してネタがなくなったわけではない。忙しくて書く暇がないのであるが、一番の理由は萎縮してしまったことだ。会社を代表する一人として自分の記事が良くも悪くも多くの人に影響を与える。そのなかには株主もいることだろう。自分にとって都合のいい言葉を選んで書くのは、当たり障りのない面白くないものになる。唯一、発言できることは
正論
これほど面白くないものはない。私は間違ったことはしてはならないのであり、正論を述べるべきだという圧力があって選択の余地はない。だから、私は口をつぐむ。
正論はときに最悪を生む。悪意をもっていようがいまいが結果としてそうなる場合がある。
まず、以下のエントリを読んで欲しい。これは、JavaScript、ActionScriptの分野でインスピレーションをかきたてられる愛読blogの一エントリである。
■[javascript]「勝手に添削 - JavaScript 入門」を勝手に添削
amachanの講義内容に弾氏が「勝手に添削」したことに対する反論である。誤解してほしくないのは、正論をいっているのは、amachanでも、弾氏でもなく、実はblogコメントの投稿者(=世間様)である。
「こういったやりとりこそ、blogの醍醐味であり、(amachanは)当然やるべきだ。」by 世間様
この大きな圧力は、amachanを苦しめるだろう。なぜなら、常にamachanは正しいことを言うはずだと仮定されており、amachanは萎縮してしまう。その結果、世間様に自分の進みたい方向じゃない方向に引っぱられる。(=言いたいことが言えなくなる)
正論はときに最悪を生む。正論を発する輩に遭遇した場合、正しいと思ってもすべて受け入れるのではなく、一歩下がってスルー(無視or沈黙)で対応するのも一つの方法だと思う。
どうか、口をつぐむことがないようにお願いしたい限りだ。私もがんばろうっと。
正論
これほど面白くないものはない。私は間違ったことはしてはならないのであり、正論を述べるべきだという圧力があって選択の余地はない。だから、私は口をつぐむ。
正論はときに最悪を生む。悪意をもっていようがいまいが結果としてそうなる場合がある。
まず、以下のエントリを読んで欲しい。これは、JavaScript、ActionScriptの分野でインスピレーションをかきたてられる愛読blogの一エントリである。
■[javascript]「勝手に添削 - JavaScript 入門」を勝手に添削
amachanの講義内容に弾氏が「勝手に添削」したことに対する反論である。誤解してほしくないのは、正論をいっているのは、amachanでも、弾氏でもなく、実はblogコメントの投稿者(=世間様)である。
「こういったやりとりこそ、blogの醍醐味であり、(amachanは)当然やるべきだ。」by 世間様
この大きな圧力は、amachanを苦しめるだろう。なぜなら、常にamachanは正しいことを言うはずだと仮定されており、amachanは萎縮してしまう。その結果、世間様に自分の進みたい方向じゃない方向に引っぱられる。(=言いたいことが言えなくなる)
正論はときに最悪を生む。正論を発する輩に遭遇した場合、正しいと思ってもすべて受け入れるのではなく、一歩下がってスルー(無視or沈黙)で対応するのも一つの方法だと思う。
どうか、口をつぐむことがないようにお願いしたい限りだ。私もがんばろうっと。
日曜日, 1月 14, 2007
ビジネス優先とはどういうことか その2
先の投稿では偉そうに書いたのだが、よく思い出してみると、私も失敗していたことがあった。そのことについても触れねばなるまい。
Y運輸様の荷物追跡システムの最初のリリースでは、OS/390で動作するWEBサーバのCGIプログラムによるものだった。信じられるだろうか?AIXどころかS/390である。S/390で作ったのが失敗だったというわけではない。むしろ、その逆の話であった。
当時、OS/390は、UNIXファイルシステムの拡張がなされ、同時に、CコンパイラやWebサーバなどのいくつかのUNIXのプログラムが移植されていた。今ではLinuxも動作するので驚くことはないが、当時はオープン化の最初の段階である。その仕組みはまったく想像すらできなかった。どれもこれも、やっと動くというレベルであり、実用上のパフォーマンスは望めなかった。そのうえ、EBCDICコードである。どう考えても、AIXで作った方がいいにきまっている。しかしAIXは単なる開発機だ。そこで開発したものを、OS/390に移し、わざわざコード変換して動作させていた。繰り返しになるが、開発機の方がだんぜん速い。
私は技術者として非常に後ろめたい気持ちになり、こっそり比較表を作ってお客様に公開した。
その数時間後、IBMの営業にどなられた。
「S390を選択していただいたお客様の立場を考えろ。」
当時はすでにダウンサイジングが進み、F社はホストをやめてUNIXにしようとしていた。
だが、お客様はUNIXは尚早と考えている。一方、IBMはOS390のオープン化といった新しい可能性を追求していた。お客様は、ホストというプラットォームにおいて、「将来にわたっての」IBMの真価を見極めようとしていた。要するに、WEBサーバのパフォーマンスはあまり重要ではなかった。私は見せなくていいものを見せたのだが、幸運にも大事に至らず、お客様はOS390を支持してくださり、前代未聞のS390<->F連携システムによる、荷物追跡システムができた。その2年後、UNIXサーバがお客様内で認知され、ご導入いただきWebは移行された。F社ではなく当然のようにIBMのUNIXサーバが採用された。荷物追跡システムの成功により、e-BusinessはIBMというイメージは焼きついていたからである。さらに、基幹システムであるデータベースサーバも導入いただくことができた。いわゆる、WinBackであった。
ビジネス優先とはこういうことだった。
Y運輸様の荷物追跡システムの最初のリリースでは、OS/390で動作するWEBサーバのCGIプログラムによるものだった。信じられるだろうか?AIXどころかS/390である。S/390で作ったのが失敗だったというわけではない。むしろ、その逆の話であった。
当時、OS/390は、UNIXファイルシステムの拡張がなされ、同時に、CコンパイラやWebサーバなどのいくつかのUNIXのプログラムが移植されていた。今ではLinuxも動作するので驚くことはないが、当時はオープン化の最初の段階である。その仕組みはまったく想像すらできなかった。どれもこれも、やっと動くというレベルであり、実用上のパフォーマンスは望めなかった。そのうえ、EBCDICコードである。どう考えても、AIXで作った方がいいにきまっている。しかしAIXは単なる開発機だ。そこで開発したものを、OS/390に移し、わざわざコード変換して動作させていた。繰り返しになるが、開発機の方がだんぜん速い。
私は技術者として非常に後ろめたい気持ちになり、こっそり比較表を作ってお客様に公開した。
その数時間後、IBMの営業にどなられた。
「S390を選択していただいたお客様の立場を考えろ。」
当時はすでにダウンサイジングが進み、F社はホストをやめてUNIXにしようとしていた。
だが、お客様はUNIXは尚早と考えている。一方、IBMはOS390のオープン化といった新しい可能性を追求していた。お客様は、ホストというプラットォームにおいて、「将来にわたっての」IBMの真価を見極めようとしていた。要するに、WEBサーバのパフォーマンスはあまり重要ではなかった。私は見せなくていいものを見せたのだが、幸運にも大事に至らず、お客様はOS390を支持してくださり、前代未聞のS390<->F連携システムによる、荷物追跡システムができた。その2年後、UNIXサーバがお客様内で認知され、ご導入いただきWebは移行された。F社ではなく当然のようにIBMのUNIXサーバが採用された。荷物追跡システムの成功により、e-BusinessはIBMというイメージは焼きついていたからである。さらに、基幹システムであるデータベースサーバも導入いただくことができた。いわゆる、WinBackであった。
ビジネス優先とはこういうことだった。
ビジネス優先とはどういうことか
まず、Reflex開発優先ではなく、リアルビジネスを優先すること。私はこの判断は間違いではないと思っている。ある程度作ったものをリアルの世界でも試してみて、そこで得られた結果が反映される。これはアジャイルの基本だし、Web2.0のサービスが往々にして「永遠にベータ」といわれるのはこういう理由からだと思う。
T社長の一言、「うちを実験場だと思って結構」。この言葉に釣られた感じはあるが、そもそも実験場にしたところで後ろめたいことは何もない。結果としてお客様の満足度は高まるのはまず間違いない。これはIBM時代からやってきたことだし、お客様は決してだまされたとは言わなかった。その代わり、成功が絶対条件だ。
1997年、日本で初めてWebSphereを導入いただいたお客様は私に騙されたふりをしてくれた。
当時はCGIに比べて品質、パフォーマンスに劣るServletを業務に使うなんて到底考えられなかった時代である。私は求められても比較表を書かなかった。ただ、将来のためにWebSphereを使ってほしいと説得しただけである。その後、Servletはアプリケーションサーバとなり、普通に使われるようになった。
実は、説得という意味では、お客様よりIBM社内の方がきつかった。当時では普通であったNet.Dataをなぜ提案しないのか、WebSphereのような不安定なものを導入して、リスクはいったい誰が取るのか、TCTという技術リスク検討MTGのときにいろいろ言われた。でもなんとかソフトウェア事業部を味方につけてやり遂げたのだった。
IBM社内のネガティブな点については、もっといいたい。
LAMPの兆しが出始めの2002年末から2003年初頭、私はあるお客様の受発注システムで、Linux+PHPを提案した。2003年はIBMがオープンソースビジネスに本腰を入れるはじめた年で、その年の戦略キーワードにはLinuxの文字がはっきり書いてあった。私は驚きつつもIBMの戦略の意図は読み取れたので、AIXではなくLinuxで、WebSphereではなくPHPで提案した。1997年にWebSphereを提案した時代とは異なり、次のパラダイムが起きようとしていたのである。提案はお客様に受け入れられたのだが、いざプロジェクトがスタートという時期に、私の転属が決まり、そのプロジェクトは後任に任せざるを得なくなった。ところが、その後任は、私の提案を捨て去り、AIX+WebSpereで再提案をしたのだった。1997年に比べてTCTは簡単にクリアできるだろうが、今更WebSphereを提案することに、ITスペシャリストとして何の意味があるのだろうと私は思った。彼は1997年にWebSphereを提案できただろうか?あるいは、Web2.0全盛の今であれば、きっとその彼もチープ革命とかいって、LAMPを提案するかもしれない。だがそうじゃないだろうと思う。業界をリードするIBMであるならば、猫も杓子もWeb2.0の今よりも、もう少し早く提案しなきゃだめなんじゃなかろうか。それに、LAMPは少なくとも3年前に一度提案して破棄されたものなのだ。今のお客様に提案したところで、果たして受け入れてくれるか疑問である。私がお客様だったら、責任もって未来永劫、AIXとWebSphereのサポートをせよと要求するだろう。
1997年
お客様の将来よりもその時のビジネス優先(Net.Data)
その時のビジネスよりも将来を優先(WebSphere)
2003年
お客様の将来よりもその時のビジネス優先(AIX+WebSphere)
その時のビジネスよりも将来を優先(LAMP)
本当のビジネス優先とは、現在だけでなく、将来も担保してあげることなんじゃなかろうか。
それには、慧眼の持ち主でなければ成しえないとは思うが。
T社長の一言、「うちを実験場だと思って結構」。この言葉に釣られた感じはあるが、そもそも実験場にしたところで後ろめたいことは何もない。結果としてお客様の満足度は高まるのはまず間違いない。これはIBM時代からやってきたことだし、お客様は決してだまされたとは言わなかった。その代わり、成功が絶対条件だ。
1997年、日本で初めてWebSphereを導入いただいたお客様は私に騙されたふりをしてくれた。
当時はCGIに比べて品質、パフォーマンスに劣るServletを業務に使うなんて到底考えられなかった時代である。私は求められても比較表を書かなかった。ただ、将来のためにWebSphereを使ってほしいと説得しただけである。その後、Servletはアプリケーションサーバとなり、普通に使われるようになった。
実は、説得という意味では、お客様よりIBM社内の方がきつかった。当時では普通であったNet.Dataをなぜ提案しないのか、WebSphereのような不安定なものを導入して、リスクはいったい誰が取るのか、TCTという技術リスク検討MTGのときにいろいろ言われた。でもなんとかソフトウェア事業部を味方につけてやり遂げたのだった。
IBM社内のネガティブな点については、もっといいたい。
LAMPの兆しが出始めの2002年末から2003年初頭、私はあるお客様の受発注システムで、Linux+PHPを提案した。2003年はIBMがオープンソースビジネスに本腰を入れるはじめた年で、その年の戦略キーワードにはLinuxの文字がはっきり書いてあった。私は驚きつつもIBMの戦略の意図は読み取れたので、AIXではなくLinuxで、WebSphereではなくPHPで提案した。1997年にWebSphereを提案した時代とは異なり、次のパラダイムが起きようとしていたのである。提案はお客様に受け入れられたのだが、いざプロジェクトがスタートという時期に、私の転属が決まり、そのプロジェクトは後任に任せざるを得なくなった。ところが、その後任は、私の提案を捨て去り、AIX+WebSpereで再提案をしたのだった。1997年に比べてTCTは簡単にクリアできるだろうが、今更WebSphereを提案することに、ITスペシャリストとして何の意味があるのだろうと私は思った。彼は1997年にWebSphereを提案できただろうか?あるいは、Web2.0全盛の今であれば、きっとその彼もチープ革命とかいって、LAMPを提案するかもしれない。だがそうじゃないだろうと思う。業界をリードするIBMであるならば、猫も杓子もWeb2.0の今よりも、もう少し早く提案しなきゃだめなんじゃなかろうか。それに、LAMPは少なくとも3年前に一度提案して破棄されたものなのだ。今のお客様に提案したところで、果たして受け入れてくれるか疑問である。私がお客様だったら、責任もって未来永劫、AIXとWebSphereのサポートをせよと要求するだろう。
1997年
お客様の将来よりもその時のビジネス優先(Net.Data)
その時のビジネスよりも将来を優先(WebSphere)
2003年
お客様の将来よりもその時のビジネス優先(AIX+WebSphere)
その時のビジネスよりも将来を優先(LAMP)
本当のビジネス優先とは、現在だけでなく、将来も担保してあげることなんじゃなかろうか。
それには、慧眼の持ち主でなければ成しえないとは思うが。
抱負
あけましておめでとうございます。
いやあ、昨年は非常に忙しかったなあ。特に12月は地獄だった。12月29日に何とか片をつけ、真っ白な灰になって博多行き新幹線に飛び乗ったのだが、嵐が過ぎ去っても、しばらくは何もする気がおきなかった。まるで伸びきったゴムの切れる寸前。ただもうボーとして、息するのも面倒くさい感じ。こりゃあ、充電して弾力のある状態に戻さなきゃ今年一年は持たないぞ、ということで、今日まで特に何もせずに過ごしてきた。・・・ちょっと休みすぎかなあ。人間不思議なもので、何もしないとBlogに書くネタさえなくなる。こりゃいかん・・・、今日からまたがんばります。
今年は、ある会社のネットビジネスを手がける予定だ。Ajax、などWeb2.0バリバリで、また、SaaSのモデルもやりたい。たぶん、その会社のCTOとして参加することになると思うが、正式に決まったらお知らせしたい。
あれだけ去年熱く語っていたReflexはなんだったんだ?と思わないでほしい。このビジネスでも、Relfe CoreやReflex iTextなどは、どんどん活用していくつもりだ。P2P機能は次のフェーズになるとは思うけど、まあ、リアルビジネスが優先されちゃうのは常ということで・・・。(いかんいかん)
今年もよろしくお願いします。
いやあ、昨年は非常に忙しかったなあ。特に12月は地獄だった。12月29日に何とか片をつけ、真っ白な灰になって博多行き新幹線に飛び乗ったのだが、嵐が過ぎ去っても、しばらくは何もする気がおきなかった。まるで伸びきったゴムの切れる寸前。ただもうボーとして、息するのも面倒くさい感じ。こりゃあ、充電して弾力のある状態に戻さなきゃ今年一年は持たないぞ、ということで、今日まで特に何もせずに過ごしてきた。・・・ちょっと休みすぎかなあ。人間不思議なもので、何もしないとBlogに書くネタさえなくなる。こりゃいかん・・・、今日からまたがんばります。
今年は、ある会社のネットビジネスを手がける予定だ。Ajax、などWeb2.0バリバリで、また、SaaSのモデルもやりたい。たぶん、その会社のCTOとして参加することになると思うが、正式に決まったらお知らせしたい。
あれだけ去年熱く語っていたReflexはなんだったんだ?と思わないでほしい。このビジネスでも、Relfe CoreやReflex iTextなどは、どんどん活用していくつもりだ。P2P機能は次のフェーズになるとは思うけど、まあ、リアルビジネスが優先されちゃうのは常ということで・・・。(いかんいかん)
今年もよろしくお願いします。
土曜日, 12月 23, 2006
[winny] 結論
IBM時代のころをいろいろ思い出すと、自分の原点を見つめなおすことができる。私は待遇に不満があるわけではなかった。むしろ高く評価していただいたと思う。IBMに育ててもらったし、嫌いなわけではない。やめた今でもお付き合いをさせていただいている。というか、一番大きな取引先である。
それなのに・・・・なぜやめたか。
それは、Reflexを作りたかったからだ。
Reflexは、「P2Pで安全に商取引ができるインフラの提供」を目的としたミドルウェアであるが、なぜP2Pにこだわるかをここでちょっと説明したい。
一極集中から新しいパラダイムが生まれて分散へ流れ、それから、また集中に動く。 これをITにおける輪廻という。 (by IBM 中島DE)YahooやGoogleといった巨大なポータルサイトもあるが、インターネットは、原理的にはIPによる個々のコンピュータによるネットワークである。すなわち、基本的に分散型であり、インターネットの特長を最大限に生かすには、P2Pのような分散型が最適であると考えられる。 今、WEB2.0という新しいパラダイムが生まれて、CGMという個人の情報が重要だと認識された。 CGMを最も効率よく流通させるのは、インターネットの特長を生かしたP2Pであることは、疑いようがない。 また、今後膨大なCGMが発信するようになると、1極集中型が破綻すると私は予想している。ムーアの法則がサチッてきている以上、横に広がる以外ないのだ。 なので、私は新たな流通基盤が必要となる時代は必ず来ると信じている。これがReflexを開発している動機である。 今は、WEB2,0は「あちら側」という言葉に代表されるように、巨大プレーヤーによる演出に目を奪われがちであるが、なんのことはない、Googleだって個々の情報で商売しているだけではないか。たしかに、すばらしい検索能力をもっているので、Googleがまるで情報を生み出しているような錯覚を覚えることはある。しかし「情報発電所」は勘違いであり、「発電」しているのは個々の情報発信者である。 P2Pは「あちら側」でもなく「こちら側」でもない。単に個々が連携しあって成り立つネットワークである。繰り返しになるが、これがインターネットの本質であると私は思う。P2Pの検索システムは、インターネットが存在する限り、破綻することのない無限の可能性をもったシステムである。Skypeは無限のユーザ数に耐えうるそうだが、要するに、そんなようなものだ。 インターネットに問い合わせるだけで、得たい情報を得ることができるようになった。しかし、現在は、Googleにしか問い合わせることができないのが問題だ。私たちの情報を無断で利用し、他に検索手段がないことにつけこんで、いろいろ商売を行っている。私はこのような「あちら側」を撲滅したい。Google八分という言葉をご存知だろうか。インターネットはもっと公平であるべきだし、自由であるべきだ。P2Pであれば誰からもコントロールされず、また、「あちら側」の撲滅が可能だと思う。 Reflexで「あちら側」の撲滅が可能とは到底思えないが、まずは、ここに述べたような分散型の理想のネットワークを実現させたいとは思っている。私はそのためにIBMをやめたのだった。 特定プレーヤーによる1極集中ではない、バーチャルで分散型のネットワークの実現。それがバーチャルテクノロジーという会社の目的だ。バーチャルには「本来の、本質的な」という意味がある。「バーチャル=仮」ではなく、「本来」のものを得るための技術という意味で、バーチャルテクノロジーという名前にした。 私は著作権破壊とか、ほう助とか、決して望んでいない。しかし、Reflexを開発し、公開することで、結果的にそうなってしまうかもしれない。一時は開発を断念しようかとも思ったが、今はそれで有罪になってしまうのであれば、やむをえないかなと思っている。 技術の進化は誰にもとめられない。
金曜日, 12月 22, 2006
[news] Donald F. Fergusonがマイクロソフトに?
あの、Don FergusonがIBMを退社してマイクロソフトに入ったという噂(※)がある。WebSphereを作り、今でもSOAのキーパーソンである彼がなぜIBMをやめなければならなかったか。詳しくはよく分からないが、本当にこの業界はこの手の話が多い。(※事実かどうかはまだ分かりません)
私がIBMにいたころは、戦略を考える際には、常に彼のことを念頭に置いていた。彼が今何を考えてどうしたいのか。皆で議論しても埒が明かないときは、彼の言葉を信じてそれに従った。まるで神のような絶対的な存在であった。私がIBMの事例を誰よりもはやく作れたのは、彼のおかげかもしれないと思っている。自慢話ここから==>
ちなみに、WebSphereを日本で最初に導入した実績を作ったのは私である。1997年であったがFirst Referenceにすることができた。それから、同年クロネコヤマト様の荷物追跡システムを設計し、2002年、Webサービスを使って連携するシステムを作った。1999年には東京海上様の代理店検索システム、2001年にはKDDI様のPayCounterシステムではSOAP認証を作った。2000年には岡村製作所様でIBM初のEJBによるWebEDIシステムを作った。また、RTS様で業界初のUDDIシステムmabotを設計した。
東京海上様の代理店検索システムは、全国の代理店情報を地図上にプロットして紹介する、いわゆるマッシュアップのはしりのようなシステムだ。MapFan様の地図を利用させていただいたのだが、最初の企業ユーザだとおっしゃっていたので、私が一番最初であることは間違いない。そのアイデアを転用して、2004年、XMLコンソーシアムでiPlatを設計した。これが出来上がるころに、googleマップがUSでオープンになって話題になったが、私たちはそれに刺激されながら作業していたのを覚えている。このときはまだAJAXもWeb2.0も騒がれていなかった。
<== ここまでが自慢話 このように、業界初のものを多く手がけることができたのは、恩師であるIBMの中島DE、それから、Fergusonの慧眼のおかげであった。本当に感謝しているが、こんなに簡単にやめられるなんて、寂しいかぎりである。(よく考えたら人のことは言えなかったりする) IBMは最近、あまり評判よくないようだから、特に、日本IBMについてこの先心配である。
追記:
Google AJAX Search APIを担当するテクニカルディレクターは、かつてMicrosoftの一流エンジニア だったMark Lucovsky氏だ。
こちらはこちらで大変なのね。
もういちど、Fergusonの本を紹介しておこう。
日曜日, 12月 17, 2006
[Winny] 開発者がなぜ萎縮するか
まず、白田氏のこちらを読んでもらいたい。Winny事件判決の問題点 開発者が負う「責任」とは
極めて簡単に言えば、「Winnyが違法コピーに広く使われているってこと、知ってたでしょ。それにもかかわらず、Winnyの改良をしたでしょ。だから幇助」ということになる。この判決骨子の論理では、「画期的なソフトウェアを開発したプログラマが、実験的にリリースしたら、利用者に思いもよらない使い方をされてしまった」というだけでは幇助にならない。また仮に「思いもよらない使い方で反社会的な効果が生じてしまった」と認識した後に、とくにその反社会的な効果の拡大につながる積極的行為をしなければ幇助にならない。だから、「ヤバい」と思ったら配布公表を停止すればよいことになる。それ以上の責任、たとえばソフトウェアの回収とか削除までしなければならない等は、どこにも述べられていない。
だから、この事件が一般的に「プログラマや技術者に無理解な不当な判決であり、今後新しい技術を開発するにあたって萎縮効果をもたらす」というのはやや誇張された主張で、金子氏や弁護団のみなさんがこの点を声高に言い過ぎると、かえって金子氏の立場の正当な要素を損ないかねないと危ぐする。もちろん、このくらい簡単に誇張して言わないとマスコミの人たちや一般の人たちに分かってもらえない、という気持ちも良くわかるんだけど。あくまでも「幇助概念」に関する法律論が主戦場である本件判決を、無理して別の価値に関する議論の文脈におくと、たぶん、なにかがゆがみはじめる。
私たち開発者にとって関心があるのは、開発したソフトを公開したときに、有罪になることがあるかどうかの1点だけだ。
この記事を読む限り、自由に開発して公開しても有罪にはなりえないが、著作権侵害に利用されていることを知りながら、著作権侵害を助長するソフトを開発し続けると有罪となる。
判決が出た後である現在では、Winnyを開発することは当然有罪になり、また、「それと同等の機能」をもったソフトを開発して公開することも有罪になると思われる。そうでなければ、名前を変えてWinnyを開発し続けられることになる。
一番の問題は、「それと同等の機能」を開発して公開すると有罪に問われる危険があるということ。「それ」とは、P2Pにおける匿名性をもったファイル交換技術だ。なぜなら、「それ」を実装したソフトは、Winnyでなくても、全く同じことが可能になるからである。
Reflexは、ここにも書いたが、 WinnyはITの核兵器なのか「それ」を実装している。そして、Winnyが著作権侵害に利用されていることを知りつつ開発したことになるので、使われ方によっては、金子氏と同罪になる危険性がある。なので、私は開発をストップせざるを得ないかなと考えている。
このように、判決が出たあとでは、明らかに対応が異なるのであって、これは萎縮ということになるだろう。白田氏の意見は、実際の現場をよくご存知ないのかなと思うしだいである。繰り返しになるが、私のように萎縮してしまう開発者は大勢いると思われる。
司法は、開発者が萎縮してしまわないような、判決をすべきであると思う。今のままでは、何をしたら大丈夫なのか、まるでわからない。少なくとも、Reflexを公開して有罪にならない補償はない。やはり、遠山の金さんに聞くしかないのかなあ。
金曜日, 12月 15, 2006
[winny] 司法ではなく立法の仕事?
いやあ、すばらしい記事だ。有罪の根拠を納得できた。
Winny裁判、罰金刑は重いか?軽いか?--自己矛盾を抱えた判決
いや、そんな倫理性の話でなくても、あちこちで「著作権を崩壊させる」と発言して国家権力に挑戦し、結果的に著作権侵害ファイルを蔓延させている以上、これを無罪とするというのは国家権力の側の判断としてはあり得ないように思われる。
司法としてはやむなしということか。ということは、あとは立法の仕事ということ?新しい時代の著作権法を作る動きを期待したいところだが・・・・。
この判決には、大いなる自己矛盾もある。氷室裁判長は、情状酌量の理由として「著作権侵害を目的にしたのではなく、新しいビジネスモデルを生み出すためだった」と述べた。しかし金子被告の意図が著作権侵害ではなかったのだとしたら、その行為がなぜ「著作権侵害の幇助」に問われなければならなかったのか? 意図はしていないが、結果的に侵害に利用されれば、それは「幇助」となってしまうのか? このあたりの問題は堂々めぐりの迷宮に入ってしまいそうになる気もするが、こうした自己矛盾がひそかに内在しているあたりにも、今回の判決の何とも言えない微妙さが浮き彫りになっているようであり、そしてこの事件の判断の難しさを体現しているようにも思えるのである。
よし、この本買おう。
[prototype.js] 連想配列からXMLに変換するJavaScript
Prototype.jsを使うと連想配列からXMLに変換するコードを、こんなにシンプルに書ける。
DEMO
prototype.jsを使わないバージョン=>extractive.jsの中に含まれる
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>JSON2XML</title>
<script type="text/javascript" src="scripts/prototype.js"></script>
<script type="text/javascript">
var extension = {
toXMLString: function() {
return this.map(function(pair) {
return "<"+pair.key+">"+ (
typeof pair.value == 'string' ? pair.value : $X(pair.value).toXMLString()
) +"</"+pair.key+">";
}).join('');
}
}
function $X(object) {
var hash = $H(object);
Object.extend(hash, extension);
return hash;
}
function test() {
var aa = $H();
aa.b = "ta </a>} : ke";
var h0 = { root : { a : aa,
b : "2",
c : { d :"3", e:"4" },
f : ["5","6"]
}
}
var h = $X(h0);
alert(h.toXMLString());
// alert(h0.c.d);
}
</script>
</head>
<body onload="test();"></body>
</html>
木曜日, 12月 14, 2006
[prototype.js] Event.observe()
いつも忘れるのでメモ
Event.observe(element, name, observer, useCapture)で登録したイベント処理を受けるときは、Event.element(e)を使う。
Event.observe(but1, 'click', showMessage, false);
function showMessage(e) {
alert('clicked: '+ Event.element(e).id) ); // but1
}
どうしたらほう助とならないのか・・遠山の金さんに聞くしかない
Winnyは、違法コピーを防止するような改善がなされなかったので、ほう助と認定された。氷室裁判長は、「無限定なほうじょの成立拡大も妥当ではない」といっている。ここでのポイントは、1.その技術の社会的での利用状況、2.提供する側の主観的な態度。
1、については利用者側がどう使うかは、開発の段階では未知である。結果的に違法コピーの道具にされることもありうる。そうなったときに防ぐ手段をとれるかどうか。少なくとも、Winnyに関してはなかった。
2、については、金子氏自身、「著作権のあり方への挑戦」といわれていたこともあったらしいので、ほう助と認定されたのかもしれないが、一方で「積極的な企図があったとは認められない」のがよく分からない。
では、どうしたらほう助とならないのか、つまるところ、開発者の態度をみて、裁判長が有罪か無罪かを判断するということなのか。ああ、遠山の金さんみたいな話だ。
1、については利用者側がどう使うかは、開発の段階では未知である。結果的に違法コピーの道具にされることもありうる。そうなったときに防ぐ手段をとれるかどうか。少なくとも、Winnyに関してはなかった。
2、については、金子氏自身、「著作権のあり方への挑戦」といわれていたこともあったらしいので、ほう助と認定されたのかもしれないが、一方で「積極的な企図があったとは認められない」のがよく分からない。
では、どうしたらほう助とならないのか、つまるところ、開発者の態度をみて、裁判長が有罪か無罪かを判断するということなのか。ああ、遠山の金さんみたいな話だ。
[winny] 有罪の本当の理由
判決では有罪となったわけだが、一方で、現在でもWinnyネットワークは厳然として存在している。ということは、Winnyを規制してすべての人が使用しない限り、法による情報のコントロールはできない状態になっている。有罪とされた本当の理由は、このへんじゃないかなと思う。その証拠に、量刑の理由は、Winnyを検索キャッシュに置き換えただけなのだが、全く当てはまることがわかる。検索エンジンとWinnyは、著作権侵害幇助というより、コントロールできるかどうかだけの違いだと私は思う。
情報規制は、お上によって正しく情報の峻別がなされることが前提で成り立つ話である。しかし、「コントロール≒権力」でもあるので、権力を利用して、私利私欲に走る輩が出てくることも心配だ。同じように心配している方もいる=>なにかNHKで..インターネットの匿名性について議論やってますが
言論の自由は、憲法というより、実質的にはインターネットの匿名性で保障されてると考えているのは私だけだろうか。
情報規制は、お上によって正しく情報の峻別がなされることが前提で成り立つ話である。しかし、「コントロール≒権力」でもあるので、権力を利用して、私利私欲に走る輩が出てくることも心配だ。同じように心配している方もいる=>なにかNHKで..インターネットの匿名性について議論やってますが
言論の自由は、憲法というより、実質的にはインターネットの匿名性で保障されてると考えているのは私だけだろうか。
[winny] WinnyはITの核兵器なのか
Winny判決で驚いたのは、有罪となったということより、その刑の理由だ。「金子氏の著作権侵害幇助の企図は認められないが、著作権侵害のために利用されることを知りながら何も対策を講じなかったから有罪」だという。要するに、大変有害なソフトであるが改善されないから有罪だという。いくら作者だからといっても、それは無理というもの。P2Pネットワーク上のファイルを消すのは、技術的に不可能に近い。判決が逆ならまだよかった。ソフトが悪用されて侵害されたのは他者によるものであり、それを防ぐには技術的な理由があって対策を講じられなかった。なので、そのことについては罪には問えないが、著作権侵害幇助の企図があったので有罪。ソフトはあくまで人が利用するものであり、どのように使ったかを問題とする、いわゆる「包丁」の例えを適用するとわかりやすい。このままだと、銃刀法違反のような法律がITにも適用されるんじゃないかと不安を感じてしまう。
特定のソフトであればまだいい、実は、弊社で開発しようとしているReflexにも適用されてしまうんじゃないかと心配している。Reflexは、Overviewの「何が嬉しいか」を見てもわかるように、P2PをベースにしたCGMの管理ミドルウェアを目指したものだ。CGM(コンテンツ)があらゆるノードでキャッシュされているが、IDで特定できて、誰がいつ作成したかを確認できる。特定のノードにいなくても、どっかにキャッシュされていれば、自動的に検索されてダウンロードできる。暗号化とPKIを使うことで、オープンな環境で安心して商取引ができることを目指したものだ。しかし、適当な署名を作って公開することも、やろうと思えばできる。当然、証明書が偽造されていることが分かるので、信用できないことはすぐに分かるのだが、それがたとえ信用できないものであっても、リスクを承知で入手することはできる。すなわち、匿名のファイル交換が実質的にできてしまうのだ。このソフトを公開したらどうなるのだろう。私は著作権幇助を企図していないけれども、利用者はどう使うか分からない。判決を知った今であれば、もちろん、匿名のファイル交換ができない仕組みにするとは思うが、もし知らないで公開してしまったら、金子氏のように有罪となってしまうのだろうか。私は、こんなリスクをしょってまでReflexを開発するつもりはない。設計の大幅な見直しか、あきらめざるを得ないだろう。私のように感じている者は日本中に大勢いるはずだ。司法は、著作権を主張する者の利益もそうだが、日本のIT業界全体の利益も考えて判断すべきだと思う。今回の判決は、イノベーションに取り組んでいるIT技術者のモチベーションに大きく影響を与えることだろう。
原爆を発明したアインシュタインは有罪か、使った者が有罪か、それとも両方なのか。
アインシュタインを有罪とする法律が当時はなかったから無罪だという人がいたが、どうなんだろう。
Winnyは原爆のような存在で、昨日、それを発明した人に罪が言い渡された。
著作権侵害幇助の企図は認められないが、大変有害なものであり、改善されないので有罪だそうだ。
特定のソフトであればまだいい、実は、弊社で開発しようとしているReflexにも適用されてしまうんじゃないかと心配している。Reflexは、Overviewの「何が嬉しいか」を見てもわかるように、P2PをベースにしたCGMの管理ミドルウェアを目指したものだ。CGM(コンテンツ)があらゆるノードでキャッシュされているが、IDで特定できて、誰がいつ作成したかを確認できる。特定のノードにいなくても、どっかにキャッシュされていれば、自動的に検索されてダウンロードできる。暗号化とPKIを使うことで、オープンな環境で安心して商取引ができることを目指したものだ。しかし、適当な署名を作って公開することも、やろうと思えばできる。当然、証明書が偽造されていることが分かるので、信用できないことはすぐに分かるのだが、それがたとえ信用できないものであっても、リスクを承知で入手することはできる。すなわち、匿名のファイル交換が実質的にできてしまうのだ。このソフトを公開したらどうなるのだろう。私は著作権幇助を企図していないけれども、利用者はどう使うか分からない。判決を知った今であれば、もちろん、匿名のファイル交換ができない仕組みにするとは思うが、もし知らないで公開してしまったら、金子氏のように有罪となってしまうのだろうか。私は、こんなリスクをしょってまでReflexを開発するつもりはない。設計の大幅な見直しか、あきらめざるを得ないだろう。私のように感じている者は日本中に大勢いるはずだ。司法は、著作権を主張する者の利益もそうだが、日本のIT業界全体の利益も考えて判断すべきだと思う。今回の判決は、イノベーションに取り組んでいるIT技術者のモチベーションに大きく影響を与えることだろう。
原爆を発明したアインシュタインは有罪か、使った者が有罪か、それとも両方なのか。
アインシュタインを有罪とする法律が当時はなかったから無罪だという人がいたが、どうなんだろう。
Winnyは原爆のような存在で、昨日、それを発明した人に罪が言い渡された。
著作権侵害幇助の企図は認められないが、大変有害なものであり、改善されないので有罪だそうだ。
水曜日, 12月 13, 2006
[winny] Winny 量刑の理由
私のBlogにはちゃんとCopyrightが付いているにもかかわらず、勝手に検索キャッシュにコピーして、私の意図とは異なる利用のされかたをされ、利益を得ている輩がいる。その輩には以下を言い渡す。まあ、罰金刑が相当だろう。
量刑の理由
被告は、検索キャッシュを開発、公開することで、これを利用する者の多くが著作権者の承諾を得ないで著作物ファイルのやりとりをし、著作権者の有する利益を侵害するであろうことを明確に認識、認容していたにもかかわらず、検索キャッシュの公開、提供を継続していた。
このような被告の行為は、自己の行為によって社会に生じる弊害を十分知りつつも、その弊害を顧みることなく、あえて自己の欲するまま行為に及んだもので、独善的かつ無責任な態度といえ、非難は免れない。
また、正犯者らが著作権法違反の本件各実行行為に及ぶ際、検索キャッシュが、重要かつ不可欠な役割を果たした▽インターネットにデータが流出すれば回収なども著しく困難▽インターネットの利用者が相当多数いること、などからすれば、被告の検索キャッシュの公開、提供という行為が、本件の各著作権者が有する公衆送信権に与えた影響の程度も相当大きく、正犯者らの行為によって生じた結果に対する被告の寄与の程度も決して少ないものではない。
月曜日, 12月 11, 2006
[Google Calendar][JSON] Google CalendarでBlogのエントリー
Google Calendarのコメント情報をJSONで読み、Blogのように時系列で表示するJavaScriptを作ってみた。ここを参照=>(デモと説明)
カレンダーに自由に書き込んでもらって結構なのでぜひ使ってみてほしい。こういう使い方はカレンダーの想定外かもしれないけど、ちょっとした情報共有にはこれで十分事足りると思う。
技術的なポイントは、
カレンダーに自由に書き込んでもらって結構なのでぜひ使ってみてほしい。こういう使い方はカレンダーの想定外かもしれないけど、ちょっとした情報共有にはこれで十分事足りると思う。
技術的なポイントは、
- エントリーをソートする( feed.entry.sort() で、sort中に更新順となるような条件を指定した)
- ISO8601からDateへの変換(d.replace(/^(\d{4})-(\d{2})-(\d{2})T([0-9:]*)([.0-9]*)(.)(.*)$/,'$2/$3/$1 $4'))・・9時間足してねえ
- エントリーのlinkを元にコメントのリストをJSONPを使って作成する(document.write()だとIEで動かないのでdocument.createElement()を使ってscriptタグを作成した)
- 4行目のIFRAMEは埋め込みカレンダーを横に出すため
- 30秒おきにリロード(この動きがかっこ悪い)
日曜日, 11月 26, 2006
[Google Calendar] JSONのテスト
時間があるときにやってみようということで、ここを参考にやってみた。Google Calendar TIPS
すごく簡単に作れる感じだ。弊社ではカレンダーをアルバイトの勤務管理に使っているので、毎月の支払いをすぐに計算できる。また、WikiなどのようなアプリもJavaScriptだけでできそうだ。カレンダーに書いたコメントを時系列に表示するだけでグループウェアの代わりに使える。Author別、日時別の表示切替も簡単にできると思う。
FeedはATOMを独自に拡張したもののようだ。gd:ではじまる独自のタグがあるのだが、JSONでは:は$に変換される。
これは、Reflexと同じルールだ。なんという偶然。っていうか他にないからなあ・・。
コメントなどは、Calendarのエントリーにリンクされる別のエントリーになっているため、これらを取得するにはまたJSONリクエストを飛ばさなければならない。
ATOMのタグを独自に拡張して、エントリーにエントリーがリンクするようなこの仕様は、ATOMPPを考えたときにどうなるのか、ちょっと心配でもある。
すごく簡単に作れる感じだ。弊社ではカレンダーをアルバイトの勤務管理に使っているので、毎月の支払いをすぐに計算できる。また、WikiなどのようなアプリもJavaScriptだけでできそうだ。カレンダーに書いたコメントを時系列に表示するだけでグループウェアの代わりに使える。Author別、日時別の表示切替も簡単にできると思う。
FeedはATOMを独自に拡張したもののようだ。gd:ではじまる独自のタグがあるのだが、JSONでは:は$に変換される。
これは、Reflexと同じルールだ。なんという偶然。っていうか他にないからなあ・・。
コメントなどは、Calendarのエントリーにリンクされる別のエントリーになっているため、これらを取得するにはまたJSONリクエストを飛ばさなければならない。
ATOMのタグを独自に拡張して、エントリーにエントリーがリンクするようなこの仕様は、ATOMPPを考えたときにどうなるのか、ちょっと心配でもある。
土曜日, 11月 25, 2006
XML開発者の日

先日のSeasarカンファレンスが秀才たちの集いとすれば、昨日のXML開発者は天才たちの集いという表現がぴったりだろう。前回より右脳をいっぱい使った気がする。朝10:00~18:00までほとんど休憩なくセッションがあってそれから親睦会。家に帰ったのは夜の11:30だった。村田さん、Yoheiさん他、多数の著名人と会話できて非常に充実した一日だった。それでは、セッションの内容について、面白かった順にポイントをご紹介しよう。
1)RESTの話(Yoheiさん) REST Best Practicesyohei-y:weblog: 第九回XML開発者の日 終了
* CoolURIでいこうとのこと。納得。URIはクライアントに不透明だそうだ。
* UIとしてのWeb
* ハイパーメディアシステムとしてのWebWiki
* フレームワーク重要
* データ重要
* WebアプリとWebAPIでURIを分けない
* SOAへの対抗イデオロギーとしてのROA(<= 今後注目) 以下はRESTに関する私の理解。 リソースにはパーマリンクがつく形で一意に識別できる。リソースは集合であってもよい。集合といってもCountableである必要はない。検索結果はそのサブセット。パーマリンクはリソースを特定できるが表現はいつも同じとは限らない。ここまでは理解できる。 以下は疑問点。
1.クエリパラメータが複数あるときにPOSTで渡すという話は、201 createdが返るのだが検索なのに一時的にリソースが作られる?その場合には、検索条件はリソースになり、パーマリンクもつくのだろうか。また検索対象との関係はどうなるのだろうか。ちょっとよくわからなかったが、きっと揮発性のものなんだろう。
2.リソースを複数の検索条件で絞り込んで検索するときの結果にはパーマリンクはつかないのだろうか。検索対象のリソースのURI+検索条件でパーマリンクとしてよいのだろうか。もしいいということであれば、POSTで検索という話はあまり旨くない。
3.パーマリンクはリソースを特定できて表現は変わってもよいと理解しているが、本質的に情報の意味が変わっても、同じリソースといっていいのだろうか。例えば、http://天気/東京/今日というリソースが、「晴れ」とか「Sunny」を返すのはいいが、10:00を返してもいいのだろうか。
2)ODL vs OOXML(村田さん) いやあ、面白かった。 MSの言い分は、ワードというソフトを作ったけど、クローズなままだともったいないから、フォーマットをオープンにしてOOXMLとして標準化したい。ODL側は、ワードフォーマットをMSが勝手にコントロールしてけしからんから、皆で決めたフォーマットを標準にしたい。 いい考えがある。一太郎のフォーマットを世界標準にすればいいのだ!!! まあ、冗談はさておき、私はどちらも流行らないに1票を投じたい。個人的にはPDFがいいと思っている。XMLにもしやすいしね。
3)Microfomats(概要 上之郷さん、Syndy Chronicle 山口さん) こっそりタグ付けする人にやさしい発想は支持したいと思う。でも、自己主張が苦手で自信のない人には向いてないかもとは思う。こんなタグをつけてごめんなさい、といつも罪悪感を感じながら開発しなきゃならないのだろうか。 今後は注目したい。
4)Google Calendar & GData(Masa and Takさん)カレンダーアプリへのGData実装
JSON対応になったそうだ。すげー。メモメモ (追記: 2006/12/11 DEMOを作ったのでこちらも参照くださいGoogle CalendarでBlogのエントリー )
5)ブログエディタへのMicroformatsの実装(後藤康成さん、室田直匡さん)feedpath blogot
* ガ━(゚Д゚;)━ン この人すげー。
* WSSEはATOMPPでデファクトと思っていいのだろうか。誰かははやく決めてほしい
* いろいろ部品を選択して作れる blog editor。AJAXがはやるわけだ。
6) Plagger: the duct tape of the Web(宮川さん)
* この人かっこいい。話がおもしろくてプレゼンがうまい。サンフランシスコからプレゼンとはよく考えたものだ。すげー。
* 製品はよさそう。
7)RESTfulアプリケーションの方向性(川村さん)
* RoRに興味がある人にはたまらない内容だっただろう。私はまだやってない。
* RESTのWebアプリ設計のヒントになった。特にケース1。
ウィザード画面をリソースに対する操作のイメージで作る
POST /order/34 201 created
GET /order/34
PUT /order/34
303 SeeOther /order/34で次画面
PUT /item/99
最後はcompleteというステータスになるだけ。うーん。なかなかいい。
金曜日, 11月 24, 2006
The Reflex
So why don't you use it
Try not to bruise it
Buy time don't lose it
なんでこんないいもの使わないんだ
打ち砕いて壊さないでくれよ
時間を買ってもなくさないでよ
登録:
投稿 (Atom)
