- Written by Benoit Daloze in 2025: Maintains ruby/spec and wonders about Ruby implementation contributions.
Contribution Overview:
- Rubinius started ruby/spec in 2006 and was the main contributor until 2014. Then development slowed and spec contributions decreased.
- TruffleRuby started in 2014 and became the main contributor since, contributing more than half of commits.
- CRuby has consistently contributed around 20% each year, implementing new methods first.
- JRuby contributed significantly until 2012 but has made few since.
- Natalie started in 2019 and made significant contributions since 2022, thanks to @herwinw.
- External contributors have always been important, with a huge spike in 2009 due to @runpaint.
- Before 2008: First specs added directly in Rubinius repo in 2006. Commits from 2006 to 2008 are in a changelog but not in the repo history. Chart data is incomplete for first and last years.
Methodology:
- Individual author contributions available on GitHub.
- Data computed by a script and chart generated by another script.
- GitHub API only provides stats for top 100 contributors.
- Authors classified by Ruby implementation based on top 100 contributors.
- Commits are not a perfect measure but the best available.
More Charts:
- Redid chart with 100 commits minimum to classify authors. Result similar with more external contributors.
- Chart with absolute commit numbers instead of relative to per year. 2025 commits are fewer as it's only May.
Conclusion:
- ruby/spec is key for correct and efficient Ruby implementation.
- It provides more precise coverage than documentation and relies on external contributions.
- CRuby test suite alone is not enough to implement Ruby correctly.
- ruby/spec's spec structure encourages more comprehensive testing compared to CRuby's unit tests.
- Intends to pick 10 random methods to compare specs and tests in a future blog post.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。