Development
This page contain detailed information about the development model,
how to get the source code, how to contribute and other stuff that's
nice to know as a developer.
Subversion repository
OpenInput uses Subversion
(or svn for short) as source code version control system.
You can download svn for almost any operating system -- just follow
the above link for a list of graphical and text based clients.
This page assumes that you're using the command line client.
To download the latest version of OpenInput using svn, issue
the command
svn co svn://svn.gna.org/svn/openinput/trunk openinput
which uses the specialised SVN protocol, or
svn co http://svn.gna.org/svn/openinput/trunk openinput
to use HTTP instead. If you have a login to the gna.org server you should be able to use
SSH aswell. Simply replace svn:// with
ssh:// in the above command. Team members must use SSH as
write access is only allowed on this protocol.
You can also
browse the code online or download the daily
snapshot of the trunk branch (the main development branch).
The development model
We try to follow the traditional Free/Open Source development model
with all it's up and downsides. If you want a particular feature or
support for a special device/system either implement it yourself and
mail is the patch or ask (kindly) on the mailinglists for the
particular feature. If the development team does not receive requests,
patches or bugreports, we'll quietly just go about our buisness and
implement features, fix bugs etc. as we see fit.
If you have trouble using OpenInput or have suggestions, requests,
found a bug or otherwise, please use the
appropiate mailing list.
Until the first stable OpenInput version (1.0.0) is
released, we reserve the right to break the API/ABI at any time. Once
we hit version 1.0.0, we will most likely begin using the traditional
UNIX versioning number scheme.
Roadmap
We have several ideas of what to implement for OpenInput both with
regards to support for more devices/systems and with regards to
better, cleaner design. As OpenInput is primarily developed by hackers
in their spare time, we will refrain from using using dates or
deadlines. The roadmap looks like this:
| Version |
Feature |
| 0.2.4 |
Full Win32, X11 and Linux /dev/js joystick support (we are here
today) |
| 0.2.5 |
Full DirectInput driver support |
| 0.3.0 |
Native Linux /dev/input driver support |
| 0.4.0 |
New instance data system and exclusive drivers |
| 0.5.0 |
Native Mac OS X driver support |
| 1.0.0 |
First production quality stable release |
| 1.1.0 |
Force feedback support |
| 1.2.0 |
Dynamically pluggable driver architecture |
Reporting bugs and submitting patches
If you think you've found a bug but don't want to (or don't know
how to) fix it, send an email describing the problem to the user
(and/or devel) mailinglist, and we'll take it from there.
If you know how to code i C, it's very easy to generate a patch
using SVN. Simply type
svn diff > oi.patch
in the shell, and the oi.patch file will contain the
diff, which describes your changes to the code. Mail this file to the
devel mailinglist, and we'll take a look at it.
Joining the development team
Before you even consider joining, you will have to have proven that
you know what you're doing (programming) and that you can be
trusted. One way to do this is to send high-quality patches to the
devel mailinglist. If and when you think you deserve
commit-priviledges to the SVN repository, send an email to Jakob.
Links
Here's a small collection if links that point to other OpenInput
resources on the net.
This document was last modified
Sunday November 29, 2009.
|