@@ -12,6 +12,11 @@ We welcome contributions to StatsPAI! This document provides guidelines for cont
12124 . ** Documentation** : Improve docs, examples, or tutorials
13135 . ** Testing** : Add test cases or improve test coverage
1414
15+ > ** On credit** : every merged PR is credited in ` CONTRIBUTORS.md ` and
16+ > the paper's Acknowledgments. Paper ** authorship** is separate and
17+ > extended by invitation against objective criteria — see
18+ > [ Authorship & Acknowledgments] ( #-authorship--acknowledgments ) below.
19+
1520### Getting Started
1621
17221 . ** Fork the Repository**
@@ -190,6 +195,76 @@ src/statspai/
190195 })
191196 ```
192197
198+ ## 🧾 Authorship & Acknowledgments
199+
200+ StatsPAI is an academic project that publishes a JOSS paper and
201+ follow-on methodological work. To keep expectations transparent, we
202+ separate ** acknowledgment** from ** paper authorship** .
203+
204+ ### Acknowledgments (automatic)
205+
206+ Everyone whose pull request is merged into ` main ` is automatically
207+ credited. Specifically:
208+
209+ - Added to ` CONTRIBUTORS.md ` (name + GitHub handle + area of contribution).
210+ - Listed in the ** Acknowledgments** section of the JOSS paper and any
211+ subsequent methodological papers that build on the codebase they
212+ touched.
213+ - Credited in release notes (` CHANGELOG.md ` ) for the version that
214+ ships their change.
215+
216+ No invitation is needed. This is the default and applies to all merged
217+ contributions — bug fixes, docs, tests, refactors, new estimators.
218+
219+ ### Paper Authorship (by invitation, criteria-based)
220+
221+ ** By default, code contributors are not co-authors of StatsPAI
222+ papers.** The core development team extends authorship invitations to
223+ contributors who meet ** at least one** of the following objective
224+ criteria, consistent with
225+ [ ICMJE] ( https://www.icmje.org/recommendations/browse/roles-and-responsibilities/defining-the-role-of-authors-and-contributors.html )
226+ and [ JOSS] ( https://joss.readthedocs.io/en/latest/submitting.html#authorship )
227+ authorship norms:
228+
229+ 1 . ** New estimator family** — independently designed and implemented a
230+ first-class public function family exposed through ` sp.* `
231+ (e.g., a new ` sp.xxx ` or a new branch of an existing dispatcher
232+ such as ` sp.synth(method=...) ` / ` sp.decompose(method=...) ` /
233+ ` sp.dml(model=...) ` ), including reference-parity tests.
234+ 2 . ** Reference alignment ownership** — led the numerical alignment of
235+ a non-trivial module against Stata / R / published paper numbers
236+ (added tests under ` tests/reference_parity/ ` or
237+ ` tests/external_parity/ ` that exercise real external output).
238+ 3 . ** Sustained core contribution** — ≥ 10 merged PRs ** and** ≥ 2,000
239+ net lines of production code (excluding generated files, vendored
240+ assets, and pure formatting) in core estimator modules (any module
241+ listed under "因果 / 处理效应", "面板 / 结构", or "因果发现 / ML" in
242+ ` CLAUDE.md ` ).
243+ 4 . ** Paper writing** — drafted or substantially revised sections of
244+ the manuscript, participated in response-to-reviewers, and approved
245+ the final submitted version.
246+
247+ Meeting a criterion makes a contributor ** eligible** for an
248+ invitation; the core team issues the invitation in writing and the
249+ contributor must accept explicitly. Invited authors are expected to
250+ also satisfy standard ICMJE responsibilities: review and approve the
251+ final manuscript, and be accountable for the accuracy of the portions
252+ they contributed.
253+
254+ ### What this means in practice
255+
256+ - A one-off bug fix or docs PR → Acknowledgments + ` CONTRIBUTORS.md ` .
257+ - Implementing a new estimator with parity tests → eligible for
258+ authorship invitation under criterion (1) or (2).
259+ - Large-scale code contribution across many PRs → eligible under
260+ criterion (3).
261+ - Contributions to paper text or reviewer response → eligible under
262+ criterion (4).
263+
264+ If you are actively working toward authorship eligibility, feel free
265+ to open a discussion or email < brycew6m@stanford.edu > ahead of time so
266+ scope and criteria can be agreed upon before the work is done.
267+
193268## 📞 Getting Help
194269
195270- ** GitHub Issues** : For bugs and feature requests
0 commit comments