2011年1月25日火曜日

OpenOffice.org とベンダ・ロックイン

一応地元県のお話なのではありますが、「山形県がOpenOffice.orgを県庁の全パソコンに導入へ、都道府県で初 (ITPro)」というニュースが飛び込んできました ( 業者側のニュースリリースはこちら ) 。

この話題は昨年に導入検討開始時に一度ニュースになりそれなりに注目を集めた話ではあるのですが、今回の導入決定についてはさらに注目されない、なかばスルーされているニュースとなっているように見えます。

ITPro の記事を見るとメインストリームサポートがすでに終わった Windows XP を主に使っていてそういった機器で今後 OpenOffice.org を導入していくとのことです。とは言っても Windows の系譜で言えば、すでに 2 世代前の OS ということになり、全ての PC が Windows XP を積んでいるわけではないと考えられます。ちょっと穿った見方かもしれませんが、比較的最近導入したものについてはITproの記事で言うところの
...外部の組織向けにMicrosoft Officeのファイルを作成する必要があるパソコンや、マクロを利用しているパソコンなどについては、Microsoft Officeを継続利用する。
ということにして、サポートが終わってしまいそうなものについて OpenOffice.org を導入して延命しようというプランのようにも見えます。地方公共団体の財政が押しなべて厳しいことは今に言われたことではないのですが、今回のように「ワーキンググループ」なるものを作って大仰に検証までするべきものであったのかどうかというのは疑問に思います。

MS Office を使い始めるときには「ワーキンググループ」を作って検討していたのか

自治体の現場に PC が導入されだしたのはそれほど最近の話ということではないのですが、職員全員にいきわたるほどの勢いで導入されだしたのは、いわいる e-Japan 戦略の時代 ( 2001年頃~ ) だったように記憶しております。それ以前に導入されたものはインターネット用の PC であったり、事務の効率化を狙って導入したもので、オフィススイートは 一太郎 と Lotus-123 の組み合わせであったり MS Office だったりと統一性がなく、e-Japan 戦略の波の中で「なんとなく世界標準だから」という理由で MS Office が普及していった流れがあったように思います。その当時はとにかく PC を使うことが目的で今回の山形県のように「導入の是非を検討するワーキンググループ」などを立ち上げて検討を行った団体があったようには記憶していません。

また、サポートされなくなりそうなソフトウェアがあるけども予算がないので無償のものに置き換えるという戦略であれば、選択肢などないに等しいわけですから「無償ソフトウェア『導入の』是非」を検討するのではなく、「無償ソフトウェア導入の『手法』」を検討しないといけないことは明白です。あくまで大義名分を通したい部分があるのは心情として理解できなくもないのですが、そこまで大仰な舞台装置を作られても正直醒めてみてしまうということもあるように思います。

OpenOffice.org を使ったとしても依然としてベンダ・ロックインの呪縛からは逃れていない

もう一つ重要なことは、昨年 Sun が Oracle に買収されてしまったことで、 OpenOffice.org は Oracle の持ち物になってしまい、 OpenOffice.org の将来が以前よりも流動的になってしまった事情が出てきたということに対して何の警戒も持っていないということだと思います。旧 Sun のソフトウェア製品の中で、オープンソース界隈で特に大きな影響があるのは Java, OpenOffice.org, (Open)Solaris の 3つですが、この3つの製品すべてにおいて昨年の間に製品の将来が直接左右されるような Oracle による方針転換やそれに対抗する動きが出てきて、「将来にわたって無償で(比較的)品質の高いソフトウェアが継続的に利用できる」かどうかなど誰にも予測できない事態となっています。

OpenOffice.org についていえば、さらなる「自由さ」を求めて枝分(フォーク)してしまった LibreOffice の存在があります。現在のところ内容的にはこの 2つのソフトウェアはほぼ同じものであるといえますが、今後これがどういった差がでてくるのか来ないのか、 有力 Linux ディストリビューションがどちらを採用するのかというのは流動的な側面が多く、今の段階でどちらかを選択することを宣言するというのは正直情勢に疎いのではないかと思わざるを得ない部分があるのではないでしょうか。

