アーカイブ

‘オープンソース’ タグのついている投稿

歴史は繰り返し、そのOSは現れた

Googleの懐刀のChrome OSがついにお目見えしましたね、という話。

Official Google Blog: Releasing the Chromium OS open source project

そんでもって、ソースはこちらから落とせます。

Getting and Building a Chromium-Based OS

Chrome OSでは、「OSとはインターネットである」という思想の基に、アプリケーションとデータの全てをネットワークの先のクラウド上に置くという形態になります。つまり、Googleが集中管理する巨大なコンピューターのリソースを、みんなでシェアして使うという考え方です。ネットワークがインターネットになったこと以外は、大昔の「ホストとダム端」の世界に戻る感じね。正に、歴史は繰り返しています。

オープンソースであることが「ホストとダム端」の世界との大きな違いですが、これは、Googleと当時の汎用機メーカーのビジネスモデルが違うというだけのことです。ま、オープンソースがもたらす価値も大きくはありますが、OSと称するブラウザ上にいつも現れる広告は、さぞかし鬱陶しいでしょうね。 それを言うなら、ここの右とか下とかにある広告は何だ!っていう突っ込みはナシね(笑)

コンパイル済み、インストール済みのVMイメージを配布しているサイトもあるようですね。新し物好きの方は↓からどうぞ。

Download Google Chrome OS for free

この記事をついーと

TortoiseGit最新版でGitがより身近に

少し前に、Google Codeが分散型バージョン管理システム(DVCS)にMercurialを採用し、ワールドワイドではバージョン管理システム(VCS)は急速に分散型に移行しつつあります。しかしながら、Mercurialや、人気を二分するGitにしても、日本人でWindowsを主戦場としている開発者にはにはまだまだ敷居が高く、興味があっても手が出せないというのが現状であろうと思います。そんな中、GitのGUIフロントエンドの「TortoiseGit」の最新バージョンがGit普及の起爆剤になるかも、という話。

TortoiseGit – The coolest Interface to (Git) Version Control

[前略]~ The latest release 1.0.2.0 This release can complete regular task, such commit, show log, diff two version, create branch and tag, Create patch and so on. ~[以下略]

「一般的なタスク(コミット、ログ表示、バージョン間のdiff、ブランチとタグの作成、パッチの作成、など)については開発を完了した」との記述は、「開発バージョン」の冠が取れて、「正式リリース版」になったということ。リリースされればGitのキラーツールになるであろうと目されるTortoiseGit、Gitの弱点はWindowsとの相性の悪さと言われていますから、TortoiseGitの完成度が上がることで、今後Gitユーザーはますます増えていくことでしょう。

また、日本語の情報についても、少なくとも4ヶ月前の状況よりはかなり改善されているように見えます。日本語化モジュールは最新バージョンに追いついていないようですが、有志により日本語のドキュメントも揃いつつあります。日本でもユーザーが増えてくるような気配です。

MercurialとGitは互いに機能を吸収し合って切磋琢磨しながら成熟度を増してきています。どちらを使用してもSubversionとの相互運用は可能ですから、ユーザーとしては、あとはMercurialとGitで相互乗り入れができるようになればもう言うこと無しですね(w

ローカルでのブランチやロールバックができるというのは、個人的な開発にもとても便利そうです。これを機に、拙宅の開発環境もSubversion + Gitに移行しようと思います。

この記事をついーと

クラウド時代のデータストア

ちょっと面白そうな連載を発見。GoogleやYouTubeなどの大量のデータを取り扱っているサイトで利用されているデータストア技術についての記事です。RDBとは全く違う発想で、分散コンピューティング技術を使って超巨大なデータを処理します。クラウドコンピューティングの基盤となるよと言う話。

(1) クラウド時代のデータベース「分散Key-Valueストア」

(2) 素朴なBigtable、できること できないこと

分散Key-Valueストアは表面的には非常にシンプルなデータストアで、SQLなどによるデータの検索機能は持っていません。純粋に「データの入れ物」としてのデータストアとして機能します。特徴としては、大きくて大量のデータを高速に扱えること、可用性が高いことが上げられます。

また、Apache HadoopというOSSを使って、これらの分散処理技術を体験することができます。Hadoopは、上の分散ファイルシステムをコアとしたGoogleの分散処理技術をベースに、有志達がJava実装したものです。実用的なレベルかどうか分りませんが、興味のある方はどうぞ。

MapReduceのJava実装Apache Hadoopを使ってみた

GMailの障害では運用面が問題視されてるGoogleですが、そのビジネスを支える基盤技術には、先見性が感じられます。こなれてくれば、いずれOracleやDB2など既存のRDBMSの基盤としても使われるようになるのかもしれませんね。

この記事をついーと

GitHubでオレオレ・リポジトリ

OSS開発者の間では、Linuxの作者のリーナス・トーバルス氏がLinuxカーネル開発のために自ら開発したGitというバージョン管理システムが注目されています。また、そのGitリポジトリをシェアできるGitHubなるホスティングサービスも盛況だとか。

@ITより… リーナス・トーバルス氏がGoogleで行った分散ソース管理に関する講演のYouTube動画を引き合いにして、GitやGitHubと言ったツールやサイトによる影響が、今後のソフトウェア開発プロセスの大きな変化に繋がるかも、という話。

ソーシャル化するOSS開発者たち

Subversionなどの過去のバージョン管理システムでは、常に正となる中央リポジトリをよりどころにした中央管理型のバージョン管理を行いますが、Gitは逆に分散管理型とでも言いましょうか。中央リポジトリのようなものは事実上存在せず、各自がオレオレ・リポジトリを管理します。そして、信頼できる他人の管理するリポジトリとの差分をpullして、自分のリポジトリに取り込みます。上のコラムの結論としては、このような分散リポジトリと「信頼の輪」による開発モデルを基礎としたGitやGitHubは、今後のソフトウェア開発プロセスに少なからず影響を与えるでしょう、とのこと。

このモデルがうまくいくのは、例えばコミュニティ主体のオープンソースによる開発のような限られたケースだけではないかと思われます。当たり前ですが企業で行うリニアな開発では、プロジェクト管理者という権威の元で中央集権的な管理が行われます。参加者全員のゴールは同じに設定され、全員が一丸となってそこに向かって突き進むわけですから、トーバルス氏が指摘するところの「コミットに関する政治的な駆け引き」などというものはそもそも存在しませんし、氏自身もこの辺りは認めています(もっとも、彼は、「オープンソースこそ正しくソフトウェア開発を行う唯一の方法だ」と言い切っていますがw)。このようなウォーターフォールな多くの開発プロジェクトにとっては、影響はあるかもしれませんが限定的かと。

ただ、何より日本人の場合、影響を受けようにも、言語の壁がまず一番はじめに来ますよね。ますますオイテケボリですねー さぁ、明日も頑張ってsvn mergeしよう!

この記事をついーと