今日の早朝(昨晩深夜)に初オンライン開催のDrupalCon GlobalのDries noteを聴講した。
6月に久々のバージョンアップでDrupal 9が出たばかりなのに、Drupal 10のリリースは2年後の2022年6月をめざさないと厳しいことが分かって衝撃を受けた。オープンソースに限らないが、OSのようなプラットホーム、あるいは、重要なコンポーネントに依存したソフトウェアは、その改定の影響をもろに受けるのである。GPLバージョン2ライセンスのオープンソースを利用していれば、Drupal外のコンポーネントに依存していたとしても、最悪その部分のメンテナンスを引き継ぐ余地があるが、それでも、もしその外部プロジェクトが死んだら影響は甚大だ。同時に良質で先進的なソフトウェアは必ず改定され、その過程で、機能の変容や一部機能の改廃が起きるものだ。その変化についていけるものだけが、進歩についていけるのである。リーダーは、今プロジェクトがいる状態を冷静に見つつ、他の依存すべきプロジェクトを選択しなければならない。その選択(賭け)に負ければプロジェクトは死ぬ。Drupalの場合は、symfony/PHPを選んだので、そのバージョンアップを見据えると自然とDrupalのバージョンアップをあわせなければいけなくなる。
今日Drupal 10 target release date and Drupal 9 end-of-lifeという記事が出ていて、その理由が素晴らしく簡潔に説明されていた。
この記事には書かれていないが、Drupal 10は、フロントエンドのインフラをPHPからJavascriptフレームワーク(react, vue)に切り替える方向に動いている。大改革だ(好感)。
バージョンアップ問題はかつていたSI業界では鬼門だ。顧客視点に立てば、一定のレベルで満足している既存システムのバージョンアップは金が出ていくだけで、何の価値もない。今の機能そのままで現場は困らないのだから、触りたくないのだ。しかし、それは罠だ。プラットホームの改定は、時代適応のためになされる。セキュリティ対応だったり、スケーラビリティの確保だったり、新しいデバイスや通信技術等への対応を可能にするために行わざるを得ないことが多い。だから、バージョンアップが金食い虫だと考えた企業は、時代に取り残されかけていると自省したほうが良い。
邪悪なインフラソフトの製造者は、バージョンアップで儲けようと考えたりするが、そういう本質を見ない金儲け指向のプレーヤーの多くは2回程度繰り返したところで死ぬ。日々、CTOとCEOのバトルが続いていて、先走りがちなCTOが論争に勝って死ぬプロダクトあるいは企業もあるから難しい(面白い)。ただ、インフラを担う者はプロフェッショナルサービスに日和ってはいけないのである。そこを間違えると、必ず滅びる。プロフェッショナルサービスは回収までの期間が短いので、資金繰りに窮すれば飛びつきたくなる。やれば必ず金が入ってくるという誘惑に抗するのは難しい。成功しているオープンソースプロジェクトの多くはそこで妥協しないのがすばらしい。Drupalはもちろん、他にも立派なプロジェクトは複数ある。
問題は、ソフトウェアに限らない。建築の世界でも耐震技術であるとか、免震技術であるとか、技術開発は施工業者の常識を書き換える。今までの常識がパーになることもある。ルールの改定で一儲けしようとする政治家が跋扈すると短気ではお友達が儲かるかも知れないが、本質を見なければ国ごと沈む。ルールあるいはデファクトの適用技術標準を作る人(官僚と現場)は、本質を見なければいけない。いくら政治家が前のめりになっても、間違っていると思ったら、絶対に譲ってはいけない。日和れば、被害は甚大となる。
私自身は、なんとかして時代に適応しよう、環境変化に取り残されまいと努力しているが、それだけでは新しい時代を切り拓く側には立てない。決して、一人で頑張る必要はないし、一人で頑張る気持ちは時にブレーキになる。同時に、なぜこれほど、変化が短期化しているのかをよく考えなければいけないと思う。
自然人の性向は驚くほど変化していないように見える。誘惑はあるが、そこに巣食ってはいけないと心から思う。