Shared Source Device Emulator from Microsoft
An anonymous reader writes "Microsoft has posted a shared source version of its device emulator (which ships with Visual Studio 2005) for download.
Primarily meant for academia to experiment with and build upon, it is licensed under the Microsoft Shared Source Academic License. Since it emulates the ARM processor, it can run all modern Windows Mobile and Windows CE operating systems. Barry Bond, the architect behind the emulator (and also Rotor, one of Microsoft's previous shared source offerings) has a blog post on the release."
Rotor is the shared-source implementation of .NET. You could think of it as an alternative to Mono -- it's even been ported to Linux. But there must be some reason for Mono still existing -- I'm guessing the shared-source has a bitch of a license.
Don't thank God, thank a doctor!
According to the license, only people who are in the category: "while attending or employed by an accredited educational institution". So only students, their teachers and researchers (and accredited means not your average school). That means almost nobody, sigh,...
I think Microsoft is always in the middle of paradigm shift. There's been a lot of study and evaluation of what Microsoft can gain from the open source community, and I think we're now starting to see the fruits of that. The major Shared Source licenses available from Microsoft look an awful lot like GPL, BSD/MIT, and the old "look but don't touch" flavor of Shared Source.
Basically, yes, Microsoft could learn a lot of lessons from open source. It's learning them. But how exactly has the open source community learned from Microsoft?
There is one and only one mechanism Microsoft uses to stay in power: find out what the biggest competitor is doing, and do it better. The open source community may scoff and claim Microsoft can't do this, but the fact is THEY CAN. There's very little you can't do when you can afford to throw hundreds of millions of dollars at a problem, but when you have minimal funding and only fair-weather support from most of your adherents, there's an awful lot you can't do. The open source community needs to be very worried and start looking very hard for ways to respond to this.
ObDoomsdayTheory: Consider the competitive implications of this. We have an ARMV4I emulator for Windows which is released as shared source under the academic license, a close parallel to the GPL which forbids any derivatives that do not run on Microsoft operating systems. Is it feasible that the open source community can EVER develop an ARMV4I emulator for Linux without facing the impending shadow of a lawsuit demanding they *prove* nobody on the project made use of Microsoft's shared source release? Could that ever be proven?
The flaw in the open source model here is that most contributors are anonymous, do not get held accountable for their contributions, and never face any scrutiny as to whether their code is free of trademark and patent claims. If this case went to court, could all the developers on the project be located to appear in court? How could any of them demonstrate that their code was clear of any "contaminant" effect from the Microsoft Shared Source release?
And exactly how much interesting and useful technology *is* Microsoft going to dump onto the market under the Academic Shared Source (ASS... hehehehe oh wait I'm not twelve) license? Will that create a problem for open source developers who want to provide similar functionality? How high *is* the wall Microsoft has created around ARMV4I emulation? Can open source even *contemplate* surmounting it?
Microsoft has a history of learning its competitors' tactics very, very well and using them to slaughter those competitors in the marketplace. There was a time that the saying was nobody ever got fired for buying *IBM*, and everyone was worried about how IBM was going to take over the world and nobody could stop them. But Microsoft stopped the unstoppable, so calling open source invincible and unstoppable doesn't exactly give me warm fuzzies when you look at how IBM is doing these days.
Microsoft cheerleader, blue flag waving, you got a problem with that?
If you write applications for Windows Mobile OS's then this interesting. Otherwise... **yawn**... There's a restrictive license and is bundled with Windows Mobile OS Images only, so there's not much use for it other than as a plugin to Visual Studio. There are plenty of fully free-as-in-speech ARM to x86 JITs and ARM emulators out there with more features and less restrictive licenses. In fact, I would bet ARM is the most emulated device out there. Do a search for "ARM Emulator" see for yourself.
"(B)Platform Limitation- The licenses granted in sections 2(A) & 2(B) extend only to the software or derivative works that you create that run on a Microsoft Windows operating system product.Further, you may only use the software to emulate running Windows operating system products."
"(E) If you distribute the software or derivative works in source code form you may do so only under this license (i.e., you must include a complete copy of this license with your distribution), and if you distribute the software or derivative works in compiled or object code form you may only do so under a license that complies with this license."
But do they also emulate the I/O of a Windows Mobile device, to the point where a PDA owner could backup his handheld and restore it to the emulator?