現場で使えるJavaライブラリの執筆環境

共著の場合はコミュニケーションや、原稿・サンプルコードなどの共有のための仕組みが必要になります。また、会社の同僚との共著ですが、勤務先がバラバラだったりするので基本リモートで全ての作業を進められるようにしておく必要があります。いままで何度か共著でやったことがあるのですが、今回はこんな感じでやってみました。

原稿はOpenOffice.org

短い原稿はGoogleドキュメントで書くことが多いですが、書籍など尺のあるものは以前からOpenOfficeを使っています。WikiGoogleドキュメントと比べると図や表が入れやすいという部分が大きいです。
ただ、Mercurialでのファイル共有とは相性が悪いです。Writerの場合、コンフリクトした場合は一応差分を表示することはできますが、これでマージを行うのは至難の業だと思います。テキストベースのフォーマットで、図・表が扱いやすくて、レビュー時にコメントを入れやすいものがあればよいのですが…。ただ、今回は図が少なかったのでやろうと思えばWikiでも行けたかも。

BitBucketでファイル共有

原稿、サンプルコード、校正などのファイル共有にはBitBucketのプライベートリポジトリを使用しました。
BitBucketを選んだのはMercurialを使ってみたかったというのもありますが、無料でプライベートなリポジトリを作れるという理由がほぼ全てです(プライベートリポジトリには利用可能なユーザ数に制限がありますが)。ファイル名やディレクトリ名に日本語を使わないようにして以外は特に問題なく利用できました。速度的にもまあまあ快適でした。ただ、OpenOfficeのファイルがコンフリクトすると厄介なので、メールで宣言してから触るなどの運用対処を行っていました。

MLはGoogleグループ

MLにはGoogleグループを使用していたのですが、大きなファイルを添付しての送信はできないのですね…。巨大なファイルを送る必要がある場合は直接メールするなどの使い分けをしていました。
Googleグループでファイル添付やページの機能が使えなくなってしまったので、代わりにGoogleサイトも使っていたのですが、あまり意味はなかったかな。BitBucketにWikiやチケットの機能があるんでそれらを使ってもよかったかもしれません。分担や進捗状況などはGoogleドキュメントで書いたものを共有したりしていました。これらもBitBucketで共有してもよかったかも。

校正はPDFで

校正は郵送の手間や時間がもったいないのでいつもPDFでやらせていただています。今回はAdobe Reader Xの機能でPDFにコメントを入れる形で校正を行い、コメントを入れたPDFはBitBucketで共有していました。もちろん紙に印刷して読んだりもしています。
個人的には主に通勤・帰宅の電車内で紙に印刷したものをチェックしていたのですが、タブレット端末があれば電車の中でもPDFでチェックができたかもしれません。ノートPCを持ち歩いていても座れないと使えないので。

まとめと今後の課題

リモートで執筆作業を進めるという面ではほぼ目的を達成できています。現にメンバーで執筆に関する打合せをしたのは最初に分担を決めるときだけで、あとはすべてメールでコミュニケーションを取りました。編集さんとも顔を合わせての打合せは企画のときに一度だけで(別件のついでに少し話したりということはありましたが)、基本的にメールとGoogle Talkのやり取りのみで済ませています。
今後の課題ですが、やはり原稿のフォーマットが最大の問題点です。一人で作業するならOpenOfficeでよいのですが、SubversionMercurialで共有することを考えるとマージが可能なテキストベースのフォーマットであることが望ましいです。Wikiのようなものでいいのですが、図・表とコメントが簡単に入れられるようなもの。これがあると作業がだいぶ楽になりますね。
しかし、これだけの環境を全て無料で揃えることができるというのもすごい時代になったものです。会社の仕事の進め方よりもよほどハイテクだなぁと思います。