java-gnome 4.1.3, released 4 May 2013
Overview, News
Tutorials, API, and Hacking
Binaries and Source
Mailing Lists, IRC, and Reporting Bugs



Out of date

These documents were mostly written in 2006, before java-gnome 4.0 became a reality. Two years on most of these decisions have been implemented. This tree will therefore soon be replaced by documents defining the current design and architecture.

This directory documents the evolution and design of the re-engineered (4.0) java-gnome bindings.

Organization of this directory

The design documents are loosely organized according to the following scheme:

  1. Background material:

  2. Governing assumptions (our objective as a project, who our audience is, and what constraints we impose on ourselves as we go about our business):

  3. Miscellaneous organizational decisions:

  4. Discussion of public APIs:

  5. Architecture:

These numbers correspond to those used to organize the original threads on the java-gnome-hackers mailing list. All of these documents started life as emails written by Andrew Cowie, so they tend to be written in the first person. That will no doubt fade over time as these documents evolve into canonical references.

About the format of our documentation

These documents are all text files! They are, however, lightly marked up with the syntax of John Gruber’s “Markdown” so that they also present nicely as web pages. See doc/style/MARKUP for details.

As conventions, we:


This documentation are distributed with java-gnome and are maintained alongside (in!) the source code. As such they are living documents and will likely evolve over time as new design decisions are taken. If you care to see the history behind certain decisions, check the mailing list archives and the version history of the files in this directory.

If there is a change you would like to make, check out a copy of the source code and send a patch using bzr bundle.

Remember, if you want to hack on java-gnome itself, extend it or use it for new and miraculous things, you’re best off doing so alongside the community. Certainly join our mailing lists, but most of all hang with us online, at #java-gnome on

About this directory’s name

Incidentally, this directory was named at 2006 by several students gathered around after Andrew Cowie gave a talk about the java-gnome 4.0 prototype. When asked what they thought a directory containing all the background, instructions, architecture, and other answers to anything you’d want to know should be called, Srichand Pendyala replied:

“Why don’t you call it 42?”

Awesome! Alas, “42” is a bit of an inside joke, and given our goal of approachability for newcomers, doc/42/ wouldn’t really be obvious as the location of the design documentation.

So doc/design/ it is, but such enthusiasm is to be rewarded: I promised him that his idea would live on in our documentation. Cheers Srichand!


Last modified 7 Dec 06

Contents copyright © 2006-2011 Operational Dynamics Consulting Pty Ltd, and Others. See AUTHORS file and source code history for the various files comprising this site for full details. This page was generated from a text document! We use John Gruber's Markdown syntax as ported to PHP by Michel Fortin. See MARKUP for details