valid,invalid

関心を持てる事柄について

GitHub で見かける暗号みたいな言葉の意味は?

What do cryptic Github comments mean? — Free Code Camp の抄訳です。



GitHubオープンソースプロジェクトへのコントリビューションは初めてですか? LGTM, ACK, NACK みたいな短い言葉を見てどういう意味だろうと思ったことはないですか?

例えば...

  • LGTM - looks good to me: 良いと思う
  • ACK - acknowledgement: 同意!
  • NACK/NAK - negative acknowledgement: 同意できない
  • RFC - request for comments: 意見求む
  • WIP - work in progress: 作業中、まだマージしないで
  • AFAIK/AFAICT - as far as I know / as far as I can tell: 自分が知るかぎり / 自分が言えることは
  • IIRC - if I recall correctly: 自分の記憶が正しければ
  • IANAL - I am not a lawyer: 自分は法律家じゃないけど(ライセンスの問題がありそう)

秘密の場所にある多くのプロジェクトはこんなのも使います。(Bitcoinハッカーの専門用語により普及しましたね)

  • Concept ACK - agree with the concept: コンセプトには同意するがまだレビューしてないよ
  • utACK (aka. Untested ACK) - 変更は良いと思うしレビューしたけどまだテストしてないよ
  • Tested ACK - 変更は良いと思うしレビューもテストもしたよ!

これらの返答はコードレビュープロセスの一部で GitHub の issues や pull requests で見られます。

特別賞: +1 は ACK の短縮形で、多くの場合は Concept ACK と同等です。かの有名な "親愛なる GitHub へ"の後、GitHub は不要なコメントを一掃できるリアクション機能を導入しましたが、無論これは GitHub を次世代の Facebook にするためではありません。 :)


Linux カーネル でやっているように、 commit message の中に ACK などが含まれているのを見るかもしれません。

Add get_random_long().

Signed-off-by: Daniel Cashman <dcashman@android.com>
Acked-by: Kees Cook <keescook@chromium.org>
(以下略)

詳しくは"Linux カーネルに変更を加えるには"を読みましょう。


コミュニケーションを効率よく行うため、こうした短い受け答えはソフトウェア開発やオープンソースコミュニティで広く用いられています。

また、ソースコードの中でも TODO, FIXME, XXX, NOTE みたいな文字列を見たことがあると思います。そして XXX って何を意味するんだろうと思いましたか?

もっと多くのアクロニム*1を説明や歴史込みで知りたいなら、1975年から続く"Jargon File"を見てみましょう。


おまけ: ACK や NACK はどこから来たのでしょう?

これはおそらく、広く用いられているネットワークプロトコルTCP から来ていると思われます。

*1:各語の頭文字を組み合わせた単語のこと