Almost entirely OT, but I had a chance to play around with a Lenovo Yoga yesterday. It was the first time I really "got" Windows 8, and how the marriage of desktop+tablet+mobile OSes could be fantastic. I'm in the market for a new laptop and am sorely tempted to make it the Yoga... except that I know I would sorely miss a POSIX terminal. Some Windows legacy is clearly more difficult to get rid of than others.
I tried to figure it out from MSDN and couldn't, so maybe someone here knows something I don't:
Is there any functional difference between LocalSettings and LocalStorage in terms of capabilities? I see the use case for file storage, of course, for special purposes; I see the use case for IndexedDB, for more powerful object storage; I see the use case for RoamingSettings, which syncs between Windows 8 devices; but I don't see the use case for LocalSettings when LocalStorage already exists (or vice versa).
It seems to me that the only reason that they're both usable in WinJS apps is because one comes from the .NET APIs and one comes, of course, from the HTML5 APIs, and no one ever stopped to think they might be redundant.
Of course, I could be totally wrong. MSDN isn't exactly illuminating on this matter, nor on, well, anything related to WinJS.
Oh, and an aside - if anyone's looking for a nice wrapper for IndexedDB that plays nice with WinJS, give db.js (http://aaronpowell.github.com/db.js/) a shot.
In addition to what Cushman said, find out the results of Dr. Richard Hipp (sqlite creater) about putting his software in the public domain. Some countries don't have a similar concept, some companies need explicit permission, etc. It would be easier if they simply chose a very permissive license to use.