FINAL PROPOSAL: Headless OpenJDK

Dario Laverde dario at nycjava.net
Mon Mar 3 21:01:25 PST 2008


FINAL PROPOSAL: Headless OpenJDK

Dario Laverde

dario(at)nycjava.net


1.) Introduction
----------------
I propose the creation of a port or branch or more appropriately,
a subset of the OpenJDK to specifically support embedded and mobile
devices without any GUI (i.e. no AWT or Swing or Java 2D) and
optionally without sound support or additional Java SE libraries that
are not required by the application so as to run in disk and memory
space constrained devices.

The goals of this project is to provide a Java implementation that will
be suited for devices such as wireless routers, single board devices,
PDAs, mobile phones and essentially any device where either there is no
user interface or the user interface is proprietary or not easy to port
to without significant effort. Much like the case with headless servers,
Java implementations should be able to run without any UI requirements
but additionally it should also have all such related library code
(both Java and native code) stripped to provide a minimal footprint
suitable for use in embedded and mobile devices. Without resorting to a
modular system, the goal is to provide a compact Java SE runtime
deliverable targeting a specific device or platform.

This project proposal meets the following criterion for project types
as outlined by Official Rules of the OpenJDK Community Innovators'
Challenge in section 3.F.
    1.) Develops and implements ... that extend the applicability
        or use of the JavaSE platform into new markets...
    3.) Ports the OpenJDK code base to a new and interesting OS
        and/or hardware architecture.


2.) Deliverables
----------------
This project will be considered complete with delivery of
    a) A working build system that others outside of the porting
       effort can easily duplicate. This can optionally include
       cross compilation tools/support.
    b) All source modifications (if required) published to the
       OpenJDK project.


3.) Milestones
--------------
    a) Develop an easy to use build environment consisting of
       either a branch or of tools that will strip away any
       dependencies on GUI support and unnecessary libraries for
       a given device and/or platform.
    b) Proof of concept releases running on several devices.

4.) Dependencies on Sun
-----------------------
There is no dependence on Sun, outside of their role in the OpenJDK project.


5.) Relevance to the Community
------------------------------
In addition to eliminating all the issues regarding any remaining
incumberances, developers should be able to freely use the latest
OpenJDK sources (as opposed to 3rd part efforts) as the basis for
porting to any device without regard to UI restrictions or the lack
of UI support. For devices such as PDAs or mobile devices that
provide web browsers, standalone, downloadable applications can
provide users a UI via the web browser. Considering the current and
future capabilities of the web browsers found on some devices, the
need for native GUI becomes less of a requirement for custom Java
applications to be available on almost any device.



6.) Developers
--------------
Dario Laverde has been developing in Java since 1995 and has
successfully ported and/or used third party open source JVMs
in commercial and open source projects, from wireless routers
to robots to mobile phones such as the iPhone. He is the JUG
leader of the NYCJava.net JUG
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/challenge-discuss/attachments/20080304/6a294457/attachment.html 


More information about the challenge-discuss mailing list