Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
82e6010
2026年分の貢献ポイントを集計
faithandbrave Nov 9, 2026
36edbb5
タグ割り振りを2025年の集計結果に合わせて見直し
faithandbrave Nov 9, 2026
e5269ea
取り消された変更の除外と、同一Pull Request内の微調整のまとめ
faithandbrave Nov 9, 2026
b5138ad
期間境界のコミットを明示して生成結果を安定させた
faithandbrave Nov 9, 2026
e28b3a7
LWG Issueの追記だけの作業をcpprefjp/linkに変更
faithandbrave Nov 9, 2026
f9a5a6e
レビュー指摘の反映とタグの見直し
faithandbrave Nov 9, 2026
61fb542
貢献ポイントのルールの矛盾とタグ名の重複を解消
faithandbrave Nov 9, 2026
5053419
ルール修正に伴う再生成
faithandbrave Nov 9, 2026
3d2f610
貢献ポイントのルールのあいまいさを解消
faithandbrave Nov 9, 2026
011940c
ボットのマージとツール系の仕組み導入の扱いを明記
faithandbrave Nov 9, 2026
5076a48
同年に自分が作成したページへの追記の扱いを具体化
faithandbrave Nov 9, 2026
e84d0d7
ルール修正に伴う再生成
faithandbrave Nov 9, 2026
e7a023c
fixs / fixm の境目をルールに明記
faithandbrave Nov 9, 2026
7929ccf
ルール修正に伴う再生成
faithandbrave Nov 9, 2026
272eede
ルールに残っていたあいまいさを解消
faithandbrave Nov 9, 2026
a73ff94
tool/addlの判断基準を仕組み側に直した
faithandbrave Nov 9, 2026
e576be3
ルール修正に伴う再生成
faithandbrave Nov 9, 2026
b0cbaba
dependabotの更新の対象範囲を明記
faithandbrave Nov 9, 2026
5eaa64e
ルール修正に伴う再生成
faithandbrave Nov 9, 2026
4f4a3bd
ルール文書の矛盾を解消し、判定の根拠を明記
faithandbrave Nov 9, 2026
03d4d11
履歴統合で再出現したコミットを対象外として記載
faithandbrave Nov 9, 2026
afff35f
ルール修正に伴う再生成
faithandbrave Nov 9, 2026
d1fca52
対象外とするものを3つ明記
faithandbrave Nov 9, 2026
a598a1e
markdown_to_htmlがarchiveされたため集計対象から外した
faithandbrave Nov 9, 2026
8ac4b6b
HTML変換に失敗していた山カッコをエスケープ
faithandbrave Nov 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 75 additions & 19 deletions start_editing.md
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,15 @@ cpprefjpおよびboostjpでの作業は、以下のように貢献ポイント

お金での分配を辞退された方にも、ステッカーの配布などでお返しができればと考えています。

分配率は、各コントリビューターの年間貢献ポイントから以下の手順で決定します:

1. 前年からの繰り越しポイントがあれば加算する
2. コアメンバーとの個別合意による上限があれば、そこで打ち切る
3. 得られたポイントの0.36乗の小数点以下を切り捨てた値を「枠」とする
4. 辞退者を除いた枠の合計に対する比率を分配率とする

0.36乗の圧縮は、貢献ポイントの大きいコントリビューターに分配が集中しすぎることを避けるために行います。切り捨てのため、枠の境界に近いコントリビューターは1ポイントの判定で分配率が1枠分動きます。境界に近い方の貢献については、コアメンバーが差分を目視で確認します。

なお、マージされずにクローズされたPull Requestについては貢献ポイントの対象外とさせていただきます。

