Microsoft has 3 .Net flavors, the complete stack, the .Net Compact Framework and the .Net Micro Framework for extremely resource-constrained devices. The later is being open sourced under the Apache 2.0 license. A copy of the full annoucemente can be read at Port 25.
Unlike the other flavors of .Net frameworks the .Net Micro framework is designed to run on “bare metal”. It doesn’t require an OS, has support for some peripherals and interconnects like USB and flash memory, soft-multithreading, managed drivers (C# or others) and a low memory footprint of just 300KB. It also supports ARM 7/9 among others.
The API is, as expected, a very slimmed down version of the other flavors and it should work very differently internally too, the garbage collector for example has to be lacking some serious power to meet the resource shortage it was designed for. Still, I can see this as a good sign for the Mono users (like me), it means that Microsoft is getting increasingly more open and less afraid of sharing code.
As of Mono, I don’t see it having much use for any of that code but, being Apache 2.0, I believe that some of that code can now be actually used and shipped with Mono. Since the .Net Micro Framework lacks several key pieces and APIs, I imagine Mono will also see more and more users reusing Mono source’s to get some of those features back, just like many people now use Mono XML stack to overcome .Net Compact lack of one.
Finally, I believe this could help Mono on its way into more distros and desktop managers. I’m sure its not enough to get rid of all doubt for some, but for some companies this latest Microsoft’s move might just be enough to make the switch.