Skip to content

Latest commit

 

History

History
49 lines (32 loc) · 3.17 KB

CONTRIBUTING.md

File metadata and controls

49 lines (32 loc) · 3.17 KB

SciRuby is a collaborative effort to bring scientific computation to Ruby. If you want to help, please do so!

This guide covers way in which you can contribute.

How to help

There are various ways in which you can improve SciRuby. Coding and documentation are the two primary possibilities and participate in the mailing list -- suggesting ideas and changes is very important!

Apart from adding features and functionality, you can also create tests, guides on how to do something using SciRuby, document the libraries and help find and fix bugs.

Start by visiting our issue tracker and the status list of the various gems. If you want to start contributing, there's probably something with which you can help.

Projects

SciRuby is an umbrella for many other projects in Ruby. The most important one at the time is NMatrix, as it's very hard to create some scientific library that doesn't need a good numerical linear algebra library to deal with vectors and matrices.

So, the SciRuby subprojects are, in no particular order:

  • NMatrix: A fast numerical linear algebra library
  • Statsample: A suite for basic and advanced statistics
  • Distribution: Diverse statistical distributions. Uses C (statistics2/GSL) or Java extensions when available.
  • Integration: Integration methods.
  • Minimization: Various minimization algorithms in pure Ruby.
  • IRuby: Ruby kernel for the IPython/Jupyter notebook

Documentation

Documentation is something most developers don't want to create, but everyone likes to use (well, most of the time). We can't possibly have a big community without proper guides and API docs.

Our current idea is to write guides (that can be initially created as blog posts, for example) and put them into a single place -- the sciruby.com website. This enables people to start using the library without much friction.

For API documentation, we're using the RDoc format in the source code. It works with both Ruby and C, so we should be able to have a very good coverage. We want to put the whole API documentation in one single place; again, the sciruby.com website.

If you solved a problem or created an application that uses SciRuby or its subprojects, please say so in our mailing list and send us a pull request!

Conclusion

Before commiting any code, you MUST read our Contributor Agreement. This is meant to protect both us and the users of SciRuby, as there are lots of scientific packages (or code found in books) that aren't so "open" as we would like them to be.