JMRI: Getting the Code
You can download the most recent source code from Subversion using:
svn checkout svn://svn.code.sf.net/p/jmri/code/trunk/jmri
Our source code is distributed using Subversion. (We also keep the web site in Subversion, if you'd like to work with it directly.) If you want to work with the code, a few minutes installing Subversion is well worth it. We're sorry, but we just can't support other methods (sending .zip files, etc), as they're just too error prone.
A few computers will come with Subversion installed, mostly various Linux systems. If your computer does not have it installed, you will need to locate and install the needed client software. See the Subversion binary downloads page for packages for many operating systems (including Mac OS X, Windows and different Linux flavors).
Many development environments (e.g., Netbeans or Eclipse) will have support for Subversion, either directly or as an add-on. Check the documentation for your favorite IDE to check on SVN support.
The Subversion server at SourceForge does not require any user information when you check out a copy of the code.
If you have an existing copy of the code and want to update it to the most recent contents of the Subversion repository, the command is:
See also the Subversion FAQ page.
After the checkout is complete, you'll find a top level directory called java, with subdirectories xml, resources, jython, help, lib, java and others.
Change to the java directory. There, you will find a src directory that contains the source code for JMRI itself, and a tests directory that contains various test routines.
You can look at the code with your favorite text editor. To compile and run it, you need one of the compilation tools described on the bar at the left: Ant, Eclipse, NetBeans, JBuilder, etc. (Ant may be the easiest to install and use, and is the primary example in the documentation)
Once you're working with the code, you'll probably create some improvements you'd like to contribute back to the project. This is where Subversion has tremendous advantages; with the appropriate permissions and commands, you can merge your changes back into the common source automagically. Contact us when you're ready to do that or see the info on contributing.
Access to Old Releases
The best way to retrieve the source for releases 2.12 and earlier is from the CVS Repository. Please see those instructions for details.