asciidwango / js-primer

:book: JavaScript Primer - 迷わないための入門書
https://jsprimer.net
Creative Commons Attribution 4.0 International
2.34k stars 224 forks source link

Open Collectiveの経費精算のルールを決める #1736

Closed azu closed 2 months ago

azu commented 7 months ago

JavaScript Primer - Open Collectiveの予算はおそらくありそう。 実際にContributorが経費精算(お金を受け取る)時のルールを決める必要がある。

目的

決めること

できるだけシンプルでわかりやすいルールにしないと管理が難しそう。 他のオープンソースなどがどうやっているのかを調べる必要がある。

cc @lacolaco

azu commented 2 months ago

計算方法はこんな感じでどうだろう? Open Collectiveへの申請にも根拠がいるので、計算しやすいものを書いてみた

タスクに対するPoint

作業量に対する基準としてフィボナッチ数列のPointsを設定する

Points Description
1 2 よりは簡単
2 大体1日分やると終わる想定
3 2 よりは難しい
5 かなり難しい
8 難易度がとても高いので、できる人は限られる

Issueが適切に分割されていれば、5や8はほとんど出てこないはず。 5以降はブレが大きいので、個別でコストを判断するぐらいのイメージ。

📝 元ネタはLinearのEstimates – Linear Docs

Pointsの例

Pointはやや主観的になってしまうが、基準となるような例を元に判断する。

金額の計算方法

jsprimerの年間更新コストは、だいたい30日分の作業量になるように設定。

Pointに直すと、年間の作業量のPointは60 Points程度になる。

年間の予算はOpen Collectiveの推定年間予算を参照する

[!NOTE] 2024-08-25だと $2,367 が年間の予算

image

1 Pointあたりの金額は以下のように計算する。

const yearlyEstimatedBudget = 2_367; // Open Collectiveの推定年間予算($ドル)
const yearlyWorkloadPoints = 60; // 1年間のPoints
const onePointCost = yearlyEstimatedBudget / yearlyWorkloadPoints;
console.log({onePointCost}); // => $39.45

const costOfPoint = 2; /// 2 Points
const cost = onePointCost * costOfPoint;
console.log({cost}); // => $78.9

金額を申請するタイミング

作業が終わったタイミングで計算して、そのコストを申請する。