Friday, March 27, 2009

A Bit More Open Source

Thanks to Janos ("sothis" on the .org) we now have a GIT repository of the scenery tools, with public browsing of the scenery tools code. 

(Non-programmers - this basically means that source code updates for the scenery tools will now be available every hour, rather than every now and then when I get around to it.  The rest of this post is for programmers.)

The X-Plane tools code have always been open source, in that the LR-created code is distributed under the MIT/X11 license (which basically says "do whatever you want, don't sue us").  The public repository makes the process of getting the code a lot simpler:
  • The master code is actually in CVS, but this public GIT repository is updated from CVS once an hour, so this code is very close to the latest we have.
  • The full version history, tags, and other information that might be useful to a programmer are all present.
  • The web interface supports online browsing of the code, as well as downloading a "snapshot" of the entire tree (as a zip, gz, or bz2 file).
Git is, to put it mildly, a confusing tool if you don't already use it.  However, the web interface allows you to simply fetch the code from a given date.  If you are a git user, git cloning is supported via http, and we are working on getting the git daemon running too.  The repo is read-only; if you want to send us a patch, contact me.

(Git users will note that most of my checkin comments are really lame.  This is a bad habit that comes from using CVS too much.  CVS's checkin comments are per-file, not per-group, which makes them somewhat useless to search on.  Typically CVS users rely heavily on tags.  The bridge from CVS to git tries to group them into a single commit, which helps reveal the actions taken on the source code.)

2 comments:

Anonymous said...

:o, i got mentioned in ben's blog \o/
but seriously, for all the git users out there, i will prepare a wiki article on wiki.x-plane.com about the current development process very soon, since it differs quite a bit from the usual git workflow. the fact that the main repository remains managed by CVS restricts us to a specific subset what we can do with git and what not. details on the wiki then... :-)

Benjamin Supnik said...

sothis -- not so hard, you could have just paid me $15 and I would have posted your name. ;-)

For the non-git users, yes, git is designed to make you feel stupid! :-)

Seriously though, non-GIT users can still use GIT's snapshot features to get the raw tree, and simply use Linux-style patching tools to send us updates.