はじめに
当社は、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と比較すること自体が実はナンセンスなんですね。
参考資料
- Our history(Drupal.org より)
- Drupalのリリース
- Drupal (Wikipedia):DeanSpaceの記述がある
- What is DeanSpace?
- A Short History of Drupal Distributions
- Drupal distributuions
- Movable TypeとWordPressの歴史
- https://99designs.jp/blog/inspiration/movable-type%E3%81%A8wordpress%E3…
- Concrete5の歴史
- History of Drupal
- Zack Rosen 氏(Pantheon )
(Photo by Thomas Kelley on Unsplash)
関連コンテンツ
- 第16回 Drupalをもっと知りたい方に向けた各種情報
- 第15回 Drupal 8 の拡張モジュールの選定と使い方
- 第14回 Drupal 8 のテーマシステムについて
- 第13回 Drupal 8 の権限設定とWordPressやMovable Typeとの比較
- 第12回 Drupal 8の多言語機能と他のCMSやサービスとの比較
- 第11回 Drupal 8 と他のCMSのクエリビルダー機能を比較
- 第10回 Drupal 8 の標準クエリービルダ Viewsの使い方
- 第9回 Drupal 8のブロックシステム
- 第8回 コンテンツ管理におけるDrupal 8 と他のCMSとの比較
- 第7回 Drupal 8 のボキャブラリとタクソノミーの使い方
Drupal 8初心者講座バックナンバー
- Drupal 8初心者講座について
- 第1回 歴史に見るDrupalのDNA
- 第2回 Drupalはフレームワークか?CMSか?他のCMSとの比較
- 第3回 Drupalの特徴
- 第4回 Drupal 8のインストール (1)
- 第5回 Drupal 8のインストール(2)
- 第6回 Drupalにコンテンツを投稿してみる
- 第7回 Drupalのボキャブラリとタクソノミーの使い方
- 第8回 コンテンツ管理におけるDrupalと他のCMSとの比較
- 第9回 Drupal 8のブロックシステム
- 第10回 Drupalの標準クエリービルダ Viewsの使い方
- 第11回 Drupalと他のCMSのクエリビルダー機能を比較
- 第12回 Drupal 8の多言語機能と他のCMSやサービスとの比較
- 第13回 Drupalの権限設定とWordPressやMovable Typeとの比較
- 第14回 Drupalのテーマシステムについて
- 第15回 Drupalの拡張モジュールの選定と使い方
- 第16回 Drupalをもっと知りたい方に向けた各種情報