The .NET Micro stuff – Where’s the beef? [updated]

So I guess I was a bit too carried away in my previous post by assuming that the .NET Micro Framework is really something big. After doing my research, let me focus a bit more on the product itself and its importance to Microsoft.

Let’s read this article again. On may, 6th 2009 this journalist states that the .NET Micro framework is effectively obsolete stuff that Microsoft doesnt want to support anymore, so in an act of generosity, they will give it to the community:

Microsoft is turning the source code for its embedded .Net Micro Framework over to the community and slowly withdrawing from that
business, company officials are confirming.

(Update on May 7: Microsoft disagrees with my characterization of this
move as “withdrawing from the business.” But I’m standing by what I
said, while making it clear company officials didn’t say they are
withdrawing. To me, if you cut a bunch of a team and turn your source
code over to external parties, you are not signaling that you’re
continuing to stand firmly behind a product.

Today we see this plan taking shape (a bit delayed, isn’t it?).

I have great news to announce. Today, at the Microsoft Professional
Developer Conference (PDC) here in Los Angeles, we announced not only
the release of version 4.0 of the.NET Micro Framework, but also that we
are open sourcing the product and making it available under the Apache
2.0 license, which is already being used by the community within the
embedded space.

So no real news so far, in fact just an update. The only (possible) good news is that Apache 2.0 License forces MSFT to give the community a

perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work,

But I do not see a list of patents yet.

Now depending on what parts of .NET are implemented in the Micro
Framework this might be partly good news for MONO users. But that is about the only interesting thing I can see.

In closing, let’s take a look at what this stuff is all about on a
more technical level:

The .NET Micro Framework is currently supported on ARM architecture processors (including ARM7 and ARM9) and on Analog Devices Blackfin.

This means no support fro MMUs etc etc. So it is really a very basic thing.

The .NET Micro Framework has its roots in Microsoft’s SPOT initiative and was used in MSN Direct products such as smart watches before being made available to third-party developers early in 2007. It is a common platform for Windows SideShow devices and is beginning to see adoption in other markets, such as home automation and sensor networks.

Funny thing is however that the .NET Micro Framework comes without a
TCP/IP stack (third party stuff) and without a crypto library.

So what do we have here? A runtime environment for very basic stuff
(about 70 classes with about 420 methods), some presentation layer
loosely based on WPF but that’s about it.

It might help you in creating cool, non-connected gadgets with nice
bluescreens – but nothing more ;-)

So where’s the Beef in this announcement?

[UPDATE]

This is nice:

We do not include the source code for these libraries for several reasons – the TCP/IP stack is licensed from EBSNet(http://ebsnetinc.com/) and the Crypto libraries are used in other products besides the .NET Micro Framework.

So just because crypto is used also in other products, it cannot be opensourced? I guess we need to educate MSFT a bit on OS licensing …

The Microsoft engineers will continue to focus on some of the things that only they can do – deep coordination with the rest of the .NET team

So not THAT open, I guess …

Microsoft, .NET Micro Framework, Mono for iPhone – Ouch?

So this will be a minor rant. And as always, this is my pure personal opinion and not related to my job.

So Microsoft broke the stunning news: They are going to open source the .NET Micro Framework under the Apache 2.0 license.

What does this mean? Well – at first glance it is all good news. All the patents covering the .NET Micro framework are nnow available

perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section)

where the exceptions are clearly defined and boil down to “sue me and you’ve lost the license rights”, typical covenant language.

So why don’t we all sing and praise Microsoft for this brave step in the right direction? First – there is always doubt when it comes to Microsoft and Open Source. For darn good reasons, I dare say. Think of TomTom and the FAT patent dispute.

Secondly – and IMHO more important – I am quite sure that Novell will not be totally happy – which they won’t admit in public, I dare also say ;-)

According to my sources, the MONO project was under pressure to finally make some revenue and one of the possibilities was to produce MONO for an important platform that Microsoft didn’t want to support – the iPhone.

So we now have MONOTouch for iPhone, and suprise, it has a price tag. Even better, it is not open source, accrding to the FAQ:

How is MonoTouch Licensed?

MonoTouch is a commercial product based on the open source Mono project and is licensed on a per-developer basis.

I guess you can see the problem here. Imagine that the .NET Micro Framework is “good enough” for the iPhone. Imagine that the community will soonish deliver a free implementation for the iPhone – who will need MONOTouch?

Now, the MONO people will claim that ofcourse the Micro Framework is incomplete, completely different and of no real use. But nevertheless – Microsoft did something that could become a pain for MONO. Is that what a partnership with Microsoft means? ;-)

Let’s wait and see.