2012/09/28

文系のための「オープンソース」

OSに依存しない環境を構築する上で、最も大きな問題が利用するソフトの問題
商用系のソフトの多くは、ある程度、ターゲットとなる消費者層を絞っているので、
消費者層が限定されるようなOSへの対応には慎重にならざるを得ない

売上がかかっている企業に、ユーザが少ないMac やLinux のソフトを作れって言っても、
何らかの方法で、利益を上げることが出来なければ、作ってくれないだろう。
なるほど。市場を通して「商品」は流通するのだから、これは仕方ない...。

というのが、これまでの常識であった。しかし、最近は少々状況が変化し始めている。

自分で作ったものを公開し、共有し、時には改変を許可することで、
本来の意図した消費者層を超えて、より広範に役立つものが作られていく。
市場を意図せずに作られたものが、新しいビジネスチャンスに繋がることもある。

例えば、地図業界の「オープン・ストリート・マップ(OSM)」の存在や、
音楽業界の「Vocaloid」、最近話題の低価格「三次元プリンタ」、
初期業界の「ブログ本」...なども、そういった流れと関係しているかもしれない。

このブログも本になったら...ゲホゲホ...まぁ、それは置いておいて...。

面白いことは、共有される様々な資源を用いることで、素人が、
自分の欲しいものを簡単に作れてしまうということ。
実は、Linuxもそうした営みの中で発展してきたという歴史がある。

かつては、生産者消費者市場を中心に区別されてきたのであるが、
情報通信技術に関わる分野では、生産者消費者が一体化し始めているのである。
A.トフラーの『第三の波』に出てくる「生産消費者(プロシューマ)」を思い出す。

現在の情報通信技術の多くが、そうした、ある意味で、
生産消費者」のような人々の「営み」によって支えられているのである。
本日のテーマである「オープンソース」は、そうした代表的なもの。

オープンソース」と聞くと、多くの人は「無料ソフト」だと考えるようであるが、
資源(ソース)」が「開放されている(オープン)」のが「オープンソース」で、
決して、無料というわけではない。「有償のオープンソース」だってあり得る。

ソフトの場合、その「資源」というのは、当然「プログラム・コード」のことで、
装置類を動かすためのプログラムそのものを「ソースコード」と呼ぶ。
プログラマにとっての最大の資産であり、企業にとっては簡単に公開できないもの

なぜ、ソースコードを公開することがそれほどまでに重要なのか?
以下は、QGISという、オープンソースのGISソフトの「ソースコード(左)」と、
同じく、QGISの実際の「実行ファイル(右)」である。右側のは全く意味が解らない。


オープンソースでないソフトというのは、要するに、実行ファイルのみを配布・販売し、
オープンソースソフトというのは、左側のソースコードも入手可能な状態にする。
実は、ちょっと英語とプログラミングが解れば、同じものが作れるし、改造もできる

あるいは、プログラム上に深刻な問題が含まれていた場合
オープンソースであれば、その間違いを直すこともできるのである。
私も、時々、改変して使ったりする。間違いを正したことは無いが。

有名で信頼されている商用ソフトを使っていても、時々「アレ?」ということがある。
そんな時に、ソースコードが見れないと、少々不安になる。
具体的な処理が見えないと、「バグ」と「仕様」の区別ができないのである。

まぁ、通常は、よほど細かいことをやっている人でないと気付かないことであるし、
こういったことが出来る人は、それなりに、高いスキルを要するから、
一般ユーザがこのメリットを「直接的」に享受できることは少ないが。

さて、一般的な商用ソフトは「通常は」ソースコードを公開しない
同じものが作れたら、競合企業に独自の技術が盗まれるかもしれないし、
海賊版のソフトが大量に出回ってしまうと商売にならない。

それゆえに、これまでは商用ソフトの多くはソースコード公開しないのが常識だった。
一方、オープンソースでは、そのように、非常に大切なものを共有するのである。

