Skip to main content

LWUIT released as open source!

Posted by terrencebarr on August 14, 2008 at 7:40 PM PDT


Note: For an overview and a FAQ on LWUIT see this older post.

Dear Community,

Sun introduced the Lightweight UI Toolkit (LWUIT) to the developer community at JavaOne this year. We made available at that time a prerelease binary library, additional tools, and extensive documentation so that developers could get started with LWUIT right away. We also announced our intent to open source the LWUIT technology by summer.

It's been three months since JavaOne and the success of LWUIT has surpassed our wildest expectations. The LWUIT project has seen an explosion of activity, and blogs and articles around the web have given LWUIT enthusiastic reviews. Meanwhile, the owners and architects (Shai Almog and Chen Fishbein) of the LWUIT project have been busy answering questions, providing help, and releasing two code updates with significant improvements, including community feedback and bug fixes. As a result many mobile developers including major commercial companies have already committed to using LWUIT for their upcoming projects. Clearly, LWUIT has struck a nerve.

This success reinforces Sun's belief that LWUIT is really much more than a set of pretty UI widgets - it is a core technology that enables the community to take Java ME to the next level. Its real strength is in providing a rich framework that developers can easily build upon, optimize, collaborate around, and then deploy on billions of devices. In this way LWUIT is becoming a unifying UI layer that allows developers to focus on creating compelling user interfaces and ultimately delivering new and engaging applications across a wide range of platforms.

And to further accelerate the adoption of the LWUIT framework it is important to provide access to the source code under a liberal and well-known open source license. So today Sun is announcing the release and immediate availability of the complete source code of the LWUIT framework under the GPLv2 license with the Classpath Exception. This license choice provides the benefits of open source innovation and collaborative development while offering a risk-free path to adoption by commercial products - a model everybody should feel very comfortable with.

It's been a very busy couple of months for the LWUIT community, the project team, and the folks at Sun behind the scenes - the hard work is paying off and all indications are that LWUIT has a very bright future. So please join me in congratulating everyone involved. Please check out the updates and latest information on the LWUIT home page, the LWUIT blog, and of course the open source repository.

Way to go Shai and Chen!


-- Terrence


Great news indeed. Looking forward to try this.

Thanks Terrence. This is great news.


Sorry for the long delay in getting back to you on the topic of the license implications. Here is the good news: I'd like to confirm that Sun views the classpath exception as appropriate for the scenario you describe. Unpacking the LWUIT jar, obfuscating it, and repackaging it with the application classes is covered by the classpath exception.

Sun *does* consider obfuscation a modification but the classpath exception can be used provided the classpath exception requirements are met - in particular regarding the LWUIT source code.

I hope this helps. Sorry again for the slow reply. Best,

-- Terrence
Senior Technologist and Community Ambassador
Sun Microsystems


Sorry for the delay on this. The LWUIT program manager, who deals with licensing issues, is caught up in several high-prio efforts. I'm still working on getting this answer.

-- Terrence


Excellent, thanks. You've also been added to our blogger list at

-- Terrence

Hi Terrence, I posted an article on the release (took me sometime since I was tied up in a LWUIT-related project..): Hope you don't mind I took the image from your site.. Ofir.


Thanks for asking these clarifications. I am working with Shai and our internal Sun folks to generate a public statement regarding this topic. Stay tuned.

-- Terrence

Terrence, I was asking Shai more about this on the LWUIT blog. I was wondering if you could confirm that we've got the story straight on LWUIT source and licensing: Specifically: "Michael Maguire said... If what you're saying is that Sun is cool with people downloading LWUIT source, building apps with it, keeping their own rights to their own code, but making sure that any fixes, changes, additions, etc. to the LWUIT packages are contributed back to the community, then this is fine. I guess it's almost like we're considering the Java .class files to be the "modules" in this case." "Shai Almog said... You understood perfectly. Our goal all along was to allow content/Java developers to use the library freely whether for proprietary or open source projects without being bothered by licensing." It would put me at ease as a developer. Cheers, Michael

Terrence, this is great news. Thanks to Sun for this. I am very interested in using LWUIT in a project and I have a question about GPLv2 + Classpath Exception and the meaning of "module" in the context of MIDP, where all class file will assembled into a single jar. I'm very happy to make sure that any modifications or fixes to the LWUIT code are contributed back to the community. But at the end of the day, if I start with LWUIT.jar and "link" my code to it, EclipseME and Proguard will be unwrapping the LWUIT.jar, processing all class files together with my own source, and producing a single jar file. Is it Sun's intention for LWUIT that the Classpath Exception's meaning of "module" is more about java source packages that e.g. jar file libraries? Regards, Michael


PS: Make sure you check the features of the new source release. SVG images are now supported!

-- Terrence

Excellent news! I've been looking forward to this since I first saw LWUIT running at JavaOne.