またそもそもの話として、今回の Oracle による Sun の買収のような外的要因で、盤石に見えていたオープンソースプロジェクトがいきなり存続の危機に直面してしまうということも起こりうることで、ユーザやプロジェクトのサポータはこういった要因に対してほぼ無力だということも知られるようになりました ( その最たる例が OpenSolaris であると言えましょう ) 。この辺を突き詰めていくと、オープンソースソフトウェアというのは私企業の持ち物であるべきなのか、それとも公共財であるべきなのかという根本的なところに行き当たってしまうわけですが、 本気で「ベンダ・ロックインからの解放」ということを口にするのであれば公共財としての投資を行う必要がどうしても出てくるのではないかとこういうことになってしまうのです。このことについては OpenOffice.org の日本のコミュニティのリーダー氏がかなりキツイ口調で ( その攻撃的な態度はいかがなものかとは思いますがそれはさておいて ) ことあるごとに口にしていることであったりもします。

企業がかかわりを持つ限り程度の大小はあれどもベンダ・ロックインにつながる要素が発生しますし、逆に企業色を完全に排した場合にはコミュニティそのものの継続性が脆弱になってしまうというジレンマがオープンソースプロジェクトに対してつきまとっているといえることができるでしょう。

「無償で便利そうだから」安易に飛びつくことの危険

OpenOffice.org に限った話ではないのですが、このようなオープンソースプロジェクトにはプロジェクトの数だけその背景があり、単に「無償で便利そうだ」ということだけで安易に飛びつくと Oracle+Sun のプロダクトのように外的要因による濁流に巻き込まれてしまい、気が付いたら想定外の事態となってしまうという危険が ( 程度の多少はあれ ) 存在します。「誰かが無償で出してくれるから」それに乗っていくだけではなく、そのプロジェクトがどのような意義を持ちどういった影響をもたらすのか、またプロジェクトに対してどのようにかかわっていけばよいのかということをよく吟味する必要があるのではないでしょうか。

ここ最近の状況を見ると RedHat Enterprise Linux 代替の無償 OS である CentOS について、最新版の開発が難航しているという報せもあります。何が盤石で何が危ういのか、危ういなら危ういなりにどのようなコミットをしてくのかそういったことを考えないとオープンソースソフトウェアを使っていくのは難しいのではないでしょうか。

2011年1月24日月曜日

寒い日に PC が起動しないトラブルに対処する裏技

雪国在住者としては非常に厳しい季節となりました。寒さと雪でくじけそうな日々でございますが、なんとか生きながらえております。

