[ソースコード] ソースコードのCangelogが面白い件について

最近ソースコードを読む機会が多いのですが、たまたまソースコード中に入ってるChangelogを読んだら、これが結構面白いことに気づきました。

Changelogとは、ソースコードを改良する際にどこら辺を変えたかを残すためのログなのですが、これを見ることで、どういう経緯でこのソースコードが出来上がってきたのか分かりますし、どういった人がどういった感じで更新していったのかも見ることができるので、そのソースコードに関する関心が高まり、なおかつ愛着も沸いてきます( ・∀・)

例えばemacschangelogはこんな感じになっています

1985-05-16  Richard Mlynarik  (mly at mit-prep)

        * fileio.c: added optional third arg ok-if-exists to
        rename-file, make-symbolic-link, add-name-to-file and copy-file.
        If the destrination filename exists, then if ok-if-exists
        is non-nil it is silently bashed; else if the function was
        called interactively the user is queried as to whether s/he
        wants to bash the file; otherwise (ok-if-exists nil, non-interactive)
        a  file-already-exists  error is signalled.

        * window.c: made get-window-buffer return nil if get-buffer of
        its arg returns nil, rather than erring.

1985-05-14  Richard M. Stallman  (rms at mit-prep)

        * dispnew.c, display.c:
        Function scroll_max_lines_saved returns # lines in common
        between PhysScreen and DesiredScreen.
        UpdateScreen skips i/d calc on big window, fast screen
        when there are too few lines in common.
                                                              3429,1-8      9

これをみると、誰がどのソースコードをどういった目的で、変更または追加していったかのかがわかります。ソースコードが、どういった感じで構築されていったかわかるのが面白いですよね。

オープンソースのコードを見るときはChangelogも少しは読んでみると面白いと思います。