自分の「秘技」としてソースコードを見えないようにして「権威」を高めりよりも、
自分で出来る事は自分でやって、出来ない事は周りに任せた方が合理的なのである。
特に、人的資源が枯渇してくると、協力し合った方が良いということになる。

特に、最近では、OSに依存しないプログラム言語も多く登場しているので、
様々なOSで利用できるソースコードが増え続けている。

共有の精神と技術的背景が一体となって、
OSに依存しないソフトを生み出されるのである

この背後にキリスト教的精神が潜んでいるのか、あるいは欧州的精神が潜んでいるのか、
社会学的な興味としては、その背景を探ってみたいところではある。

ところで、ソフトの開発者の権利というのはどうなっているのだろうか?
Microsoft はソフトの著作権を主張することで、あそこまで大きくなったのであるが、
オープンソースでは、完全に自分の権利を放棄することになるのだろうか?

実を言うと、そういう訳では無い。権利は、開発した人が持ち続けることが原則で、
他人のソースコードを使う際のルールは、かなり「厳密に決められている。
ある意味、開発者の権利という点では、商用ソフトよりも「神経質」かもしれない。

「僕の名前書いてくれたら良いよ〜」というルールが適用される場合があれば、
「改造はダメ!再配布もダメ!商用利用はもっとダメ!」というルールもある。
中には、「再配布する際には、君も僕のルールを使ってね!」というのもある。

とにかく、色々とあって少々複雑。正直な話、私も把握できていないことも多い。
この辺りの詳しい話はいずれ別の機会を設けよう。私も色々と勉強せねばならない。

さて、最近では、企業の方も「オープンソース」を無視できなくなってきているようで、
誰も読まないような、周辺機器マニュアルの一部には、
オープンソース技術を用いているようなことが書かれている場合もある。


これは、私が愛用しているBuffalo のルータの説明書に書かれている一文。
ちゃんと、オープンソース技術を使っていることが明示されている。問い合わせば、
元のソースコードのライセンスに従い、当該コードを入手・改変・再配布できるらしい

さて、色々と前置きが長くなってしまったが、要するに、オープンソース系のソフトは、
商用のソフトと比較して、OSの壁を超えて利用できるものが多いということ。
最近では、完成度の高いものも、増えてきている。

また、オープンソース系ソフトは、他のOSに移植されることもあり、
それなりに「名の売れた」ソフトが別のOSで使えることが多い。
こうして、OSの選択に自由が出始めると、商用系ソフトも追随を始めるかもしれない。

ここからは、私が日常的に使っているソフト類を紹介することにしよう。
おそらく、そういった情報は初学者には有益となるかもしれない。

まずは、ほぼ全ての人が必要とする「オフィス・ソフト」。
Microsoft Word、Excel、Powerpointなどがセットになったもの。
もちろん、オープンソースのオフィスソフトは存在する。

おそらく、最も有名なものは、OpenOffice.orgではないだろうか?
OpenOffice.org は、様々な派生品が存在していて、中には有償のものもある。
私の場合は、派生版の一つ「LibreOffice」というのを使っている。意外に使いやすい。

