イベント

Linus Torvalds氏が登壇、「約10週間のリリースサイクルは続く」

LinuxCon Japan 2016レポート

LinuxカーネルのドキュメントにSphinxを使う提案

 Corbet氏のブレイクアウトセッションでは、Linuxカーネルのソースに含まれるドキュメントの問題点が指摘された。

 ソースのDocumentディレクトリ以下に大量のドキュメントのファイルがあるが、どこに何があるかわからない状態になっている。「“zorro.txt”というファイルがあるが、これがAmigaのドライバーのドキュメントだとはわからないだろう」とCorbet氏。その他、ドキュメント間の相互参照がなくて関係がわからない問題や、ドキュメントの所属の問題などが語られた。

 それ以外に、カーネルのソースコードに関数などのコメントとして入れられたKerneldoc形式のドキュメントがあり、整形ツールによってDocBook形式などで出力できる。

 ただし、何度もソースをパースする設計で処理が遅いことや、ドキュメントにフォーマット情報が入っていないためきれいに出力できないこと、Documentationディレクトリのドキュメントと統合されていないことなどの問題がある。

 そこで、Corbet氏はLinux 4.8に向けて、ドキュメントシステム「Sphinx」による文書化を提案したという。DocumentationディレクトリやKerneldocのドキュメントを、基本的にはそのままに、必要に応じてreStructuredText(reSTまたはRST)形式でマークアップすることで、Spnixで処理してさまざまな形式に変換する。Corbet氏がコンセプトコード(POC)とともに提案したところ、Jani Nikula氏が動くものを作成したという。

 現在、2つのドキュメントをSphinx化したという。これからの予定については、DocBook形式のドキュメントの変換や、Kerneldocのユーティリティをどうするかの問題、プレーンテキストとの統合、そして新しくよりよいドキュメントを書く必要性が語られた。

Documentディレクトリに置かれたドキュメント
Kerneldoc形式のコメント
Sphinx導入の利点
SphinxでHTML化したドキュメント
現在のステータス
これからの予定