はじめに
当社は、Drupal に特化したWeb システムの開発を手掛けています。Drupal は、海外では非常にメジャーな CMS で、ホワイトハウスに代表される政府機関、教育機関、また一般企業など、さまざまな Web システムで使用されています。ここ数年、国内の認知度も急上昇しており、Web 制作やシステム開発に携わる人なら、少なくとも名前くらいは知っている人が多いと思います。
国内で Drupal を採用している企業・団体の例
国内の Drupal サイトを集めたギャラリー「Drupal Dawn」(運営:スタジオ・ウミ)
Drupal と聞いて、どんなイメージを抱きますか?
よく聞かれるのは、海外の大規模事例が多い、高度なシステム構築に向いている等、強力な製品という認識です。他方、学習曲線が険しい(時間がかかる)とか、開発指向で難しい、日本語情報が少ない、など、気軽に使ってみるには敷居が高いという印象も強いようです。
Drupal の学習曲線を示した図 (出典:Learning curve for popular CMS)
この連載では、Drupal に興味がある方や、なんとなく特徴は見聞きしているが他の CMS と比べて何が良いのかいまいちわからない、といった方を対象に、Drupal の要素に共通する特徴とその背景にある思想を知っていただけるよう、毎回 1 つずつ様々な側面を取り上げて解説していきます。なるべく個別具体的な操作手順や設定方法には触れずに、読み物として Drupal の本質的な特徴を知っていただくことが目標です。
日本語の情報が少ないと言われる Drupal ですが、状況は変わりつつあります。たとえば、ThinkITの連載記事や書籍、当ブログの翻訳記事を含め、日本語で書かれた資料が日々増え続けており、課題は情報の量より質の段階にシフトしているように思います。
この連載では、毎回のテーマに関して、個別の技術論を解説する代わりに、良質な日本語情報を紹介していきたいと思います。最終的に初心者向けの「Drupal 総合案内所」のようなものにできたらと考えています。Drupal に興味がある方にお付き合いいただけたら嬉しいです。 そんなわけで第 1 回目は、Drupal の歴史から、その底に流れる一貫した思想をひも解いてみます。
Drupal の歴史
時代は 2000 年に遡ります。当時、ベルギー アントワープ大学の学生だった Dries Buytaert 氏が友人たちと情報交換するために作った掲示板付きの小さなニュースサイトが物語の始まりでした。彼は、学校を卒業した後も仲間たちと交流を続けられるよう、このサイトをインターネット上に移すことにしました。オランダ語の「村」(dorp)にちなんで dorp.org というドメインを取得しようとしたところ、打ち間違えて drop.org になってしまい、これが Drupal という名前の元になったという話は有名です。
Dries Buytaert 氏のブログ https://dri.es/
さて、drop.org が公開されると、システムの利用者は様変わりします。新しいインターネット技術に関心の高い人たちが集まって、さまざまなアイデアが議論されるようになり、drop.org はさながらそうしたアイデアを試す実験環境のようになっていきました。Driesは、このシステムをより多くの人と共有し、皆で Web 開発を探求していけるように、drop.org で動かしていたソフトウェアを公開することにしました。これが Drupal の始まりです。
drop.org の画面 (出典:https://www.agiledrop.com/blog/history-drupal)
その後、Drupal が世に知られる契機となったのが 2003 年の DeanSpace でした。DeanSpace とは、2004 年のアメリカ大統領予備選に立った Howard Dean 氏の応援キャンペーンプロジェクトのこと。オープンソースやソーシャルメディアを駆使したコミュニティを選挙キャンペーンに活用した先進事例として知られています。
このプロジェクトでは、支持者の地域やコミュニティが個別に立ち上げた非公式のウェブサイト(その数は 50 とも 100 とも言われています)を相互接続し、全米の支持者が互いに情報交換できるようにしました。この分散システムを実現するには、情報共有とコミュニティ構築のための高機能ウェブサイトを、相互運用可能な形で、しかも高度な技術がなくても構築できるようにする必要がありました。そのための共通基盤・ツールキットとして採用されたのが Drupal だったのです。
結局、Dean 氏が候補に選ばれることはありませんでしたが、このプロジェクトを仕掛けたメンバーの一人である Zack Rosen 氏はこのプラットフォームの価値を確信し、後に CivicSpace という名前で、オンラインキャンペーンと草の根活動を支えるパッケージを開発します。このプロジェクトは、元の Drupal から枝分かれした別プロジェクトとしてではなく、基盤としての Drupal に依存しながら機能拡張を施した特定用途向けの配布パッケージとして作れらました。これは、現在ディストリビューションと呼ばれている、Drupal の拡張パッケージの原型となりました。
Zack Rosen 氏は Pantheon の CEO (出典:https://pantheon.io/team/zack-rosen)
Drupal の根底にある思想とは?
このように、Drupal は常にコミュニティと深い関わりを持ちながら発展してきたことがわかります。学友との情報交換ツールから始まり、drop.org の利用者へと広まり、さらには DeanSpace という支持者コミュニティを支えるシステムとして大きな進歩を遂げました。コミュニティで共有されたアイデアを元に実験的な改善を繰り返し、OSS として公開するところまで発展しました。
DeanSpace は、共通基盤の上で別個に立ち上げられたウェブサイトによる分散システムとして構築され、そのためのツールキットは、Drupal 本体と相互に連携する拡張パッケージであるディストリビューションへと成長します。こうした流れを見てくると、オープンで堅固な基盤の上で、組合せの妙によって新たなソリューションを提供することに価値を見出すという一貫した思想が Drupal の DNA として組み込まれているように思います。
Drupal とよく比較される CMS の歴史を見ると、多くはブログやホームページ制作といった特定用途のソフトウェアが起源で、その用途を前提に個々の機能を発展させてきたことがわかります。Drupal はコミュニティサイトから発展してきたと言われることがありますが、ブログかコミュニティサイトかという違いは本質ではありません。 Drupal は、実は CMS というより、主に CMSをターゲットとした Web アプリケーションフレームワークだと見ることができます。
Drupal の本質は、コミュニティサイトでも、ブログでも、普通のホームページでもなく、それを作るための共通基盤であって、Drupal とそのコミュニティの努力と成果は、基盤としての価値を追求してきた歴史の結果ととらえることができると思います。Drupal を CMS という括りで、MT や WordPress と比較することは的外れかも知れません。
参考資料
関連コンテンツ
- 第 16 回 Drupal をもっと知りたい方に向けた各種情報
- 第 15 回 Drupal の拡張モジュールの選定と使い方
- 第 14 回 Drupal のテーマシステムについて
- 第 13 回 Drupal の権限設定と WordPress や Movable Type との比較
- 第 12 回 Drupal の多言語機能と他の CMS やサービスとの比較
- 第 11 回 Drupal と他の CMS のクエリビルダー機能を比較
- 第 10 回 Drupal の標準クエリビルダー Views の使い方
- 第 9 回 Drupal のブロックシステム
- 第 8 回 コンテンツ管理における Drupal と他の CMS との比較
- 第 7 回 Drupal のボキャブラリとタクソノミーの使い方
Drupal 初心者講座バックナンバー
- Drupal 9/10 初心者講座
- 第 1 回 歴史に見る Drupal の DNA
- 第 2 回 Drupal はフレームワークか?CMS か?他の CMS との比較
- 第 3 回 Drupal の特徴
- 第 4 回 Drupal 9 / 10 のインストール (1)
- 第 5 回 Drupal 9 / 10 のインストール (2)
- 第 6 回 Drupal にコンテンツを投稿してみる
- 第 7 回 Drupal のボキャブラリとタクソノミーの使い方
- 第 8 回 コンテンツ管理における Drupal と他の CMS との比較
- 第 9 回 Drupal のブロックシステム
- 第 10 回 Drupal の標準クエリビルダー Views の使い方
- 第 11 回 Drupal と他の CMS のクエリビルダー機能を比較
- 第 12 回 Drupal の多言語機能と他の CMS やサービスとの比較
- 第 13 回 Drupal の権限設定と WordPress や Movable Type との比較
- 第 14 回 Drupal のテーマシステムについて
- 第 15 回 Drupal の拡張モジュールの選定と使い方
- 第 16 回 Drupal をもっと知りたい方に向けた各種情報