How to Get Involved with SciRuby or Contact Its Community

Updated

You can get involved with SciRuby in two main ways: contribute code through the project's GitHub issue trackers, or reach the community through its Google Group and IRC channel. The most direct starting point for new contributors is the NMatrix issue tracker on GitHub — pick an issue that interests you and fork the repository. If matrix work isn't your focus, the broader SciRuby issue tracker is the alternative. For questions and discussion, subscribe to the SciRuby Google Group or join the #sciruby channel on Freenode.

Contributing Code

SciRuby's own guidance for newcomers is to "pick something that interests you and fork us." The project points to two issue trackers depending on your interest:

If you want to work on... Start here
Linear algebra / matrices NMatrix issue tracker on GitHub
Anything else in the ecosystem SciRuby issue tracker

NMatrix is the project's released linear algebra library, supporting both dense and sparse matrix storage, with tensor support added more recently. That makes it the most active and best-documented place to make a first contribution.

Before you start, note the project's own warning about its gems: they "have been tested, but are not battle-hardened." The SciRuby team explicitly says that anyone using NMatrix or other components for mission-critical code — their examples are a self-driving car or controlling an ARKYD 100 satellite — "should expect to encounter a few bugs — and be prepared for them." For a contributor, this is useful context: bug reports and fixes are genuinely welcome, not just feature work.

Contacting the Community

Google Group. The site offers a subscription form: enter your email to subscribe to the SciRuby Google Group. This is the asynchronous option for questions and announcements.

IRC. The project's IRC channel is #sciruby on Freenode.net. Be aware of the activity pattern the site describes: the channel "is most active during the months of Google Summer of Code, but generally there are always a few people around." If you need a fast answer outside GSoC season, expect a slower response.

Finding the Full Developer Roster

The complete list of SciRuby developers is on the project wiki, not on the main site. If you want to know who maintains a specific component before opening an issue or pull request, check the wiki first.

Licensing and Background

SciRuby and NMatrix are released under the BSD three-clause license, so contributions and reuse are governed by a permissive license. The project has participated in Google Summer of Code in 2013, 2014, 2015, and 2016–2019, which is why IRC activity spikes during those periods — and why GSoC season is a reasonable time to introduce yourself if you're considering a larger contribution.

Practical Order of Operations

  1. Check the developer roster on the project wiki to see who works on what.
  2. Browse the NMatrix issue tracker (or the SciRuby tracker) and pick an issue.
  3. Fork the repository and work on your chosen issue.
  4. Subscribe to the Google Group for announcements and longer-form questions.
  5. Join #sciruby on Freenode for real-time discussion, keeping in mind the GSoC-season activity pattern.

Installation instructions for the various SciRuby components live in the project docs, with NMatrix documentation available separately — worth reading before you file an issue about setup problems.