Microsoft has always been. Windows is practically open platform and the mobile versions have always been too. Not in the open source sense, but users are free to install and do what they want. Apple is the only company that wants to control that.

Unfortunately, there's a barrier in Mango (whether you use the marketplace developer account dev-unlock, which has been available from day 1, or ChevronWP7 Labs which is essentially the same thing from the phone's perspective) that prevents apps from getting high-permission access (specificlaly, prevents opening a handle on a driver, which is the standard way to break out of the low-privilege app sandbox on WP7). To do this, an app needs to specify the "INTEROPSERVICES" capability in its manifest, and by default Mango blocks installing or running non-marketplace apps with this capability. NoDo and below did not - that's how people were able to do file browsers, registry editors, tethering apps, and so forth - but this restriction is part of Mango.

You can still run some homebrew apps, including native code, but only with low permissions. While it's useful to know there's limits on what an app can do, I'd really like to be able to remove those limits on apps I trust. A webserver that demonstrates access to the full socket API, including TCP server sockets (the official API only has client sockets) is cool, but there's a lot more that you could do.

Fortunately, there's a way around this restiction also built into the OS. The process of removing this restriction is called "interop-unlock" by the guys who discovered it, and is possible easily on LG phones (change the MaxUnsignedApp registry value to 300 or more using the built-in registry editor), possible on Samsung phones (instructions and app here: http://forum.xda-developers.com/showthread.php?t=1271963 [xda-developers.com]), and difficult if possible at all on HTC phones (requires rolling back to pre-Mango, which isn't possible on new devices). No solution at all for Dell, Toshiba, or Nokia yet.