(出典:http://upload.wikimedia.org/wikipedia/commons/1/11/LibreOffice_Calc_3.3.png

Windows版、Linux版、MacOS版があり、Windows版にはUSBから起動するものもある。
当然、同じソフトなので、一度使い方を覚えてしまえば、いつでもどこでも使える。
ただし、フォントの問題でレイアウトが壊れることはある。フォントはOS互換

元々、ドイツのStarDivisionという会社が「StarOffice」というのを開発していたのだが、
Sun Microsystemsという結構有名な会社が1999年に買収し、
当時のバージョンを無償で提供したのが、OpenOffice.org誕生の契機となった。

その後、ソースコードを公開し、OpenOffice.orgプロジェクトというのを立ち上げ、
このプロジェクトでの成果をStarOfficeに取り込んで、有償版として売りだした。

このように、オープンソース版の方で色々と試して、
良い部分や安定した部分を商品化して売りだす方法というのは、
オープンソース業界では、比較的一般的なように思われる。

例えば、Linux系OSの一つであるFedoraは、無償のオープンソースOSであるけれど、
その成果は、RedHat Linuxと呼ばれる有償のLinuxに反映されて販売されている。
結果として、個人ユーザは無償を使い、大企業は安心感のある有償版を使うことになる。

さて、SunMicrosystems という会社、コンピュータ史では非常に重要な企業であったが、
Oracleという巨大企業に吸収合併され、現在はこの企業が、OpenOfficeを引き継いでいる。
この事件は非常に大きな出来事で、LibreOffice は、この時にスピンオフした人達が開発している。

次に、多くの人が使いそうなのが、Webブラウザだろうか?

無頓着な人は、Windowsに最初からインストールされている
インターネットエクスプローラ(IE)を使っているかもしれない。
あるいは、根強い人気のFireFoxを使っている人もいるだろうか。

私の場合には、Ubuntu上では、Chromiumというのを使っている。
2008年9月に、GoogleGoogle ChromeというWebブラウザを公開したのであるが、
Chromiumというのは、このChromeのオープンソース・プロジェクトの名前。

(出典:http://upload.wikimedia.org/wikipedia/commons/1/13/Chromium_%28web_browser%29.png)

細々としたことを除いては、基本的には、Google Chromeと同じなので、
MacとWindowsでGoogle Chromeを使っていれば違和感はない。
個人的には、IEよりも早くて快適である信じているので愛用している。

実は、Google は、当初はブラウザを作ることには乗り気ではなかったようであるが、
ラリー・ページという、Googleの「伝説的な人物」がFirefoxの開発を引きぬいたことで、
方針を転換し、Googleもブラウザを開発するようになったらしい。

本当かどうかは定かでは無いが、Wikipedia 英語版にはそのように書いてあった。
(参考:http://en.wikipedia.org/wiki/Google_Chrome

ちなみに、Firefox にもWindows版Linux版、Mac版がそれぞれ存在しているので、
Firefoxを愛用している人も困ることは無いだろう。

個人的には、画像処理ソフトを使うことも多いのであるが、他の人はどうであろうか?
裕福なWindowsユーザあるいはMacユーザPhotoshopを使っているだろう。
残念ながらPhotoshopに関しては、Linuxでは使えないし、それに高すぎる

私は、GIMPというのを使っている。これは、Windows版、Linux版、Mac版がある。
Windowsユーザだったころは、私もPhotoshopを使っていたのであるが、
なんと、Photoshopのファイルも読み込めるし、意外に使える。

(出典:http://upload.wikimedia.org/wikipedia/commons/5/51/Gimp_2.8RC1.jpg)

GIMPというのは、GNU Image Manipulation Programの略。GNUは「グヌー」と呼ぶ。
要するに、オープンソース(GNU)画像処理プログラムなのである。
GNUについては、いずれ説明しよう。

ちなみに、1995年の開発当初は、General Image Manipulation Programの略だった。
元々は、カリフォルニア大学・バークレー校の講義でつくられていたようで、
最初のリリースは、1996年1月だったらしい。これもWikipedia英語版の情報。
(参考:http://en.wikipedia.org/wiki/GIMP

それが、1997年から、GNUのプロジェクトの一部となり、
GNU Image Manipulation Programの略称で「GIMP」となった。

かつては、少々、癖のあるソフトであったが、Ver.2.8からは使いやすくなった。
未だにMac版には使い勝手上にいくつか不満は残っているが、
私の場合は、メインで使っているのはUbuntuなので、補助的に使う分には困っていない。

GIMPに関してもWindows版にはUSBから起動できるものがあるほか、
様々な派生版GIMPも存在している。私は、使ったことないのであるが。

画像と言えば、Illustratorの代替を探している人も多いようである。
私は、InkscapeScribes という二つのソフトで代用しているが、
やはり、Illustratorの完全な代替候補というのは少々難しいかもしれない。

ただし、文系分野の中の例えば、考古学で扱うような図面に関しては、
Inkscapeでも、十分のような気がするし、チラシやポスターなどは、
Scribesでも、十分に綺麗な作品を作ることができる。

まぁ、結局はセンスの問題なので、ソフトのせいにするのは...どうだろうか。
上手く作れば、Powerpointでもかなり高度なグラフィックが描けるのだから。
私がWindowsユーザだったころは「パワポ職人」と言われていた。

以上が一般的なものだろうか?

あとは、データベース分析関係のソフト類などだろうか。
これらは、人によって使う用途が異なるので、以下説明は省略。
私が使っているソフトのうち、WindowsLinuxMacで動くものをリスト化しておく。

なお、中にはオープンソースで無いものも含まれている。「OS」の列が「No」の箇所。
私は、オープンソース信奉者では無いので、必要があれば、有償版を買って使う
現実的に買えるものしか買わないが。

なお、「△」と「❍」と「◎」は、使っていて不満があった程度。
当然、「◎」は、問題無しで快適に動くという意味。
「?」は、使ったことが無いので解らない。


ソフト名 Windows Mac Linux OS 備考
GIS GRASS GIS Yes 空間分析専用。Windows版にはやや難あり。Python経由で利用
QGIS Yes 表示専用。メインでは使わない。
gvSig Yes 時々、使うことがある。日本語は苦手。文字化けしやすい。
R Yes 分析専用。最近はこれがメイン。綺麗な地図は大変...。
分析関係 Scilab Yes 入れてるだけ。ほとんど使わない。使ったことはない。
Octave Yes 入れてるだけ。ほとんど使わない。使ったことはない。
SciPy Yes Pythonでプログラムを書く時に使う。
R Yes これがメイン。今は商用のものよりも評価が高い。
データ
ベース
PostgreSQL Yes これがメイン。OracleやDB2の代用。高機能のDB。
MySQL Yes 時々使う。Accessの代用くらいか。機能が限られる。
Sqlite Yes GRASS GIS周りで稀に使うことがある。基本的にはサブ。
開発環境 VIM Yes 開発は、実質的にこれがメイン。オススメ「しない」。
Komodo Edit Yes テキストエディタ。こっちの方が通常。起動が思いが快適。
NetBeans Yes Javaで開発する時はこれを使う。滅多に使わない。
Astah* No UMLツール。オープンソースではないが、どのOSでも使える
Freeplane Yes マインドマップツール。Freemidの派生版。

さて、一体、何が言いたいかと言うと、同じOSを使い続ける時代は終わったので、
我々も、可能な範囲で対応できるようにしないといけないということ。

Windows、Linux、Mac3系統のOS今後も生き続けるとは限らないが、
まぁ、これら3つが、ある日突然、同時に消える可能性は限りなく低いであろう。
それゆえに、どのOSでも使えるソフトを使うのには意味がある。

個人的な経験として、10年前に使っていたソフトが廃盤となったせいで、
現在では開くことさえできなくなったファイルが色々とある。
あるいは、学生時代は無料だったが、現在は高くて買えないものもある。

情報管理において、そういった、ソフト依存の部分を防ぐことは非常に重要で、
場合によっては、使い慣れているソフトを離れる勇気も必要かもしれない。
たしかに、最初は大変であるが、慣れてしまえば新しいことができるようになる。

また、大規模災害からの復興過程では、無償で使えるツールからデータ整理を始めて
用途に合わせて、使う基幹システムとそれに依存するソフトを選択し、移行していく
そういった、方向性を考えることができるのではないだろうか?

0 件のコメント:

コメントを投稿