また、masterブランチにマージされずオープンなままのPull Requestについては、マージされた年に貢献ポイントをつけさせていただきます。
Expand All @@ -305,64 +314,110 @@ cpprefjpおよびboostjpでの作業は、以下のように貢献ポイント
2. GitHub Wikiの編集
3. 貢献ポイントの集計作業
- [集計ツール](https://github.com/cpprefjp/stats_contribution)の開発
- 貢献ポイントの調整・ルール作り
- 本ページの「貢献ポイント」節の編集 (ポイントの調整・ルール作り)
- `start_editing/contribution_stats_*.md`の編集
4. スポンサーの追加・削除・修正
5. 画像の追加・削除・修正
6. 巻き戻した変更 (revert)
7. package-lock.jsonの更新
- 集計期間の終了時点でその変更が残っていないもの (revertされた、または後から書き直されたもの) が該当する
- 規格側で機能が取り消されたことへの追従は、仕様変更への対応なのでfixlとする
7. `package-lock.json`の更新
- ただし`npm audit`によるセキュリティ修正は、`package-lock.json`のみの変更であっても`tool/security`の対象とする

貢献ポイントの集計方法として、以下の注意事項があります

- 同年内の当人による同ページへの複数の修正は、貢献ポイントをまとめる場合がある
- 連続した作業が複数コミットになった場合などにまとめる
- 複数の仕様変更による複数の修正の場合などはまとめない
- 同年内の当人による同ページへの複数の修正は、以下をすべて満たす場合に1行にまとめる。タグは、まとめる各作業のタグごとに件数の最大値を採る (合計はしない)。まとめた結果が1ページだけの場合は、もっとも大きいタグだけを残す
- 前の作業から30日以内であること (同一Pull Request内の微調整は60日以内)
- そのコミットが触ったページが5ページ以下であること。ただし前の作業とページがすべて一致する場合は対象とする
- まとめ先の作業より貢献ポイントが大きくないこと
- 対応している提案文書・Issueが異なる場合はまとめない
- 年間を通して何度も更新されるページは、「同じページ」の判定に使わない。`implementation-status.md`、`implementation.md`、`lang/cppXX.md`、`*/feature_test_macros.md`、`reference.md`、`index.md`が該当する
- 同年に自分が作成したページへの追記も、作成したときの作業にまとめる
- ただし仕様変更への対応 (fixl) と動作確認 (compiler) は別の価値として数える。規模が大きいだけの追記はまとめる
- 同ページ内に対する複数の修正は、大きい貢献ポイントにまとめる場合がある
- リンク追加・修正を含む説明修正は、fixmやfixlなどにまとめる
- ページを追加するコミットに含まれる、同じ階層または親階層のページへの軽微な修正は、addref / addlang / addpage に含める
- 追加したページへのリンクを張るための親ページの修正などが該当する
- 差分が関連項目・参照リンク・コード修飾だけのページは、`link`としてページ単位で数える
- それ以外の軽微な修正は、コミット全体で`link`1件として数える
- 1ページあたりの変更が40行を超える修正は、規模の大きい修正として別に数える
- 共同コミット (Co-author) は全員に貢献ポイントがつくものとする
- ただしボットおよび生成AIがCo-authorの場合は対象外とする
- 変更が空白のみで、読者に見える差がないものは貢献ポイントの対象外とする
- 末尾改行の追加・削除、余分な空白の削除などが該当する
- 表示が変わる空白の調整 (箇条書きのインデントなど) は`fixs`とする
- ページの削除は、それ自体には貢献ポイントをつけない
- 不要になったページや、規格に存在しない内容のページの削除が該当する
- 削除に伴う親ページや関連項目の修正は、通常どおり数える
- ボットによるコミットは貢献ポイントの対象外とする
- ただし動作確認してマージした作業には価値があるため、マージした人に貢献ポイントをつける
- dependabotによる依存ライブラリの更新は、マージした人の`tool/updatelib`とする
- `tool/updatelib`は直接使用のライブラリ単位なので、直接使用しているライブラリの更新に限る
- `package-lock.json`のみが変更される更新は、依存ライブラリの依存ライブラリの更新なので対象外とする

貢献ポイントの集計対象となるリポジトリは以下です

- <https://github.com/cpprefjp/site>
- <https://github.com/cpprefjp/site_generator>
- <https://github.com/cpprefjp/markdown_to_html>
- <https://github.com/cpprefjp/kunai>
- <https://github.com/cpprefjp/kunai_config>
- <https://github.com/cpprefjp/crsearch>
- <https://github.com/boostjp/site>

<https://github.com/cpprefjp/markdown_to_html>は、site_generatorに統合されてarchiveされたため、2026年分から集計対象外としています。統合以降の作業はsite_generator側で集計します。


### cpprefjp

| タグ | ポイント | 説明 |
|-----|---------|------|
| cpprefjp/typo | 1 | 誤字・脱字の修正 (ページ単位)。サンプルコードの非コメントの修正はfixs |
| cpprefjp/link | 2 | 関連項目・参照リンクなどの追加・修正、nolinkの解除 (ページ単位) |
| cpprefjp/typo | 1 | 誤字・脱字・スペルミスの修正 (ページ単位)。サンプルコードの非コメント部分の修正はfixsまたはfixm |
| cpprefjp/link | 2 | 関連項目・参照リンクなどの追加・修正、nolinkの解除、グローバル修飾・コード修飾の適用 (ページ単位)。LWG Issueなどを参照に追記するだけの場合もこれにあたる (付随する説明の箇条書きを含む) |
| cpprefjp/addref | 20 | リファレンスを1ページ追加 |
| cpprefjp/addlang | 20 | 言語機能を1ページ追加 |
| cpprefjp/addpage | 20 | その他ページ追加 (articleや編集者向けページなど) |
| cpprefjp/fixs | 2 | 既存ページへの修正 : small 軽微な修正、コード修飾追加 (ページ単位)、スクリプトによる一括修正 (スクリプトはtool系で別途評価) |
| cpprefjp/fixm | 5 | 既存ページへの修正 : medium 追加説明、サンプルコード追加、訳語追加 (訳語単位)、用語追加 (用語単位)。誤字・説明の言い換えの範囲を超える間違い修正。サンプルコードや仕様での変数名の間違い修正。サンプルコードでのコンパイル・実行に影響のある変更 (ページ単位) |
| cpprefjp/fixl | 10 | 既存ページへの修正 : large 仕様変更への対応。仕様記述のバグ修正。関連項目ではない関数一覧の表に関数を足すことも対象。実装例の追加 (ページ単位) |
| cpprefjp/compiler | 2 | 動作確認できたコンパイラバージョンの記載、および処理系のバージョン情報。ライブラリ機能はページ単位、言語機能は件数単位、処理系のバージョン情報は件数単位 |
| cpprefjp/fixs | 2 | 既存ページへの修正 : small 直しても直さなくてもサイトの価値が変わらない程度の軽微な修正 (ページ単位)。空白・記法の調整、表記ゆれの統一、文体・言い回しの統一、見出しのレベルの変更、空の見出しの削除、不要なインクルードの削除、未確認の処理系欄の削除など。スクリプトによる一括修正 (スクリプト自体はtool系で別途評価。コミットメッセージにその旨の記載があるか、スクリプトがコミットに含まれている場合に限る) |
| cpprefjp/fixm | 5 | 既存ページへの修正 : medium 読者のユーザビリティに影響を与える修正 (ページ単位)。追加説明、サンプルコード追加、訳語追加 (訳語単位)、用語追加 (用語単位)。誤字・説明の言い換えの範囲を超える間違い修正。サンプルコードや仕様での変数名の間違い修正。サンプルコードでのコンパイル・実行に影響のある変更、不足していたインクルードの追加。本サイト側の書き間違い (誤記・書き漏れ・コピーしたままの記述) の修正。メタ情報の付与 (`meta alias`は検索キーワードの追加にあたる) |
| cpprefjp/fixl | 10 | 既存ページへの修正 : large 以下のいずれかに該当するもの (ページ単位)。(1) 規格の仕様変更への対応。提案文書の適用、LWG IssueやCWG Issueにもとづく仕様記述の変更、規格の欠陥報告 (DR) による規定・明確化・訂正への追従、規格側で機能が取り消されたことへの追従が該当する。(2) 関連項目ではない関数一覧の表に関数を足すこと。(3) 実装例の追加。(4) 1ページあたり40行を超える説明の大幅な書き直し。ただし本サイト側の書き間違いの修正は、規模にかかわらずfixmとする |
| cpprefjp/compiler | 2 | 動作確認できたコンパイラバージョンの記載、および処理系のバージョン情報。ライブラリ機能・言語機能ともページ単位、`implementation-status.md`は更新した表の行数を件数とする。未確認の処理系欄を削除するだけの場合は、動作確認をしていないのでfixsとする |

機能追加での機能表への列の追加は、linkではなくfixlにあたる。

仕様変更への対応としてfixlを付けるには、変わった規格を指す根拠 (提案文書の番号、LWG / CWG Issueの番号、C++のバージョン) が、コミットメッセージに現れている必要がある。根拠が書かれていない場合はfixmとして扱うので、仕様変更への対応はコミットメッセージに提案文書の番号またはIssueの番号を書くこと。

tool系のsmall / medium / largeは、以下のように分ける。

- small : 既存の仕組みの範囲内で、1箇所を直す程度のもの
- medium : 複数箇所にわたる変更、または仕組みの振る舞いが変わるもの
- large : 仕組みそのものを置き換えるもの、または新しい仕組みを導入するもの

Markdown以外のファイルは、以下のように数える。

| ファイル | タグ |
|---------|------|
| `GLOBAL_QUALIFY_LIST.txt` / `PRIMARY_OVERLOAD_SPECIALIZATION.txt` | cpprefjp/link (ページ単位ではなく1コミット1件) |
| `GLOBAL_DEFINED_WORDS.json` | cpprefjp/fixm (追加・変更した用語を件数とする) |
| `image/`配下の画像 | 対象外 |
| `.gitignore`、`CODEOWNERS`、エディタ設定などの開発環境・運用設定ファイル | 対象外 |
| CIスクリプト、`site_generator`や`kunai`などのコード | tool系で評価する |


### boostjp

| タグ | ポイント | 説明 |
|-----|---------|------|
| boostjp/typo | 1 | 誤字・脱字の修正 (ページ単位) |
| boostjp/link | 2 | 関連項目・参照リンクなどの追加・修正、nolinkの解除 (ページ単位) |
| boostjp/releases | 5 | Boostリリースノート1件追加 small : maintenance workなどの軽微で小さなリリースノート。一件ごとのテスト済みコンパイラ |
| boostjp/releasem | 10 | Boostリリースノート 1件追加 medium : タイトル含めず10行以下の中程度の大きさ。新ライブラリ。既知の問題 (ライブラリ単位) |
| boostjp/releasel | 20 | Boostリリースノート 1件追加 large : mediumを超える大きさ。テスト済みコンパイラの全記載 |
| boostjp/releases | 5 | Boostリリースノート1件追加 small : maintenance workなどの軽微で小さなリリースノート (タイトル含めず2行以下) |
| boostjp/releasem | 10 | Boostリリースノート 1件追加 medium : タイトル含めず10行以下の中程度の大きさ。新ライブラリ。既知の問題 (1リリースのライブラリ単位で1件とする) |
| boostjp/releasel | 20 | Boostリリースノート 1件追加 large : mediumを超える大きさ。1リリース分のテスト済みコンパイラの全記載 |
| boostjp/fixs | 2 | 既存ページへの修正 : small 軽微な修正、コード修飾追加 (ページ単位) |
| boostjp/fixm | 5 | 既存ページへの修正 : medium 追加説明、訳語追加 (ページ単位) |
| boostjp/addrefs | 10 | Boost逆引きリファレンス : small (1例追加) |
| boostjp/addrefm | 20 | Boost逆引きリファレンス : medium (標準C++のバージョンアップ対応1例単位、Boostのバージョンアップ対応1例単位) |

リリースノートのページを新規に追加した場合、ページ追加自体には貢献ポイントをつけず、記載したリリースノートの件数で数える。

### ツール類

CIスクリプト、site_generator、kunaiなど。
Expand All @@ -375,12 +430,12 @@ CIスクリプト、site_generator、kunaiなど。
| tool/improvel | 50 | コード改善 : large |
| tool/updatelib | 20 | 外部依存ライブラリのアップデート (直接使用のライブラリ単位) |
| tool/security | 50 | セキュリティアップデート (npm audit) |
| tool/updatelang | 10 | 使用言語のアップデート : small (とくにコード変更なく更新できた) |
| tool/updatelang | 30 | 使用言語のアップデート : medium (多少のコード修正で更新できた) |
| tool/updatelang | 50 | 使用言語のアップデート : large (大きいまたはむずかしいコード修正をして更新できた) |
| tool/updatelangs | 10 | 使用言語のアップデート : small (とくにコード変更なく更新できた) |
| tool/updatelangm | 30 | 使用言語のアップデート : medium (多少のコード修正で更新できた) |
| tool/updatelangl | 50 | 使用言語のアップデート : large (大きいまたはむずかしいコード修正をして更新できた) |
| tool/adds | 30 | 新たな仕組みの導入 small : (C++バージョン追加、カテゴリ追加など) |
| tool/addm | 50 | 新たな仕組みの導入 medium |
| tool/addl | 100 | 新たな仕組みの導入 large : キーワード自動リンク、相対リンク対応など |
| tool/addl | 100 | 新たな仕組みの導入 large : キーワード自動リンク、相対リンク対応、CIによる検証の追加、依存ライブラリ更新の自動化など、長期的に価値が続くもの。継続的に回る仕組みが増えたかで判断し、新しいファイルを作ったか既存のファイルに追加したかは問わない |

### その他

Expand All @@ -394,3 +449,4 @@ CIスクリプト、site_generator、kunaiなど。
- [2023年](start_editing/contribution_stats_2023.md)
- [2024年](start_editing/contribution_stats_2024.md)
- [2025年](start_editing/contribution_stats_2025.md)
- [2026年](start_editing/contribution_stats_2026.md)
Loading
Loading