Novacom USB communication toolset released to open source
Today saw yet another release along the Open webOS roadmap, with Novacom and Novacomd finding their way onto GitHub. The two pieces comprise a generic communication toolset used to communicate between a host (your computer) and embedded device (your webOS device) over USB. It's what allows the webOS SDK and programs like WebOS Quick Install to access the device over a USB connection without having to put the device into USB Mode. Plus there's the fact that USB mode doesn't allow access to the file system.
Novacom has been distributed as part of the webOS SDK and webOS Doctors since what seems like the beginning of time, and was released as a separate downloadable executable a while back as well. The separate release, while not open source, enabled WebOS Quick Install to get by without downloading the entire webOS Doctor just to be able to extract Novacom to install a single app or patch.
There are two parts to the release, Novacom and Novacomd. The latter is the service that runs on both the host and the target device, while Novacom is the command line user interface that provides a human-accessible way to access that service. With both now out in open source, the webOS developer community (and the developer community at large) is free to enhance, fix, and repurpose the two as they see fit.
The release of Novacom nearly closes out the Open webOS release commitments for March, with just LevelDB and MojoDB/DB8 left for the month. Major releases for March have included the Nyx hardware abstraction layer and the Linux Standard Kernel 3.3, both of which will go a long way towards opening up Open webOS to installation on a wide range of devices. There's still a lot to go on the roadmap, but despite what feels like near constant drama, Open webOS is still making progress.
Update: HP has also released to open source the DB8 database abstraction layer. It's aparently "a work in progress and not currently buildable," though that is expected to soon change. DB8 first step in incorporating LevelDB databases into Open webOS.