Draft 0.2 plan

The document lays out the feature set for the next major release of JNode designated release 0.2.

This plan is intended to guide the development towards our first major release. It is not a fixed plan that cannot be deviated from. Suggestions & remarks are always welcome and will be considered.

Release target

We want this release to be the first usable version of JNode where we can run real world Java programs on.
This means that we need a working filesystem, a stable virtual machine, a class library mostly compatible with JDK 1.1, a working TCP/IP implementation and way to install it on a PC. It is not expected to have a fully working GUI yet.

Additional features

To achieve the target outlined above, each team will have to add/complement a number of features. These features are listed below. The percentages specify finised work, so 100% means completed.

JNode-Core

  • 100% - Dynamically (re)loadable plugins
  • 10% - Plugin install, upgrade & uninstall framework
  • 50% - Second level native code compiler target as good (native) code quality
  • 100% - Security system
  • 0% - Setup utility
  • 80% - Implementation of java.lang package
  • 80% - Implementation of java.math package
  • 60% - Implementation of java.security package
  • 90% - Implementation of java.util package
  • 80% - Implementation of java.util.jar package
  • 80% - Implementation of java.util.zip package

JNode-FS

  • 80% - Virtual filesystem (in progress)
  • 60% - Implementation of java.io package
  • 90% - R/w ext2 implementation
  • 20% - R/w fdisk services
  • ? - Format services for ext2
  • 95% - ATAPI driver
  • 95% - CDROM (ISO9660) filesystem

JNode-GUI

  • 0% - Textmode userinterface for use in installer

JNode-Net

  • 25% - TCP/IP stack, client & server
  • 75% - Implementation of java.net package

JNode-Shell

  • 100% - Commands to modify the classpath
  • 100% - Commands to run java code, both .class and .jar files from any location

Release milestones

Right now no date is set for this release. There will be intermediate releases reflecting the state of development on the 0.1.x series until the target is reached.

Looking towards the future; 0.3

The next major release after 0.2 should bring a graphical user interface, we should really consider using J2SDK 1.5 features like generic types and add numerous drivers for CDROMs, USB, Video cards.