さて、今日は「ー`)<淡々と更新し続けるぞ」さん経由のネタで「寒い日にわりと良くおきるPCトラブル『朝だけPCが起動しない』 / 動画エンコとフリーソフト ぼくんちの TV 別館」の話題です。

一般的にコンピュータというと「熱に弱い」という印象を皆さんお持ちなのではないかと思いますが、室温10度を切ってくると HDD や電源まわりのトラブルに警戒する必要があります。特に電源ユニットについては他の PC パーツのように画期的な技術革新を遂げているわけではなく、その一方でより過酷な仕事を要求されるようになっています。自作 PC をたしなむ人の間で寒さぬきにしても電源で悩みを抱えている人は多いのではないかと思います。

私が使ってきた PC 達の中でも寒くなると電源が入らなくなるマシンが過去にありました。といっても Windows 95 を動かしていたときのものですからざっと 15年以上前 ( 歳をとってしまったものです ) の話です。症状としては、ある寒い日に PC の電源が入らなくなってしまったという、まさに「寒い日に~」と同じ現象です。 当時はいろいろ試行錯誤して結局電源ユニットの問題らしいということに気がついて、「寒い日に~」に掲載されている「裏技的な解決策」に書いてあるように電源On/Offを繰り返していたのですが、サルみたいにOn/Off繰り返すのも絵として間抜けだし、明らかによろしくない操作だということで考えた結果

電源ユニットのファンのところからドライヤーで熱風を十数秒吹き込む

というワザを開発(おおげさ)しました。ドライヤーの温度設定や時間などを誤るとかえってひどいことになりそうですが、少しづつ様子を見て最適なブロー(笑)をしてみると良いかもしれません。その後問題の PC は寿命まで使い倒されましたが、それ以来「要ブロー」な電源にはあたったことがありません。(もっとも寿命が来て壊れた電源はたくさんありますが...)

ということで、ほぼ非常手段ではあるのですが、こんなことがあるらしいと知っておくと役に立つ時が来るかもしれません。

2011年1月11日火曜日

数式処理システム Maxima を使ってみた一例

少し前に「独学Linux」さんで数式処理システムの Maxima が取り上げられていて、 twitter のフォロアーさんの一人である @labunix さんがツイートしたものに思わず反応してしまいました。


私の場合、 Maxima はたまに使う程度であるのですが、うまくキマるとなかなか楽しいのでそんな例(のようなもの?)を紹介したいと思います。

今回紹介するのは Aizu Onlline Judge の中からで AOJ 0081 の問題です。問題の概要としては
平面上の異なる3点 P1, P2, Q の座標の組をファイルから読み込んで、それぞれの組について、点P1 点P2 を通る直線を対称軸として点 Q と線対称の位置にある点 R を出力して終了するプログラムを作成してください。

というものです( 詳細については AOJ 0081 の問題文を参照してください )。問題そのものはそんなに難しいものではなく、物理的に紙の上でであればコンパスがあれば中学生でも解けるものですが、具体的に座標を求めるとなると 点Qを通る直線P1P2上の直交点を求めてQの反対側に伸ばすということを考えるのが正攻法なのではないかと思います。

ですが、手順が増えるとバグを埋め込んでしまったり例外条件などを考慮しないといけないし、よく考えると、コンパスを使って点Rを特定するように線分 P1QとP1R、P2QとP2Rの長さが等しいということを使ってダイレクトに2つの変数を2つの条件式から特定するということができそうな気がします。とは言っても手で計算するのはなかなか大変そうだということで Maxima の登場です(あえて wxMaxima のスクリーンショットを載せましたが、実際には Terminal 上で maxima コマンド使いました )。


ここで、[x = xq, y = yq] というのは点Qそのものを示す自明な解ですので、そうではない他方のほうが点Rを示す座標ということになります。あとは、写経(苦笑)のごとく、モリモリ実装すれば完成です。
x = ((x2-x1)*y2+(x1-x2)*y1)*2*yq +
    (2*x1-xq)*y2*y2 + 2*(xq-x2-x1)*y1*y2 + (2*x2-xq)*y1*y1 +
    (x2*x2 - 2*x1*x2 + x1*x1)*xq;
x/= y2*y2 - 2*y1*y2 + y1*y1 + x2*x2 - 2*x1*x2 + x1*x1;

y = ( y2*y2 - 2*y1*y2 + y1*y1 - x2*x2 + 2*x1*x2 - x1*x1 ) * yq +
    ( (x2-x1)*xq - x1*x2 + x1*x1 ) * 2 * y2 +
    ( (x1-x2)*xq - x1*x2 + x2*x2 ) * 2 * y1;
y/= y2*y2 - 2*y1*y2 + y1*y1 + x2*x2 - 2*x1*x2 + x1*x1;
と Maxima の活用事例というより数式写経ねたを書いてきましたが、この問題は「パソコン甲子園 2005」本戦で出題された問題で、レギュレーションを読む限りではこの大会では Maxima を使用することは許されていないようです。実際には正攻法で点Qを通る直交点を計算して云々という実装をすることになるのでしょう。

2011年1月7日金曜日

2ちゃんねるでのセキュリティ事件

巨大掲示板サイトの「2ちゃんねる」において、スレッドが乱立するなどの混乱が生じています。

状況としては、ニュース系の板について無意味なスレッドが乱立したり、悪意のコードが埋め込まれるといった現象が起きているようです。

一方、インフラ周りの部分については、2ちゃんねるをホスティングしている BIG-server.com がプレスリリースを出しており、それによると現状においてサーバ負荷の上昇が不安視されているが現状では特に問題がないということで、インフラ周りには特に問題が出ていない状況のようです。

実際に私が確認したわけではないのですが、今回の件についての原因として各筋で言われていることを総合すると

  1. 削除ログが格納されているURLが発見される
  2. そのログファイルが格納されているディレクトリについて、Apache の設定ミスによりファイルリストが閲覧できる状態にあることが判明
  3. そのディレクトリで CGI のソースが閲覧できる状況にあることが判明
  4. CGI ソースを手掛かりにキャップ(掲示板の管理等を行うためのパスワード)が流出、OSコマンドインジェクションが可能であることが明らかとなった

という状況のようです。原因を一言でいうならば「設定とCGIの弱点を突かれた」ということです。

今後「2ちゃんねる」がどうなっていくのかについては様々な人が言及すると予想されるのであえて別の要素で気がついたところを挙げてみたいと思います。

著名サイトとセキュリティ脆弱性

「2ちゃんねる」の歴史はある意味「閉鎖危機の歴史」ということができるかと思います。アクセス集中、転送量増大、犯罪予告、サイバーテロ等、「2ちゃんねる」の著名性やサイトの性格に起因した部分がよる問題を抱えて、それらにどう対処するかというのがその時々の課題でした。特にセキュリティという観点からすると何度も DDoS 攻撃のターゲットにされたサイトでもあります。

このような「たたかれ続けてきた」サイトにおいても今回の件の原因のような設定や比較的初歩的な弱点が内在してきたということ。逆の視点からすればこの程度のものでも長期にわたりサービスを維持することが可能だということが分かったわけです。もちろん安全で効率的なコードを書くことは重要なことですが、かならずしもそれが成功の条件であるとは限らない(限らなかった?)ということが言えるのではないでしょうか。

攻撃者の目的

次に気になったのが攻撃者の目的です。今回の事件では、弱点を実際についた人間かそれに近い人間が「ニコニコ動画」の生放送で技術的な説明を行なわれていたりします。また弱点を使って行ったことは、スレッド全削除ツールの公開やキャップの公開、悪意のあるコードの混入など愉快犯的な行動です。自己顕示欲というのはこの手のケースでの動機としては非常にありがちなことですが、リスクに見合ったものであるかどうかは非常に疑問に思います。

実際の攻撃とは性格が違いますが、最近のマルウェアやトロイの木馬などでは自己顕示よりも実際に見返りを期待するために寡黙な活動を行いキー入力などを奪ってオンラインゲームのアカウントやパスワードを搾取するものが増えています。倫理的にどうかということに目をつぶるならば攻撃の見返りを何らかの方法で得ることが可能だっただけに、自己顕示欲のためだけにここまでリスクの高い行動を行うのはどうだったのかという疑問は残ります。目に見えない部分でなんらかの応酬がありその結果が今回の騒動であることも考えられますが、そういった部分については憶測の域を出ないので、なんとも言いようがない状況かと思います。

今回の騒動の意義づけ

今後「2ちゃんねる」がどうなるのかということは現在見えない部分がありますが、twitter や facebook などといった新しいソーシャルコミュニケーションサービスが台頭する中、今回の騒動はもしかしたらエポックメイクな出来事になるのかもしれません。単なる妄想で終わるかもしれませんが、しばらくの間動向を見守る必要がありそうです。

2011年1月6日木曜日

さくらのVPS 逆引きDNS変更機能実装

みなさま、あけましておめでとうございます。
本年もどうぞよろしくお願いします。

さて、すでに去年の話になってしまいましたが、さくらのVPS に「逆引きDNS変更」機能が実装され、コントロールパネルから利用可能になりました。(ホスト名のところに「変更」ボタンが追加されました)


この逆引きDNS変更機能というのは、DNS の PTR レコードについて、利用者が所持しているドメイン配下の FQDN 名(完全修飾ドメイン名)を VPSマシン に割り振ることができる機能です。


使用している方はすでにご存じかと思いますが、さくらのVPSの利用を開始すると sakura.ne.jp ドメイン下のホスト名が割り振られ、PTR レコードについても初期値が設定されますが、この機能を使うことで利用しているVPSに対してDNS正引き(DNS名からIPアドレス)とDNS逆引き(IPアドレスからDNS名)の結果を一致させることができるようになります。

この機能は正逆双方のDNS検索が一致することが要件になるサービスを運営する必要がある場合や SSL 証明書を取得して https サービスを稼働させる場合により便利になる機能ではありますが、通常のサーバとしての用途の場合、どちらかというとメンテナンス操作時の見た目や精神的なものが大きいのではないかと思います。私が利用しているVPSでは当面そういった需要は出てこないので標準設定状態で運用するつもりです。

また、逆引きDNSとは直接関係ありませんが、「VNCリモートコンソール」についてもベータ版という扱いから、正式版に格上げされて、「リモートコンソール」画面の「VNCコンソールを開く」のリンクから起動できるようになりました。