今回のテーマは「Webサービスクローン」

Webサービスの利点はそれまでの事業に比べて構築、運営コストが圧倒的に低くできる点だ。そのため、ホームページの時代からはじまって、いまや無数のWebサイトが存在している。だがその構築コストの低さや技術のコモディティ化が劇的に速く、あっという間に廃れたり模倣されたりする。

Web2.0という単語が出始めてから特にその傾向は強い。del.icio.us、flickr、Digg、Facebook、Twitter、thumblrなどなど数多くの人気サイトが存在し、そしてクローンと呼ばれる同じコンセプトを持ったソフトウェアやWebサービスが作成されている。

だが逆に考えると、真似される、真似したいと思うほどサービスが面白いということでもある。筆者の持論では、あるソフトウェアがあった時にそのコンセプトが素晴らしいと、他のプログラム言語でも実装してみたい、オリジナルを越えてみたいと思うのがプログラマの常。今回はそうしたクローンサービス、クローンスクリプトを紹介したい。そうしたソフトウェアを元にして低コストでシステムを導入するか、さらに磨きをかけることでオリジナルすら乗り越える代物ができあがるかもしれない。

今回紹介するOSS・Webアプリ
Plurk』 タイムライン型twitterクローン
Gitorious』 Githubクローン
gelato』 tumblrクローン
AppDrop』 Google App Engineクローン



新参のTwitterクローン

名称 Plurk
URL http://www.plurk.com/

Twitterのコンセプトは非常に明確で、さらにシステムは単純のように見える(少なくとも外面からは)。そのため、日本でも多数のTwitterクローンと呼ばれるWebサービスが数多く登場した。『Plurk』はそうしたTwitterクローンの新参とも言えるWebサービスだ。

「Plurk」のトップページ。利用はユーザ登録必須だ

ベースはTwitterのように、「いま自分が何をしているか」を記録していくのだが、自分の発言に対してあらかじめ動詞が設定できるのが特徴だ。たとえば「moongift is ?」「moongift asks ?」といった具合だ。発言はタイムライン上に掲載されるようになっており、時系列で発言が追いやすくなっている。

ユーザ画面。一番下が発言のボックス

is/will/likesなどのラベルをクリックすると、違うグループはグレーアウトされ、発言をクリックすると、その発言に対して返信することができる。マイクロブログとしてはTwitterクローンといえそうだが、実際に使ってみると色々と違う面が見えてくる。Twitterクローンはさまざまなサービスが登場しては消えていった。Plurkはさて、どうなるだろうか。




自分だけのGithubを構築しよう

名称 Gitorious
URL http://gitorious.org/

2007年まではバージョン管理といえばSubversionが有名だった(その前はCVSだろう)。そして2008年になって急浮上してきたのが分散型バージョン管理システムだ。各人のローカルコンピュータ上へリポジトリをコピーし、その上でコミットし、終わった段階でプッシュするという仕組みだ。そして分散型バージョン管理サービスとして有名なのGithubだ。

トップページ。同名Webサービスと同じ作りになっている

そんなGithubを真似、クローンとして提供しているのが『Gitorious』。Ruby on Railsで開発されており、ユーザ登録すれば誰でもリポジトリを追加できる。そしてコミッターを管理したり、Web上での差分表示、コメント、プロジェクトの進捗グラフを表示したりすることができる。

プロジェクトウィンドウ。シンプルでわかりやすい画面構成だ

Diffは左右に新旧ファイルを並べて表示するか、Diffファイルを表示するかを切り替え可能。GithubはオープンなWebサービスであるが、Gitoriousを使えば社内におけるGitリポジトリの管理にも使えそうだ。




tumblrクローンで自分専用Tumblogを簡単に

名称 gelato
URL http://www.gelatocms.com/

マイクロブログの代表としてTwitterと並んで利用者が多いのがtumblr。テキストや画像、動画などを簡単にクリッピングしておける、便利なWebサービスだ。その便利さゆえ、クローンも当然ながら存在する。それが『gelato』だ。

画像やテキストなどをスクラッピングできる

gelatoはPHP+MySQLで作られたオープンソース・ソフトウェアで、テキスト/画像/動画/音楽/リンク/引用/チャットが貼り付けられるようになっている。それぞれのクリッピングデータにはコメントを残すことができ、フィードを取り込んでクリッピングすることもできる。

tumblrクローンらしくシンプルなデザイン

テーマにも対応し、自分好みのデザインに即入れ替えられる。自分専用のTumblogを立てたいという方はgelatoを使えばごく簡単に構築できる。




Amazon EC2での利用がターゲットのGoogle App Engineクローン

名称 AppDrop
URL http://appdrop.com/

最近、ついに金額のプランも公表され、一般公開されたGoogle App Engine。Googleのシステム、データベースを使い、Webサービスを構築できるのが魅力だ。だが、現状では足りない機能もあるのは確か。たとえば独自ドメインへの対応であったり、システムコマンドが実行できないといった類いの問題だ。

「AppDrop」のトップページ。登録すればアプリケーションをアップロードできるようになる

そうした問題を乗り越える解決策は自分だけのGoogle App Engineを作ることかもしれない。『AppDrop』はRuby on Railsで作られたGoogle App Engineクローンだ。とくに面白いのはその利用想定環境としてAmazon EC2を挙げている点だ。Google App Engineは対Amazon EC2と言われているが、それすら飲み込んでしまう勢いを持っている。

動作サンプル。掲示板スクリプトを動作させたところ

まだ開発途中ではあるが、このプロジェクトは非常に興味深い。ローカルで開発してWeb上にデプロイする、それはGoogle App Engineのみならず魅力的な仕組みだ。AppDropを使えばその仕組みだけをうまく流用できそうだ。

いかがでしたか?

クローンスクリプトは他にもさまざまに存在する。それは単なる模倣というだけでなく、そのコンセプトが好きで、自分でも作ってみたいという憧れの現れでもある。自分の作ったサービス、ソフトウェアに対してクローンが現れたら、誇るべきことなのかもしれない。

利用する側としては、Web上のオンラインのサービスでなく、LANやローカルコンピュータ内で同じようなサービスを立ち上げられれば、セキュリティ面や独自の作り込みを行うのにも向いている。また、オープンソース・ソフトウェアを使うことで開発コストを下げ、企画やマーケティングにあてる時間を増やす効果もある。単なる真似では面白くないが、ひと工夫こらしたり、既存サービスの不満点を改善できれば、新しいユーザ層を取り込める可能性もあるだろう。

著者プロフィール
MOONGIFT 中津川 篤司(なかつがわ あつし)
1978年生まれ。オープンソース紹介サイト「MOONGIFT」管理人。プログラマ、SE、ITマネージャを経て、オープンソースのビジネス活用を推進する。現在は独立し、Webサービスのコンサルティング、プロデュースを行う。