+

Drupal Associationが新規コミッターの参入を容易にし、実装を加速

  • 実装の高速化
  • ユーザー参加の拡大
  • コラボレーションの強化
業界ソフトウェア
従業員数
地域Drupal.org
ソリューションGitLab Ultimate

GitLab Ultimateがチームにもたらすメリットについてご覧ください

無料トライアルを開始

GitLabの導入により、Drupalプラットフォームの開発がオープンソースの進化の主流に位置づけられ、Drupalユーザーコミュニティのより幅広い層によるコントリビュート活動をより良くサポートできるようになりました。

DevOpsプラットフォームとしてGitLabを採用することで、より大きなコントリビュートとコラボレーションが可能になりました。

ブラウザさえあれば、モジュールエコシステムだけでなく、Drupalコア自体にもコントリビュートできます。GitLabへの移行前は、これは不可能でした。これは非常に大きな変化です。

- Timothy Lehnen, CTO, Drupal Association
Drupalがオープンソースとともに進化し、プラットフォームを成長させる

無料のDrupal Webコンテンツ管理システムを管理するDrupal Associationは、オープンソースソフトウェア時代における最も注目すべき成功事例の1つです。Drupalは、世界のトップ10,000ウェブサイトの推定13%を支える強力なバックエンドフレームワークとして機能しており、Fortune 50企業、政府機関、高等教育機関など、多くのユーザーに利用されています。ウェブサイト開発から高度なコンテンツ管理まで、このプラットフォームはオープンソースコントリビューターのイノベーション、ノウハウ、献身に支えられながら進化を続けてきました。2021年初頭の時点で、Drupalコミュニティには121,000人のアクティブなコントリビューターが参加しており、Drupal Associationは数千のウェブサイトが革新的で安定したモジュールにますます迅速にアップグレードできるよう支援しています。

前進し、新規コントリビューターの障壁を軽減

Drupalは2021年に20周年を迎えました。ベテランのオープンソースプロジェクトとして、実際にはgitよりも前から存在しており、GitLabやGitHubのようなホスト型コラボレーションプラットフォームや、TravisのようなCI(継続的インテグレーション)サービスよりも歴史があります。この時代の多くのプロジェクトと同様に、Drupalは独自のgitバックエンド、独自のコードコラボレーションツール、独自の継続的インテグレーションシステムを構築していました。2020年に入っても、Drupalエコシステムは主にDrupal.orgのカスタムイシュートラッカーに提出されるパッチと、独自のDrupalCIシステムによる統合テストに依存していました。同時に、製品としてのDrupalは複雑さと機能性において進化し、野心的なデジタルエクスペリエンスを構築する業界リーダーとなりましたが、老朽化したコラボレーションツールの欠陥と摩擦点が露呈していました。

Drupal.org開発チームは、Drupalがオープンソースプラットフォームとして繁栄し続けるためには、初心者体験に注力し、不可欠で活気あるコントリビューターコミュニティの継続的な成長を促進する必要があることを認識しました。新規コントリビューターは、摩擦のない開発作業に迅速に参加できる必要がありました。また、Drupalは新規ユーザーがコードのコントリビュートとワークフローを管理できるよう、エンドツーエンドのブラウザベースの管理機能を必要としていました。さらに、強力なマシンにアクセスできない世界中のユーザーにも、コントリビュートを続けるために必要なツールを提供する必要がありました。これらの目標を達成することは、Drupalプロジェクトを成功に導く要素、つまり権限を与えられ活力に満ちたコントリビューターがイノベーションに集中し、摩擦から解放されることに焦点を戻すために不可欠でした。

GitLabがより多くの開発者にアクセスとコラボレーションを開放

新たな目標を達成するため、チームはエンドツーエンドのサポートを提供するオープンなコラボレーションおよびDevOpsプラットフォームの活用を検討しました。Drupal.orgエンジニアリングチームは、カスタムコラボレーションツールの保守を続けるか、十分にサポートされた最新のソリューションに移行するかの選択を迫られました。数年にわたる評価プロセスの中で、チームはGitLab、GitHub、Bitbucketを評価し、最終的にGitLabをオープンソースプロジェクトをサポートするコラボレーションおよびDevOpsプラットフォームとして選択しました。Drupal AssociationのCTO、Timothy Lehnen氏は「開発者が期待するモダンで機能豊富なコントリビュートワークフローを提供し、Drupalの非常にオープンなコラボレーションスタイルに合わせて新しいツールを設定するために不可欠な、独自のセルフホストインスタンスを運用できることが決め手でした」と述べています。

