Skip to main content

Welcome to the Lab

Posted by peterkessler on February 18, 2005 at 11:42 AM PST

Welcome to the Lab

Welcome to the Lab

Walk this way. Welcome to the JDK lab. Here we've set
up an environment in which people can safely do research
under the
Java Research License.

There's a light (over at the Frankenstein place)
by Richard O'Brien

Riff Raff:

Let the sun and light come streaming

Into my life.

Into my life.

Brad & Janet:

There's a light.


Over at the Frankenstein place.

If you want to experiment on the sources for the JDK,
it's as easy as 1-2-3:

  1. Request the "Researcher" role
    in the

    JDK project
    , confirming that you accept the
    terms of JRL. That will give you access to the
    jdk-research project. (We wouldn't want randoms to wander
    through the lab, sticking their fingers in the sockets,
    jiggling the more delicate experiments, etc.)

  2. Request a project
    . That gets you a clean lab
    bench at which to work and lets you advertise your
    project to potential collaborators. (Leave the
    "Choose a community you'd like to join" field blank,
    and then in the "Other Notes and Comments" section
    request that this project be added to the JDK
    collection of projects.)

  3. Have at it. You can set up forums for discussions about
    your project, mailing lists for your colleagues, CVS
    repositories, issue tracking for that last lingering bug,

(If you aren't quite sure which end of the JDK to grab
to start a new project, you might want to just do step
1, look around at some of the existing projects (when
there are some), and help out on one of those until you
get your bearings in this wonderful new world.)

Putting your project under the jdk-research project
assures you that the only people who can see your project
are those who have signed the JRL. Once in the lab you
can talk freely about the JDK sources, trade snippets of
code, discuss bug fixes, and share other ideas about the

When you have something really cool, please let us know!
If you come up with a

flying car
, I definitely want to hear about it. If
you have a bug fix or performance improvement that you
think should be included in our next release, we
encourage you to

contribute it
. We'll make sure your fix works on all of
our supported platforms (40 of them for JDK 5.0!), in all
our supported locales, passes the JCK tests, doesn't break
backward compatibility, and all those other things about which
we care deeply. If your contribution proposes API changes,
we'll run those by our usual experts. (Of course, if you
want to propose major new API's you should do that through the

Java Community Process
.) If your contribution is
accepted for the next release of the platform, we'll
also make sure the change gets documented in the release
notes as needed, at least to acknowledge you as a

If you want ideas of things to work on, look at the
bug database,
or look at some of the suggestions on the the
Mustang forum.
Or maybe you already know your favorite, most annoying bug that
for some reason Sun doesn't have the resources to fix, but on
which the future of your startup company depends: get to work.

Maybe you want to try something a little less technical?
Translate the manual pages or javadocs and be a local hero.
We're working on a pluggable locale framework for the JRE, so
you could be ready with a your favorite locale.

You could set up a class at your university on the internals
of the JVM. Have a bake-off for alternate synchronization
primitives. Or write a new garbage collector (there are
already three of them in there, so some framework is all set
up). Teach a class on software engineering practices, using
the JDK as a case in point. We might even send out guest
lecturers to get you started.

Or think of something I haven't. In fact, I hope you do.
That's the whole point of making the JDK sources available: so
that people can try whatever they want and contribute the good
bits back to the community.

Related Topics >>