Contributing

From Sirikata Wiki
Jump to: navigation, search

We are very actively looking for people to help out with Sirikata so thank you for making it this far.

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.
  • 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.

Things to keep in mind

  • 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.

A list of subsystems

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.

  • We have just concluded a discussion on the type system used in messages and network wire formats.
  • The proposed protocol Sirikata will use. We encourage discussion about these built-in commands.
  • We are starting a discussion on how to implement distributed physics on our space servers.