MkDocsは3つに分裂して終わった。あなたはどれかを選ばなければいけない
MkDocsというPythonで作られたドキュメント向け静的サイトジェネレーターがあります。 MkDocsには、Material for MkDocsというテーマがあって、MkDocsと組み合わせて使うとmarkdownで書いたドキュメントを素早くきれいに見せられるので、わりと使っていました。
日本語圏でもMkDocsを使っている人は多いけれど、MkDocsのプロジェクトが実質、終わったことが日本語でニュースになっていないので書いておきます。
MkDocsコミュニティ崩壊の経緯は、The Slow Collapse of MkDocsというブログ記事が詳細にわたってまとめています。自分は、Redditでこれを知りました。
- The Slow Collapse of MkDocs — Florian Maas: https://fpgmaas.com/blog/collapse-of-mkdocs/
- The Slow Collapse of MkDocs : r/Python: https://www.reddit.com/r/Python/comments/1s0gfyb/the_slow_collapse_of_mkdocs/
- What MkDocs 2.0 means for your documentation projects - Material for MkDocs: https://squidfunk.github.io/mkdocs-material/blog/2026/02/18/mkdocs-2.0/
ブログ記事では時系列を追って詳細に書いているので詳しいことを知りたい場合は、それを読んでください。概要だけ知りたい人は、Geminiにまとめさせた要約を以下に掲載します。揉め事で読んでるだけでもうんざりしてくるので、これだけで十分だと思います。
MkDocsコミュニティ崩壊の経緯
-
プロジェクトの停滞と管理体制の混乱
- 原作者(lovelydinosaur氏)が長年不在の中、主要なメンテナーたちがプロジェクトを支えてきたが、メンテナー間の技術的見解の相違や個人的な対立(特にoprypin氏と他のメンバー)が表面化。2021年、主要メンテナーの交代劇があったが、その後も意思疎通がうまくいかず開発が停滞。
-
「MkDocs 2.0」を巡る決定的な亀裂
- 長年の不在から復帰した原作者が、従来のMkDocsとは互換性のない「MkDocs 2.0」の開発を独断で進める。
- 最大の問題点: MkDocsの強みであった「エコシステム(プラグイン)」を排除する設計思想でコミュニティの期待に反する方向性。
- 開発が非公開で行われたことや既存のプラグイン作者たちの意見が聞き入れられなかったことで、コミュニティの不信感が頂点に。
-
人気テーマ「Material for MkDocs」との離別
- 最も利用されているテーマ「Material for MkDocs」の開発チームは、MkDocs 2.0が既存の資産を破壊すると判断。
- 結果として、Material for MkDocsチームはMkDocsに見切りをつけ、独自の後継ツール「Zensical」などの開発へ舵を切った。
-
PyPI権限の乗っ取り騒動(2026年3月)
- 2026年3月、不満を募らせた元メンテナーがパッケージ管理システム(PyPI)の権限を一時的に奪取し、原作者を排除しようとする象徴的な事件が発生。現在は解消されているが、プロジェクトの崩壊を象徴する出来事となった。
崩壊が決定的になったのはPyPIの騒動で、混乱と大荒れになって表面化したということです。ちなみに原作者のlovelydinosaur氏は、独断で進める人らしく同氏が主導する別のプロジェクトでも騒動を起こしてます。
MkDocsを使っている人はどうする?
ということで、MkDocsは次の3つに分裂しました。
- MkDocs原作者が作ったMkDocs 1.x系と後方互換がないMkDocs 2.0
- Material for MkDocsを作っていた人たちがrustで作り直したZensical
- MkDocs 1.x系からフォークしたProperDocsとMaterialX
じゃ、MkDocsを使っている人はどうしたらいいかについてですが、わかりません。
MkDocs 2.0は公開されてません。Zensicalは将来有望そうですが、自分がさわった感じでは、まだ微妙。MkDocsでプラグインを使っていたら、それの置き換えも考えないといけません。
となるとProperDocsとなりますが、今、使っている人の選択肢にはなりますが将来的にはわかりません。
原稿自体はMarkdownなので、MkDocsにこだわりがなければ別の静的サイトジェネレーターに移行してもいいと思います。ただ、言えることはこの先、移行は必須なので考えておきましょう。