Difference between revisions of "Contributing to Eigen"

From Eigen
Jump to: navigation, search
(start page (work in progress))
 
(Contributing code: Ask before duplicating major efforts.)
Line 30: Line 30:
  
 
Patches via bugzilla or merge requests. New features need tests and documentation.
 
Patches via bugzilla or merge requests. New features need tests and documentation.
 +
 +
If you plan to make bigger contributions, first ask if anyone else is working on that or something related in order to reduce duplicated efforts.
 +
Also if your contribution involves major API decisions, it is generally advantageous to discuss them first.

Revision as of 12:28, 11 June 2014

Eigen is written and maintained by volunteers. If you are willing to help, great! Here are some pointers to get you started.

Support

Perhaps the easiest way to help is to be willing to support new (and not so new) users of Eigen and answer their questions. People ask questions on the forum, on IRC (#eigen on irc.freenode.net), on the mailing list. There may also be questions on websites not connected to the project such as StackOverflow.

Users arrive with different levels of C++ and mathematics knowledge, so whatever your level of experience, you can help out with this. Do not be too worried about given wrong advice; if you are not sure that your answer is correct, just say you are not sure and others will jump in if necessary.

Documentation

In common with almost all software projects, we are struggling with writing good documentation, so we are especially keen to get help in this area. It might actually help here if you do not have years of experience with Eigen, as that makes you more in tune with the people that are reading the documentation. After answering users' questions, as explained above, think about whether the current documentation could be improved so that the question would not have arisen. This is not always possible, but questions often point to shortcomings in our documentation.

Most of the documentation resides at http://eigen.tuxfamily.org/dox (or http://eigen.tuxfamily.org/dox-devel for the branch currently in development) and is generated by doxygen from comments in the source code (see Developer's Corner#Documentation tips). You can submit patches as described below. If your change is not too massive, an alternative is to use the web interface at bitbucket: fork the Eigen code at https://bitbucket.org/eigen/eigen, find the correct source file, edit it, and submit a merge request to have your changes included.

There is also some documentation on this wiki and you are welcome to add to this. You can also use the wiki as a staging ground for documentation to be included in doxygen. If you do not have an account to the wiki, ask one of the administrators (currently, Jitse Niesen, Gaël Guennebaud, Thomas Capricelli, and Benoît Jacob).

Bugs: triage, discussion, fixing

See bugzilla

Testing

incl submissions to dash board

Discussing API and overall design

Input from people actually using Eigen is useful.

Contributing code

Patches via bugzilla or merge requests. New features need tests and documentation.

If you plan to make bigger contributions, first ask if anyone else is working on that or something related in order to reduce duplicated efforts. Also if your contribution involves major API decisions, it is generally advantageous to discuss them first.