processes, goals, infra
Dalibor Topic
dalibor.topic at googlemail.com
Sat Dec 1 08:08:57 PST 2007
We've got the group instantiated now, so, as Emmanuel asked how this
should work,
I thought I should start a separate thread on all that, so that we can
bundle our
discussion and ideas.
First of all, goals.
I think there are two main areas where this group should be active in,
from our discussions on the discuss at openjdk mailing lists over the
past weeks:
1) bringing in existing and new (Open)JDK ports into the OpenJDK community
2) providing a forum for porters to exchange experiences, code & information
The forum part would be this mailing list, and anything else people want to
contribute in terms of porting documentation, etc.
For the other part, most developers who have expressed interest in the
porters group, afaict, have the implicit goal to have their port merged into
the OpenJDK upstream properly, so that Java 7 can support it out of the box.
That means that their own ports need to have a place to develop & seed
their contributions, fixes etc. into OpenJDK. I think the best way to do that is
to have porting projects being sponsored by this group, per discussion we had
on the discuss mailing list.
So, an existing porting project would send in a proposal for their
port to become
part of the OpenJDK community, and the members of this group would then vote
on sponsoring it within two weeks of the proposal. A porting project
would than,
provided the majority of the members vote for the proposal, be
instituted, and get
its own piece of common infrastructure on OpenJDK (list, mercurial,
etc.) and could
start to populate their project's repository with their code, apply
for an OpenJDK TCK
license, etc.
The typical proposal could look something like
http://mail.openjdk.java.net/pipermail/announce/2007-October/000016.html
, adapted
for a port, rather than a hotspot extension, i.e. please tell us who
you are, what platform
you are porting OpenJDK to, if the code exists, where to find it, and
what your plans
& goals are. If you are unsure about something, you can ask about it
here, or on the
#openjdk IRC channel on irc.oftc.net.
Once the proposal passes the vote, the corresponding porting project
would get set up
within OpenJDK, with its own mailing list(s), mercurial repository and
web presence.
For code going into the repositories hosted by the OpenJDK project,
the same rules
would apply for porting projects as for any other projects: the code
needs to be covered
by the SCA. Beside all the CYA legal reasons to avoid problems later,
there is a
practical reason for that: for patches coming from ports to be merged
into the main
OpenJDK project, the authors of the patches need to have signed the SCA, so as I
expect that the goal of the most porting projects is to get their
changes merged
upstream into jdk7, it makes more sense to do the SCA signing dance
once per author,
than to have to repeatedly track down authors for each patch going
upstream. The other
pragmatic reason is that it allows the code coming from JRL or SCSL
licensed ports to
be re-licensed under OpenJDK's licenses by Sun as they get to share
the copyright on it.
For third-party code that means: please don't upload it into a
project's repository without
discussing it here first. From a software engineering perspective,
bundling third party code
ofter turns out to be a maintenance nightmare (been there, done that
with Kaffe.org &
GNU Classpath), so whenever possible, please avoid checking in third
party JARs, sources,
etc. into your project's repository, and use more suitable ways for
your platform to ensure
that such third party code is available to the port. For example, you could make
sure that it is packaged for your platform of choice, and document the
procedure to get
such build or runtime dependencies installed in the project's documentation.
cheers,
dalibor topic
More information about the porters-dev
mailing list