Microsoft's New Running Shoes

microsoft aspnet oss 28 comments suggest edit

When Ballmer famously said, “Linux is a cancer that attaches itself in an intellectual property sense to everything it touches,” it was fair to characterize Microsoft’s approach to open source as hostile. But over time, forces within Microsoft pushed to change this attitude. Many groups inside of Microsoft continue to see the customer and business value in fostering, rather than fighting, OSS.

Under the leadership of Scott Guthrie, the ASP.NET and Azure teams were trailblazers in this area. They were not the only trailblazers, but they were influential ones. Disclaimer, I’m a former employee of these teams so I am totally objective and devoid of any bias whatsoever.

While change carved its glacial path, its pace angered some who wanted to see more movement. The prevailing metaphor that folks like Scott Hanselman and I would use was this idea of “baby steps”.

Here’s a snippet from a post Scott wrote five years ago when we first released ASP.NET MVC 1.0 under a permissive open source license:

These are all baby steps, but more and more folks at The Company are starting to “get it.” We won’t rest until we’ve changed the way we do business.

Here’s my use of the phrase in my notes about the release a year prior.

As I mentioned before, routing is not actually a feature of MVC which is why it is not included. It will be part of the .NET Framework and thus its source will eventually be available much like the rest of the .NET Framework source. It’d be nice to include it in CodePlex, but as I like to say, baby steps.

The point we tried to impress on people is that changes in momentum of a massive object (and a 90,000 person company is quite large) takes a lot of small forces that over time sum up to a big force.

However, Microsoft’s recent remarkable announcements around the next generation of ASP.NET this week have made it clear that they’ve dispensed with the baby steps and have put on their running shoes.

David Fowler’s summarizes some of the interesting changes in the next generation of ASP.NET which I’ve summarized even further:

  • ASP.NET vNext builds on NuGet as unit of reference instead of assemblies.
  • Roslyn-based runtime hackable compilation model.
  • Dependency Injection from the ground up.
  • No Strong-Naming! (See this discussion for the headache strong-naming has been)

But most exciting to me is that all of this is open source, accepts contributions, and hosted on GitHub. This isn’t a project that just targets .NET developer. This is a project that wants all web developers to take it seriously.

In other areas of Microsoft they released Microsoft Office for the iPad and made Windows free for small devices. It’s definitely a new Microsoft.

How did this come about?

Well breathless headlines would have you believe that Satya Nadella singlehandedly built a new Microsoft in his first three months. It makes for a good story, but it’s clearly wrong. It’s lazy thinking.

Look at this contribution graph for Project K’s Runtime.

Project KRuntime commit

The initial commit was on November 7, 2013. Satya become CEO on February 4, 2014. Now I’m no math major (oh wait! I was a math major!), but I’m pretty sure February 2014 comes after November 2013. It’s apparent this had been underway for a long time before Satya became CEO.

To be clear, I don’t want to take anything away from Satya’s importance to the new Microsoft. While this effort didn’t start under him, he does create the right climate within Microsoft for this effort to thrive. His leadership and vision sets these new efforts up for success and that’s a big deal. The appointment of Satya makes Microsoft a force to be reckoned with again.

But efforts like this started in a more grass roots fashion, albeit with the support of big hitters like the Gu. In a large part, the focus on the Azure business paved the way for this to happen.

Azure provides an environment that is not limited to hosting .NET web applications. Azure makes money whether you host ASP.NET, NodeJs, or whatever. This is analogous to how the release of Office for iPad is a sign that Office will no longer help prop up Windows. Windows must live or die on its own merits.

In the same way, ASP.NET must compete on its own merits and to do so requires drastic changes.

In a follow-up post I’d love to delve a little more into the history of the ASP.NET changes and my thoughts on what this means for existing customers and backwards compatibility. If you find this sort of analysis interesting, let me know in the comments. Otherwise I’ll go back to blogging about fart jokes and obscure code samples or something.

Found a typo or error? Suggest an edit! If accepted, your contribution is listed automatically here.



