18 July 2008

What the lack of a 'classpath exception' for JavaME means for developers

I've been wondering why Sun ships some open source project with the 'linking' or 'classpath' exception and some other without.
JavaSE and other cool projects, like open-DMK, all ship with the exception and that means you can use them in commercial projects without having to release the source code.
Unfortunately PhoneME advanced doesn't fall into that category.
And that's a shame because it's really tempting to get hands in that project: it's so well structured and documented.
No idea how much royalties would be.

Anyway, there's another JVM, open MIKA, that is available under BSD. Here's what they have to say about Sun's licenses

/k/ Embedded Java Solutions: "So if you develop applets, midlets, whatever that will be downloaded onto a GPL version of Sun's VM, no problem. No problem either if you want to create an all-open-source device. But if you want to ship your device with pre-installed software which you do not want to place under a GPL-compatible licence (or you cannot do so, because the software is licensed-in), you need to do one of two things:

* Get a commercial licence from Sun, just as before, or
* Use a different, 'non-infectious' VM.

/K/'s Mika is non-infectious, because it comes with a BSD-style licence. Kaffe is under GPL just like Sun's open Java, but key developer Dalibor Topic apparently believes that this does not affect the applications which run on Kaffe, even if they are distributed together with the VM; to him this is just 'mere aggregation'. So with Kaffe you are probably OK (although you may have difficulty convincing a company lawyer of this). Other non-GPL VMs include ikvm, which runs on top of Mono; for GPL'd VMs it is best to contact the authors to see what arrangements can be made."

UPDATE a JavaPosse interview with a Sun JavaME leader clarifies this topic

08 July 2008

Innaworks Talk at Wellington JUG, Next Week

Mobile ecosystem, and mobile application development using Java

Wed Jul 16 5pm – Wed Jul 16 6:30pm

Equinox, Level 5, Equinox House, 111 The Terrace (or 222 Lambton Quay through Amazon), Wellington

5pm for 5:15pm start

Please register for this event at http://www.eventbrite.com/event/136502282
- it's FREE.

Topic: Mobile ecosystem, and mobile application development using Java
Speaker: Stephen Cheng, CEO Innaworks

Mobile computing is becoming mainstream. Mobile computing can add
great value to internal business processes, as well as offering ISVs
plenty of opportunities.

However due to the complexity of the mobile eco-system as a result of
diversity of technology platforms and a complex value chain, a mobile
software developer faces many technical choices and commercial
hurdles. This talk provides an overview of the mobile ecosystem from a
commercial and technical perspective, and details some of key
technological and commercial issues. Java does play a particular
important in this story due to its current dominance as a mobile
software platform.

We will also demonstrate alcheMo Java to native platform porting
solution which solves the platform fragmentation issue. Incorporating
an advanced Java to C++ translator and an optimized run-time library,
alcheMo extends Sun's "Write Once, Run Anywhere" philosophy to native
platforms without access to a Java Virtual Machine. alcheMo makes it
possible to maintain a single code base in J2ME while developing for
the key native platforms (such as BREW, iPhone, Windows Mobile).


Stephen Cheng is the founder and CEO of Innaworks since 2002.

Stephen is a frequent speaker at industry conference including Game
Developer Conference Mobile, JavaOne and BREW Conference.

Don't forget to register, since we want to ensure the venue can fit