「GitHub、Atlassian BitBucket、GitLabを含む複数のコラボレーションプラットフォームの独立した評価を実施した結果、GitLabはDrupalプロジェクトおよびオープンソースコミュニティとの協力とコラボレーションへのコミットメントにより、明確な勝者として浮上しました」とLehnen氏は続けます。GitLabの採用は、すでにgitに精通している多くのコントリビューターにとって即座にアドバンテージとなり、より多くの人々をDrupalコミュニティに呼び込むことができました。このモダナイゼーションにより、チームはGitLabの機能を拡張するツールプロバイダーのエコシステムが作成したアドオンの恩恵を受けることができました。これには、すでに社内業務でGitLabを採用していたDrupalサービスプロバイダーも含まれます。

「GitLabにより、Drupalコントリビューターは自分の専門分野とは関係のない完全な開発スタックを学ぶという障壁なしに、必要なツールを手に入れることができます」とLehnen氏は述べています。「コーダーにとっても非コーダーにとっても、プロジェクトでのコラボレーションが容易になりました。」コミュニティメンバーは、コントリビュートのエンドツーエンドのプロセス全体をサポートするブラウザインターフェースを使用できるようになりました。GitLab CIは、Drupalプロジェクトのさまざまな新しいワークフローをサポートしています。コーダーも非コーダーも、GitLabのWebIDEを使用して、より良いコードコメントやコード内ドキュメントブロックを書くことができます。プロダクトマネージャー、アクセシビリティエンジニア、コンテンツエディター、プロジェクトマネージャーなど、非コーダーを含むさまざまなユーザーが、全体的なワークフローに統合されるようになりました。コーダーと非コーダー間のこの統合により、Drupal全体で前例のないコラボレーションが可能になっています。

GitLabの使用は、プロジェクト初のKubernetesクラスターの実装とも一致しています。GitLab CI Runnerは、Drupalエコシステムの一部のプロジェクトにベータ版として提供されており、まもなくより広範にリリースされる予定です。これにより、Drupalプロジェクトは集中型CIモデルから、プロジェクトメンテナーが選択したCIワークフローを実装し、より迅速にイノベーションを起こせるモデルへと移行できます。一例として、Drupalは単なるPHPプロジェクトを超えて拡大しており、現在はGitLab CI/Pipelinesを通じて複数のJavaScriptコンポーネントをNPMに公開しています。

効率性の向上と機能の拡大

導入により、Drupalコミュニティの機能が大幅に拡大しました。GitLabにより、より多くのDrupalユーザーがDrupalコアに対する修正を提出することに抵抗がなくなっています。「変更以降、Drupalエコシステムでは月に400件以上のマージリクエストがあり、月内のクローズ率は約50%です」とLehnen氏は述べています。マージリクエストへの移行以降、Drupalコア自体へのコントリビュートは約10%増加しました。WebIDEによりコントリビューターコミュニティメンバーがジョブの設定とセットアップにかかる時間を大幅に節約できるため、コントリビューターリソースがより効率的に活用されるようになりました。「ブラウザだけでDrupalへのエンドツーエンドのコントリビュートができます。コマンドラインは不要です。ローカル開発環境も不要です」とLehnen氏は付け加えています。

「今では、コントリビューターはアクセシビリティの懸念について新機能をレビューするために、ローカルDrupal開発者になる方法を学ぶ必要がありません。複雑なローカル開発環境をセットアップせずにコントリビュートできる機能により、アクセシビリティメンテナー、ドキュメントエディター、プロダクトマネージャーなど、あらゆる人が開発者の作業をレビューしコメントすることが容易になりました」とLehnen氏は述べています。

一方、Drupalコアチームは、Drupalコアのテストカバレッジをほぼ100%に近づけており、GitLab CIを使用してコードベースの新しい部分にそのカバレッジをはるかに容易に拡大できるようになります。Drupalコントリビューターエコシステムの開発者満足度の向上や、コントリビューター機能開発における内部チームへの依存度の大幅な削減など、主要な目標を達成しました。コントリビュートは、主にPHPプロジェクトに追加される最初のJavaScriptパッケージを含むまでに拡大しています。

今後、さらなるGitLabの実装により、コントリビューターの努力とイノベーションを強調し、Drupalコミュニティの仕組みをより良く理解するための有用なメタデータを提供するDrupalクレジットシステムの機能が拡大される予定です。「Drupalは、コントリビュートエコシステムの測定と理解においてオープンソース界をリードしています。これは私たちが維持したい独自ツールの要素の1つであり、GitLabチームがこの機能をGitLabに導入するアイデアをサポートしてくれていることを嬉しく思います。これにより、オープンソースコミュニティの他のメンバーもこれらのコミュニティヘルスメトリクスの恩恵を受けることができるでしょう」とLehnen氏は述べています。

ケーススタディに記載されている情報や関係者はすべて、発表時点のものです。