We are very actively looking for people to help out with Sirikata so thank you for making it this far. There are a number of ways to get involved:
- The best way to contribute is to figure out what you need that doesn't exist or isn't working in our current implementation and tackle that.
- If you're not sure what to work on, check out the list of actively developed systems below or our coding projects page for ideas. The coding projects page contains a list of subsystems/plugins/implementations that we know we want to have eventually but nobody has committed to producing.
- Fix bugs. It's a thankless job, but somebody has to do it. We don't have a bug database yet, so check the developer list for bug reports for the time being.
- Documentation. Another thankless job. Developers are likely to let documentation fall out of date or may not even write it up in the first place. Currently we're using documentation inline in the code (doxygen style) and the wiki. Updating and improving either one would be valuable. Additional documentation would also be incredibly valuable; for instance, documents describing to non-developers how to get setup and running, features of the system, and maybe even how to start writing scripts, would be a great addition.
Regardless of the particular item you choose, we suggest doing the following:
- Clearly define the problem you're trying to solve.
- Start out with a small project or a subset of features that you can complete in a reasonable amount of time.
- Seriously, make sure you know exactly what you're trying to provide and that its "nugget"-sized.
- If you plan to modify or touch an existing subsystem in any non-trivial way, get in touch with one of the maintainers of that code before .
- Send an email to the developer list with an outline of your project: goals, what subsystems need to be modified/touched/added, and an outline or plan of the code changes to be made. Getting some feedback before you start will make your life a lot easier.
The following is a list of subsystems which are currently being developed or for which designs are being discussed. Much work is just getting started and unfortunately this list is incomplete, but this should give a starting point for those who want to get involved in development that is being actively pursued.