28 responses

  1. Avatar for William Ockham
    William Ockham May 19th, 2014

    Personally, I saw Nadella's promotion as the "There's no going back" moment. Putting him in charge was a commitment that the suits could understand.
    And yes, I enjoy reading these types of posts.

  2. Avatar for Sanat Gersappa
    Sanat Gersappa May 19th, 2014

    Yes, it is exciting. Waiting to play with it once it's a little more stable.

  3. Avatar for briandukes
    briandukes May 19th, 2014

    Definitely would love more voices talking about existing customers and backwards compatibility. Love the insights that you can provide, Phil.

  4. Avatar for Joel Marshall
    Joel Marshall May 19th, 2014

    I'd love to hear more about the history of ASP.NET. Should make for an interesting read. Just be sure to mix in the occasional fart joke.

  5. Avatar for Petar Repac
    Petar Repac May 19th, 2014

    Yes, the backward compatibility issue is an interesting one. I have the feeling that some breaking changes (and not minor ones) will be necessary.

    But, I think/hope the community will not be bothered too much is some things break if in return we get a new and improved ASP.NET architecture/API with some old issues solved and some old baggage is thrown away.

  6. Avatar for Gene Reddick
    Gene Reddick May 19th, 2014

    Must we choose? Can't you find a way to combine topics?

  7. Avatar for James
    James May 19th, 2014

    i'd listen to more history of ASP.NET changes, it sounds interesting to me :)

  8. Avatar for Jeff P.
    Jeff P. May 19th, 2014

    I'm very interested in the topic after spending two years in Redmond. I enjoyed the little bits of contact I had with you and Brad around MVC back in the day, and you should be proud to have helped plant some of these seeds. Maybe I would still be there if things moved faster... it's hard to say. I did have a meeting once with Satya in the room, and I was blown away by him. Really smart guy. I was relieved when they gave him the CEO gig.

  9. Avatar for Michael Manning
    Michael Manning May 19th, 2014

    Please continue down this path because context is key when things change as rapidly and significantly as they are. I am confident you are more than capable of eloquently folding in a fart joke to keep things light.

  10. Avatar for David Driscoll
    David Driscoll May 19th, 2014

    I would love to hear more about your thoughts on the changes, I looked at them briefly, and I think that they are a leaps and bounds more advanced than what is there currently. There are certianly areas in ASP.NET that I've abused in the past such as VirutalPathProviders, and copious amounts of IHttpContext, but those will all have replacements in some shape or form.

  11. Avatar for Bertrand Le Roy
    Bertrand Le Roy May 19th, 2014

    All this is great of course, but I think a next step for the team could be to consistently make substantial contributions to external projects that they didn't start...

  12. Avatar for Minnesota Steve
    Minnesota Steve May 19th, 2014

    Nothing ever happens overnight. Ballmer had really created so much ill will in the industry, that even if things had changed nobody would have acknowledged it. Nadella's promotion to CEO provides an opportunity for people to recognize change has happened.

  13. Avatar for Gabriel Nepomuceno
    Gabriel Nepomuceno May 19th, 2014

    I just LOVED this post please make some more!

  14. Avatar for Jerrie Pelser
    Jerrie Pelser May 19th, 2014

    I'd love to hear more, please :)

  15. Avatar for Ricardo Oneda
    Ricardo Oneda May 19th, 2014

    It's very interesting! Please, continue!

  16. Avatar for $11808537
    $11808537 May 20th, 2014

    Yes! More this.

  17. Avatar for Lex Li
    Lex Li May 20th, 2014

    The ASP.NET history is very important, as reviewing how WebForms was designed, and why MVC was introduced, and why WCF Web API becomes ASP.NET Web API, and why finally we have MVC/Web API unified to a single model can significantly reveal the evolution of the Microsoft web stack. In the past, such information is fragmented and hidden behind the lines of articles such as and That frightens developers who do not follow the trend as closely as the pioneers. The more everyone knows of the evolution and history, the better they know at which stage their projects are, and in which direction they should move on. Looking forward to your next post.

  18. Avatar for beton
    beton May 20th, 2014

    Great read.
    Keep them coming Phil :)

  19. Avatar for john nystrom
    john nystrom May 20th, 2014

    I could not agree more with this post. I think Satya is the perfect person for the job, but to think he has done all of this in his short time as CEO is a bit crazy....there are only 24 hours in a day! :)

  20. Avatar for Sunil Ravulapalli
    Sunil Ravulapalli May 20th, 2014

    History please!

  21. Avatar for Orry Rotem
    Orry Rotem May 21st, 2014

    Fart jokes.. definitely!!! ... Oh, stop looking at me y'all.. perhaps I'm on the wrong blog...

  22. Avatar for Oisín G.
    Oisín G. May 21st, 2014

    Phil, I'd love to hear more. I think many people would. Spit it out!

  23. Avatar for Voicu Matei
    Voicu Matei May 23rd, 2014

    Love it! keept it coming :)

  24. Avatar for Christopher Klingsäter
    Christopher Klingsäter May 23rd, 2014

    Write out your thoughts should you! Too little haacking today there is.

  25. Avatar for _Rolandocr_
    _Rolandocr_ May 23rd, 2014

    Great reading! ASP.NET history would be nice !

  26. Avatar for Martin
    Martin May 28th, 2014

    Very interesting!

  27. Avatar for Robson Ramos
    Robson Ramos May 31st, 2014

    Interesting! We want more :P

  28. Avatar for Harry McIntyre
    Harry McIntyre June 4th, 2014

    I have a few of those that could use a helping hand.