The blockbuster news this week in the mobile industry is that Hewlett-Packard has decided to release its webOS operating system under and Open Source license, retaining the patents for themselves instead of selling off the ICAP/IP to a buyer.
Back in August, just before the TouchPad was put out to pasture and the webOS unit sent into limbo, I actually suggested that this might be a possible route for the OS, but I really didn't think HP had the guts to go through with it.
Major kudos to HP CEO Meg Whitman for giving this huge gift to the Open Source community. Seriously.
All of that being said, a couple of things regarding webOS's future are still up in the air. The first is webOS' Open Source license. HP has already indicated that it is leaning towards using something Apache-like, or Apache itself.
I'm hoping it goes for straight-up Apache because that would allow for co-mingling of Android code and other Apache-related and GPLv2 software with future webOS "distributions" and related projects.
Anything Apache-like would be great, but I'm really hoping both MPL and CDDL are off the table, because all that would do is create all sorts of potential license compatibility issues, just like OpenSolaris had with a number of GPL-related projects.
Who will manage the project? Will it be some sort of Foundation? Will it be more like the original OpenOffice.org pre-Sun acquisition?
HP is said to have consulted Red Hat and may look to create something similar to the Fedora Project in terms of organizational structure, where there would be strong oversight and it would prevent additional "forking" of the project, a problem that webOS's primary Open Source competitor, Android, is experiencing lately.
Assuming that the licensing and organizational issues are resolved to everyone's satisfaction from a community and control standpoint, what actually happens to WebOS as a productized OS? Who will begin to use it? And what changes, if any, need to occur in order to ensure its success?
While webOS is an excellent mobile operating system there is the issue of developer mindshare. Right now, Android and Apple's iOS have the lion's share of attention. Getting the developers who are making big money off of Android and iOS apps to devote time and energy to native webOS applications is going to be a challenge.
As webOS and Android are both based on the Linux kernel and a number of userspace libraries for the core OS functionality, I would think it would make some sense if HP and Google could come to some sort of arrangement where the core of both operating systems could be standardized, much like the LSB exists as a common framework for several x86 Linux distributions.
Android already deviates from the standard Linux kernel to some extent, and that's been somewhat of an issue for some time.
There's a bunch of reasons why a standardization effort between Android and webOS is a good idea. For starters, there's all the Android NDK stuff that could be easily moved over to webOS. The NDK (native C++ libraries) is of particular interest because a lot of Android games are written in it.
If the kernel, the NDK and a certain set of core libraries were standardized or a common framework established between Android and WebOS, it would essentially create a single development target for Android and webOS games.
And we know that games drives a ton of commercial application activity on both Android and iOS.
There is also the issue of the native packaging format that both webOS and Android use. Because Android is the more popular system, it makes sense for the Open Source implementation of webOS to migrate toward APK rather than IPKG which is used by WebOS.
There is also the issue of the APIs themselves. It would be a very good idea for Dalvik to get "ported" to webOS and allow for native Android apps to run in webOS, and writing Dalvik bindings for the Luna UI as some sort of interface wrapper.
This is actually not as difficult a task as it sounds from a technical perspective, since Dalvik already runs on Linux ARM natively and webOS is a Linux ARM embedded operating system just like Android.
This would actually prove to be a less difficult project than what was undertaken by Research in Motion for PlayBook, in which the Dalvik VM was ported over the the QNX OS.
Unlike QNX which is an entirely different POSIX environment, webOS and Android already have a great deal in common because they are already both Linux-based.
Myriad Alien Dalvik, for example, already allows Android apps to run on non-Android platforms today. On webOS this porting effort would be fairly trivial in comparison.
What would be the real challenge is the legal question of making Dalvik part of the official webOS distribution, since Google is in the middle of litigation with Oracle for potential patent and IP violations over Java.
RIM presumably negotiated with Oracle to allow Playbook and Blackberry 10 to use Dalvik as part of an overall Java licensing agreement and thus avoid potential litigation.
HP may want to consider doing the same thing, or perhaps port the essential Android Java classes over towards "Real Java" to provide the compatibility layer.
Assuming much of these things can be achieved, it also begs the question of who is going to end up building products based on an Open Source webOS.
It's a virtual guarantee that hobbyists and the community at large will create ROMs that can be loaded onto TouchPads and even existing Android tablet and phone hardware that is out in the wild, but will companies like HTC, Samsung and Acer start making webOS products using the Open Source code? Or even verticals with specialized products?
Will we see a webOS desktop distribution for x86 as HP originally intended? This is difficult to say.
Ideally, as a result of this activity I would like to see both webOS and Android eventually move towards a single unified codebase or at least incorporate technologies from each via a community cross-pollination process, because it can only improve both operating systems.
There's a lot to like about webOS from a multitasking UI and integrated messaging services (Synergy) perspective that Android lacks, but at the same time webOS' native APIs, while easy to write for, are not exactly generating a ton of developer interest right now.
This might change with webOS becoming an Open Source project, but nobody can say for sure.
What do you think will happen as a result of webOS being Open Sourced? Talk Back and Let Me Know.