知財クラスタの皆さん、バージョン管理システムどうですか?

超々久しぶりのブログになってしまいました。皆さんお元気ですか?僕は元気です。

さて、先日ツイッターでこのようなアンケートをしてみました。

その結果、多くの人が「使ってない」と答えました。これは、今まで私が現場で見聞きした状況と変わりません。

バージョン管理システムは、比較的大きなプロジェクトでプログラムのソースコードのバージョンを管理する目的で作られたものですよね。一方、知財クラスタの仕事は、大規模プロジェクトというよりは、個人プレーに近いですし、扱うものがソースコードではなく、日本語などの自然言語による文書であるという違いもあります。このような違いがあるので、皆さんは他に適したツールを使っているかもしれませんが、私はプログラマなので、使い慣れたバージョン管理システムを使っています。

バージョン管理システムはいろいろな意味で便利だと思いますが、普段の仕事で解決してくれている課題は次のようなものです。

課題

まず、明細書や契約書をWordで書いてる人は、以下のような問題に遭遇したことはないでしょうか。

①バージョン取り違え問題

下の図のような経験はないでしょうか。

f:id:kolibri:20210202164247p:plain

 

一見して、「今必要なのはどれだよ!」と思ってしまいますよね。Finalって言ってるのが正しいの?ファイルのタイムスタンプ?本当にそれが一番最新だという確信はどうすれば持てるの?

間違って古いバージョンで出願してしまったら目も当てられません。

ファイルを一つにして常に上書き保存するようにしてもいいですけど、修正履歴やそれぞれのバージョンを保存しておきたいと思うのも普通のことですよね。どういう意図で変更したのかを後から検証できることも重要です。このような異なるバージョンを複数のファイルで管理するのは煩雑すぎますよね。

もっとも、SharePointクラウドドライブのバージョン履歴機能、Wordのバージョン履歴機能を使ってもいいですけど、その場合次のような問題が発生しませんか?

②修正問題

 例えば甲さんが以下の文章をWordで作成したとします。

f:id:kolibri:20210202171034p:plain

 

次にそれを乙さんが修正履歴をつけて修正したとします。

f:id:kolibri:20210202171331p:plain

乙さんの修正を見た甲さんは、

「Wordの修正履歴を見ると、第1稿が第2稿になってるのが分かるね。あとHogeHogeに続いてFugaFugaが追加されてるね。」と思いました。

しかし、よく見てください。「テキスト」という文字が「テキト」に変わってませんか?修正履歴もないのに。。。これは、いわゆる「サイレント修正」・・・

 

こういう場合、Wordの「文章の比較」ツールやWinMerge等を使うのが通常かと思います。このようにテキヌトのサイレント修正もよくわかりますね。

f:id:kolibri:20210202172515p:plain

しかし、毎度毎度修正前のファイルと修正後のファイルを選択して「文章の比較」ツール等を使って比較するというのも面倒です。何ならバージョン違いの複数のファイルを扱っている場合、ファイルの取り違えも起こりそうです。


意図的かどうかは別にして、こうした無言の修正が行われることもあるようです。これを見過ごすのは危険ですよね。

解決手段

冒頭で述べたように、自然言語の文書ファイルに適したツールを導入されている方もいらっしゃると思いますが、私は現在、Gitというバージョン管理システムを使っています。『GitHubで情報漏洩』などのニュースが報じられることもあるので、GitとGitHubについては、ほとんどの方が聞いたことがあるのではないでしょうか。

Gitでは、上記のようなバージョン違いのファイルをそれぞれ保存することができます。また、TortoiseGitのようなGUIアシスタントを使えば、以前のバージョンとの差分を簡単に確認することができます。

他にも、内向きの情報を含んだファイルを外部に送信する際に、内向きの情報をストリップしておきたいケースもあるでしょう。そのような場合にも便利にバージョン管理できると思います。

最後に

いやいや、こういう問題だったらこっちのツールのほうがもっとスマートに解決できるよ、っていうのがあれば是非いろいろ教えてほしいです。いろいろ試してみたいと思っています。

逆に、この記事を見て万一「ほうほう、Gitってのが便利なのか、じゃあこのGitHubってところに作成中の明細書を上げてバージョン管理しようかな」と思われた方いらっしゃいましたら、事故(ダンス)っちまう前に私でもほかのエンジニアでもいいので一言相談してください。

私からは以上です。

参考リンク

git-scm.com

qiita.com