この記事は Dries Buytaert 氏の公式ブログ「dri.es」の翻訳記事です。Driesブログの記事一覧よりすべての翻訳記事をご覧いただけます。
Drupal黎明期の頃、至るところでひとつの標語を目にしていました。「Don't hack core(コアをハックするな)」です。
イシューキュー、カンファレンストーク、サポートチャンネル、ステッカー、Tシャツにまで印刷されていました。短くて覚えやすく、しかも実際の問題を解決するものでした。あまりにも多くの人が、Drupal Coreを正しく拡張する代わりに直接改変していたのです。
時が経つにつれ、この標語は効果を発揮しました。エコシステムが成熟していったのです。ソフトウェア自体だけでなく、その周りの習慣や期待値も変わっていきました。今日では「Don't hack core」という言葉を耳にすることはほとんどありません。
AIがコードの書き方を変えつつある今、新しい標語が必要かもしれません。
オープンソースでは、すべてのコードはマージされる前に理解・レビューされなければなりません。その責任はコントリビューターとメンテナーの双方にあります。AIはコードの書き方を変えましたが、その責任までは変えません。むしろ、その責任を忘れやすくなっているとも言えます。
理解していないコードは、誰か別の人の問題になります。オープンソースにおいて、その誰かとは多くの場合、あなたのパッチをレビューするメンテナーです。
質の低いコードをメンテナーに押し付けることは、全員のレビューを遅くします。それだけでなく、コードから学び、開発者として成長するチャンスまで失うことになります。
どんなツールを使うかは問いません。ただ、コードをコミットするなら、それが何をするのか、なぜ動くのか、他のコードとどう関わるのかを説明できるようにしておくべきです。
誰にでも出発点はあります。今日のトップコントリビューターたちも、かつては不完全なパッチをコミットしていました。AIツールを使う使わないにかかわらず、あなたはここへようこそ。完璧さは求めません。でも、自分のコードを理解することは必要です。自分のコードに責任を持ちましょう。
そろそろ新しいステッカーとTシャツを作る時期かもしれません。
理解していないコードは絶対にコミットしない。
草稿を確認してくれたNatalie Cainaru氏、Jeremy Andrews氏、Gábor Hojtsy氏に感謝します。
— Dries Buytaert
PS: LinkedInでのディスカッションもぜひご覧ください。
この記事は「Never submit code you don't understand」(投稿日:2026-03-16)の翻訳記事です。
カテゴリ