This is the proposed Report for the MTJ project, to be presented to the Eclipse Board on September 17, 2008.
Review of project scope and charter
(a description of where within the defined scope work is actually taking place. The PMC should also provide some guidance as to whether the scope and charter documents should be revised. Things may have changed since the charter was approved by the Board.)
The overall Scope of MTJ is to provide extensions to the base Eclipse IDE, targeted to developers of Mobile Java Applications. MTJ provides easy integration of 3rd party SDKs and Emulators from commercial vendors and free open source projects. It also allows the integration of advanced development tools like Proguard and Antenna.
MTJ has extension points which allow both, commercial and open source projects to easily integrate their own tools, emulators and SDK's into the Eclipse environment. We currently support SDKs following the UEI standard as well as popular other open source SDKs like MicroEMU and MPower.
MTJ is implemented in pure Java, and supports all common Host development platforms, Windows, Mac OS and Linux.
A high-level review of technical progress, strategy and release plans.
The MTJ project is still in "incubation", and was undergoing some significant restructuring in Q4/07 and Q1/08 (MTJ Reboot).
Since then the project has stabilized, it has an active committer community, and is producing nightly builds. The new code-base which was adopted in the Q1 "reboot" is largely based on the popular "EclipseME" toolkit created by Craig Setera.
During Q1 and Q2 the project was mainly working on re-factoring and bringing the new code base in conformance with the Eclipse legal and due diligence standards.
The plan is to have a first "official" release of the MTJ project in Q3/08, and then join the Galileo release train for 2009.
Self-assessment of the performance of the project
under the following headings (inspired by the Three Communities section of the Development Process):
Performance as an Eclipse open source project
After the "project reboot" in Q1/08, MTJ was mainly driven by Motorola, and the principal developer behind EclipseME, Craig Setera. With the support and engagement of Craig, we have created a very open and thriving Eclipse project.
Since then we have received positive feedback and involvement from other Eclipse developers and have attracted more contributors from Sybase.
MTJ is open to external observers and participants. We have regular (usually monthly) conference calls which are documented with minutes on the project Wiki pages.
All technical discussions and project related announcements are sent to the public developer mailing list, which everyone is welcome to participate in.
All our work is documented using the standard Eclipse tools, Bugzilla, IP Zilla, and SVN commit logs.
We evaluate feature proposals on technical merit, and all participants on the MTJ committer team have equal voice in the discussions.
Even though the initial list of committers was seeded in the reboot, we are open and welcoming to new developers. Currently we are receiving a lot of improvements and code contributions from developers at Sybase, and we are in the process to nominate those developers to become full committers in MTJ.
The currently actively contributing committers are mainly from Motorola, due to our commercial investment in an MTJ based project, and based on the MTJ project restart in Q1.
Craig Setera, the author of the original code-base, is now mainly contributing as technical adviser and in architectural discussions. Craig is also a committer.
We are currently receiving many valuable contributions from Sybase, and are in the process to promote those engineers to regular committer status as per Eclipse process.
Compliance with the Purposes (e.g. are they successfully “..supplying frameworks and exemplary, extensible tools..”?)
MTJ is extensible and allows the user to integrate a wide range of SDKs and 3rd party tools. By default MTJ provide support to three different types of SDKs: UEI ones (SDKs that implements Unified Emulator Interface Protocol, such as Nokia SDK and Motorola SDK), Microemu (JavaSE based SDK) and MPower (JavaSE based SDK). This cover most of the SDKs that are available on the market. MTJ can be used out of the box as tool to write JavaME MIDlets that target those SDKs. MTj doesn't target any specific type of MIDlet. such as games or productivity application. Currently, any kind of JavaME MIDlet can be developed with MTJ, since it provide the basic tooling that are necessary to do that: create MIDlet Project, create MIDlet, Build Final deployable package, run on emulator and debug on emulator. MTJ also support basic Java code preprocessing that is a fundamental need on JavaME world to minimize the impacts of supporting multiple devices.
MTJ can also be extended to add support to other SDKs. It provides a extension point that can be used to implement the "protocol" to communicate with other 3rd party SDK.
End user community and adoption.
Even though MTJ is still in incubation, and has not yet released an official milestone release, we already receive a significant number of downloads of our nightly builds. Since Mai 2008, we have had almost 3000 downloads of nightly builds.
Commercial community and adoption. E.g. is the technology from the project showing up in products.
We anticipate MTJ to be adopted by commercial products, once it reaches a first mature and stable release build in Q3/08. Motorola intends to adopt MTJ commercially in their MOTODEV Studio product, and we expect the existing users of EclipseME to migrate to MTJ.
Compliance with the Roadmap
We are currently very well aligned and deliver along the road map defined earlier this year.
During the last year, we have have spent a significant time working with the Eclipse Legal team to clear initial and ongoing code contributions to MTJ.
Although we have already seen a significant improvement in response time, it would be good to make sure there is enough resources availabel from the foundation to help make sure we can meet our Galileo release next summer.
Through the re-start of the MTJ project, we have managed to unite the development two leading Eclipse based mobile development tooling projects, MTJ and EclipseME.
With this new, unified MTJ development, we are confident Eclipse will be a viable tooling environment for mobile developers, and a solid base for commercial adopters who base their mobile Java development tools on Eclipse.
Our hope is, after an official first release of MTJ, to unite the user communities of EclipseME and MTJ to create more momentum and a successful "mobile strategy" for Eclipse.