Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR の目的
毎年やってるCopyright更新を行います。
同時に、来年以降の更新がラクになるように簡単なルールを決めて、全C++ソースを対象にCopyrightを挿入します。
カテゴリ
PR の背景
サクラエディタはオープンソースのアプリです。
オープンソースのアプリのソースコードには普通、著作権表示を入れます。
著作権表示(=Copyright)を入れる必要があるかどうかは、選択しているライセンスによるので一概に言えません。
サクラエディタが選択している
zlib license
は、全ソースに入れなくてもいい種類のライセンスです。入れる必要はないんですが、サクラエディタのソースコードの大半には Copyright が入っています。
Copyrightには、権利発生年を入れる必要があります。
// Copyright (C) 2018-2020, Sakura Editor Organization
この場合、2018年からサクラエディタの organization が管理してるよ、という意味になります。
いま2021年ですが、表記が2020年だから失効か?というとそうではありません。
重要なのはあくまで権利発生日だからです。
Copyrightの更新は、過去3回実施してきました。
このPRでは、年次で更新すべきものとそうでないものを分類して、今後の作業をやりやすくしたいと思います。
PR のメリット
PR のデメリット (トレードオフとかあれば)
仕様・動作説明
今回の修正ルールの要点を書きだしておきます。
(動きませんが、一応「編集仕様」っすw)
Copyright 更新対象
年次更新の必要があるファイルは以下です。
LICENSE
sakura_core/sakura_rc.rc2
sakura_lang_en_US/sakura_lang_rc.rc2
C++ソースのCopyrightに関してのルール
背景で説明している通り、更新年の更新は必須ではありません。
今後、新規追加やパッチ取込の際に基準にできるようルールを書き出しておきます。
今後新規に追加するファイル
Copyright (C) 2021, Sakura Editor Organization
上記以外(2020年以前から存在していたファイルの場合)
(既存のCopyright表記の最後に以下を追加) Copyright (C) 2018-2021, Sakura Editor Organization
PR の影響範囲
Sakura Editor Organization
のCopyrightが付きます。(C) 1998-2021
になります。テスト内容
変更対象はロジックではありませんが、以下のテストを実施して修正すべきファイルに漏れがないことを確認しました。
テスト手順
^
をgrepして対象ファイルのパス一覧を得る。2021, Sakura Editor Organization
をgrepして修正済みファイルのパス一覧を得る。テスト結果
*.cpp,*.h,*.hpp,*.cpp.in
): 729個sakura_core/sakura_rc.h: 手で書いたコメントを入れてはいけないファイルなので対象外です。
*.cpp,*.h,*.hpp,*.cpp.in
以外): 3個関連 issue, PR
#232 copyright を 2018 に変更
#761 Copyright を 2019 にする
#1154 Copyright を 2020 にする
参考資料
issue #761 でCopyrightの年表示について少し議論しているのが参考になると思います。