Microsoft Releases ASP.NET MVC Under the Apache License
mikejuk writes "Microsoft has announced that they are being even more open with their new approach to ASP.NET MVC. It is making ASP.NET MVC, Web API, and Razor open source under an Apache 2 license. The code is hosted on CodePlex using the new Git support ... You can compile and test out the latest version, but if you do have anything to contribute you have to submit it for Microsoft's approval."
To get code upstream Microsoft has to approve (pretty typical), but the git branch is supposedly tracking the latest internal release candidate branch (a bit better than Google does with Android, even). Things seem to have changed quite a bit since the days of Shared Source (tm).
i just looked and saw one fly past the empire state building
I guess Microsoft's MVC stuff is OK, and Razor in particular is comparable to the best of other frameworks out there, but their C# language is the primary glue that enables the awesomeness. C# is the top of the line within the Java-ripoff genre of languages, and I would like to see Microsoft take steps to help it be used more widely. I realize OSS purists will probably never be on board, and I understand why; but it's definitely not based on the quality of the technology.
All evidence points to Microsoft no longer being "evil". At worst, maybe jerks, but not evil:
Internet Explorer is following standards about as well as everyone else
Windows is no longer a horrible, bug-ridden mess - the main complaints are "it's too similar to the last one, no need to upgrade" and "they're changing the interface too much AND I DON'T LIKE IT"
The 360 is fairly open, by console standards, even with "official" homebrew via XNA (you need to buy a license, but it's not a $100,000 developer's license)
They've been submitting a lot of code to open-source, using *actual* open-source licenses
Their stuff works well withttp://developers.slashdot.org/story/12/03/28/142228/microsoft-releases-aspnet-mvc-under-the-apache-license#h virtualization under Linux, and their VM will run Linux (face it, the Old MS would have made it near-impossible to run Windows within Linux)
Now, they're still far from my favorite company, but I for one am willing to reclassify them from "lawful evil" to "lawful neutral".
Microsoft now seem to have a really good grasp on how to deal with free software. They know they need to get developers and administrators to incorporate or use their products in part, rather than use the defacto standard free software, and that means they need to be interoperable and compatible.
A conference I attended for CakePHP in Manchester 2011 was sponsored by Microsoft, they provided a 3 course meal and contributed towards the bar tab for attendees.
They know the way to a geeks heart - food and beer - and they also know that they need to get free software communities to build support for Microsoft platforms as well as the free platforms. For example the CakePHP community, Microsoft went to great efforts to ensure that the MSSQL database abstraction class was improved by the core developers to better support the MS platform. Now I can at least choose between MySQL and MSSQL, and there's a chance I'd buy and license it for a particular application.
This attitude from Microsoft isn't new, but I don't really see them being able to execute the "extinguish" part of their normal plan on GPL/BSD/MIT licensed software. Instead I can see them at grassroots level trying to make their platform relevant and make sure people can hook into it, but they get left on the sidelines.
I have seen the same (and worse) with people developing on JBoss and Java. What's your point? That some developers are bad? Honestly, working day-to-day in VS2010, NetBeans and Eclipse, VS is by a good margin the better IDE. C# is what Java could have become had its development not been handed over to Yet Another Committee With a Decision Making Disorder (TM). In many ways, C# is moving closer to good stuff like Ruby and Rails (and Sinatra). Look at what the Play! Framework guys did with version 2.0. Not implement it in C# obviously, but look at their rendering engine. Highly Razor inspired.
Prior to v 6, IIS was junk. At 6 it was OK. IIS v7 is actually very good.
On the other hand, if someone ever asks me again to maintain a Web Forms (often known as ASP.NET) project, I will decline the kind invitation. If they insist I will leave the company. Web Forms is (IMnsHO) an abomination. As is JSP. Same with the horror that is JBoss Seam.
It's not just developers and managers as groups. Remember, that these days Microsoft is a huge organisation and is full of many different divisions. There's Windows, Office, XBox, Windows Phone etc. amongst many others.
The guys that are responsible for this move are the "Web Dev Div", who are a sub-group within the "Developer Division".
It contains many people, including guys like Scott Guthrie, Scott Hanselman, Phil Haack (who recently left to join GitHub) etc., who have always done things that don't seem very Microsoft-like, like releasing ASP.NET MVC as an open-source product - albeit one that didn't accept outside contributions - back in 2009 along with such moves as bundling things like the open source jQuery library with Visual Studio and openly committing improvements back to the core project without trying the usual embrace, extend, extinguish tactics.
Within certain parts of Microsoft, they can, have done, and are continuing to do some very interesting, worthwhile and generally community-friendly (and not-so-evil) work.
And most people who work with it would like for it to die. Which Microsoft has actually been working at facilitating in various ways, between the whole .NET ecosystem and now the ability to write Metro apps in C++ against WinRT, leaving the C API out of the picture completely.
Microsoft has made it entirely possible for many people who work with it to move on to different frameworks, but has responded to developer pressure to keep MFC alive and maintained. I doubt it's one of their priorities, but it's better than where things sat with the release of VS2008. VS2010 has improved MFC, and it sounds like VS2011 is marginally better, with its first-class support of C++.
And while I'd love to ditch having my code support anything older than Vista, that's just not going to happen any time soon. My code isn't written for the mass market, it's written for specced use cases, which includes things like supporting WinXP and even (at times) Win2K. If you're writing a new application every year, or doing a major refactor of your code every couple years, you can keep with the times and depend on bleeding edge libraries.
If you're working with a large legacy codebase with install sites over a decade old, you're not going to be jumping at Metro quite yet. It probably isn't going to be until Windows 9 before Microsoft stabilizes their new platform enough to be worth porting code forward. Look at 95 vs 98 vs ME, and then XP vs XPSP2 (which really could have been a new operating system...), and then Vista vs Win7. Microsoft tick-tocks between "what fresh hell is this?" and "Whew! That's a relief!".
tasks(723) drafts(105) languages(484) examples(29106)
Ever have to chase down an issue running PHP with IIS?
No, I have not, but I am not inclined to run PHP on IIS either. To be honest, I am about as likely to use PHP on any platform as I am to use Visual Basic 6 to do real work. PHP is Yet Another Abomination That Should Be Banned :-)
I have friends who swear by Notepad++, for some reason I have never grown to like it. I think it is the simplicity of code + F5 + debug. VS2010 has a very, very capable debugger. I have not seen its like in any environment, but I have heard people say there are better debuggers for Smalltalk. I have so far not had to opportunity to work with Smalltalk.
My list of preferred web application development environments in order of preference:
Things I have worked with that comes in the Abomination category - in no particular order.