An open-source database company hopes to strike it big with developers on Microsoft's Windows Phone 7, officially launched next Monday. McObject has announced a one-time charge per developer of $395 with free distribution of its Perst .NET object-oriented database on consumer phones running Windows Phone 7. Usually, McObject …
Thats OK then
MS just want some money so I can use MY computer..
Things that make you go...
McObject don't know what they're doing
It took a while to get hold of the "GPL" versions of the code, but I got there eventually.
Looking through the code, I found the licence. If claims to be GPLv2 - and then it puts in this little gem :
"This General Public License does NOT permit incorporating this software into proprietary or commercial programs. "
...Which is cobblers. It is entirely possible to build commercial apps with GPL code. You just need to distribute them under GPL.
So - is this code really GPL? Are McObject improperly making claims about their licence? Or do they just not understand the licence?
This doesn't bode well...
I am rolling my eyes
A database noone is allowed to use taking up room in the ROM, no multitasking and no interprocess communications? Sounds like a pretty sweet "smart"phone OS to me.
A quick rummage around their web site seems to indicate that the software (or perhaps only a "Lite" version of it) is available under the GPL, but that they're also willing to sell commercial licenses to people that cannot live with the conditions of the GPL -- that could certainly have been made clearer that the article's: a $500 commercial license ... licensed under GPL
Article reads like a press-release, but the thing that amazes me is the statement that "...making the resident copy of SQL Server Compact Edition only available for use by applications built by Microsoft... It's among a set of restrictions on Windows Phone 7 designed to avoid crashes"
The phone ships with a built in RDB but developers can't use it? Why not?
MS somehow can't share a basic database service without supposedly having the OS crash, seems bizarre; its like MS releasing SQLServer & telling developers they can't use it or they might crash the server. Given that any app has to be certified, then they could check for API use; meaning that the system has to be very flaky if it can't be trusted.
I assume there will be other databases services sooner or later (SQLlite?) without the per unit licenses, but users will end up running multiple database services on there phones.
I still think Win7 is sounding more and more like it will be an epic fail, but we will see.
Bad code monkey, bad! No SQL for you!
Like iOS, WP7 only allows a single _third party_ task to run at a time. Behind the scenes, the MS processes that run the phone, SMS, email and other backgroudy stuff will be using that SQLCE instance for data storage and retrieval.
Thus the performance and integrity of that database are likely to be crucial to the proper functioning of the device. Hence MS don't want third party apps getting their grubby fingers all over it and doing potentially hazardous things to it.
Previous incarnations of WinMo suffered badly from developers doing stupid things that were allowed to FUBAR the entire system, something that MS are clearly keen to avoid in this new version.
Bear in mind that since the carriers and handset manufacturers aren't allowed to mess with the OS in the way they have in the past, any crashiness - albeit the fault of third party app developer - is going to be blamed squarely on them.
So while I initially shared GrantB's WTF moment, after I thunk it through for a bit, I reckon this is reasonably sensible, and especially in a 1.0 version. I don't know enough about SQLCE's (or WP7's) internals to know if there's a good reason why they couldn't just stick a second instance onboard for userland apps (maybe they worry about enforcing app boundaries?), but I do recall that the last version of SQLCE I coded against was fucking hateful, so maybe it's good that there's an alternative.
Just a thought.