Microsoft: releasing source after everyone else?

Another defensive move on part of Microsoft? Protect the tools business!

So, Sun Microsystems open sourced Java.
Adobe open sourced Flex.

Now Microsoft is releasing the source of .NET. UPDATE: Krish points out that this isn’t open sourcing .NET, just releasing the source. That’s even lamer cause the other two have actually open sourced and are accepting submissions from the community.

Cool, but when you’re last to do something does it really matter anymore? This is a good move, though, and will help many of Microsoft’s developer community stay on Microsoft’s tools.

82 thoughts on “Microsoft: releasing source after everyone else?

  1. “Cool, but when you’re last to do something does it really matter anymore?”

    Coming late to the party, following someone else’s lead, has been Microsoft’s modus operandi forever and a day. It has made them rich, but irrelevant in the minds of the leaders in the industry.

  2. Robert, this post smacks of bashing straight off the bat.
    From reading Scott Gu’s blog post about this, its really a technical thing all about symbols and debugging and nothing whatsoever to do with open source. Personally, I’m happy for Microsoft to not open source .NET.
    Is any *comparable* open source framework as solid as .NET?
    (Keep up the good work ;)

  3. Robert, this post smacks of bashing straight off the bat.
    From reading Scott Gu’s blog post about this, its really a technical thing all about symbols and debugging and nothing whatsoever to do with open source. Personally, I’m happy for Microsoft to not open source .NET.
    Is any *comparable* open source framework as solid as .NET?
    (Keep up the good work ;)

  4. “Cool, but when you’re last to do something does it really matter anymore?”
    Sure does. Having the source code of an API’s internals is extremely useful for coding. I used to step into Swing apps prior to Java’s open sourcing to see why I’m not getting expected results (very often, it was a bug in Swing). I currently use Reflector quite a bit (although integration with VS.Net would make it much better). MSDN not documenting an exception? Look at the source. Wonder why an ASP.Net app isn’t working? Look at the source. Wonder what the pattern is for adding properties to a new ASP control? Look at the source to see how MS uses viewstate instead of fields.
    There’s a wealth of benefits to having source code, and a large number of them don’t matter that the code is not OSS or that another language/framework vendor releases their source code, too.
    I also put a lot of weight on them releasing with source code comments. I’m a big fan of the .Net Framework Guidelines book with its annotations to know why some things are the way they are, and allowing me to browse source code comments should help there, too

  5. “Cool, but when you’re last to do something does it really matter anymore?”
    Sure does. Having the source code of an API’s internals is extremely useful for coding. I used to step into Swing apps prior to Java’s open sourcing to see why I’m not getting expected results (very often, it was a bug in Swing). I currently use Reflector quite a bit (although integration with VS.Net would make it much better). MSDN not documenting an exception? Look at the source. Wonder why an ASP.Net app isn’t working? Look at the source. Wonder what the pattern is for adding properties to a new ASP control? Look at the source to see how MS uses viewstate instead of fields.
    There’s a wealth of benefits to having source code, and a large number of them don’t matter that the code is not OSS or that another language/framework vendor releases their source code, too.
    I also put a lot of weight on them releasing with source code comments. I’m a big fan of the .Net Framework Guidelines book with its annotations to know why some things are the way they are, and allowing me to browse source code comments should help there, too

  6. Wow, I haven’t been following your blog recently, but just today stumbled across your Zune post, and when I saw folks calling you a Microsoft-basher, I thought “Hey, lets give the guy the benefit of the doubt. He’s got his opinion of the Zune, and that’s cool. I’ve always admired Robert’s ability to publically express his honest thoughts.”

    Now, well – I see they were right. This is such an obviously good thing for developers. The buzz I’ve read so far as been overwhelming positive. For some reason, by calculation or by inclination, you’ve decided to become an irrational Microsoft-basher. Too bad, I used to like your stuff. I’ll go back to not reading you now…

  7. Wow, I haven’t been following your blog recently, but just today stumbled across your Zune post, and when I saw folks calling you a Microsoft-basher, I thought “Hey, lets give the guy the benefit of the doubt. He’s got his opinion of the Zune, and that’s cool. I’ve always admired Robert’s ability to publically express his honest thoughts.”

    Now, well – I see they were right. This is such an obviously good thing for developers. The buzz I’ve read so far as been overwhelming positive. For some reason, by calculation or by inclination, you’ve decided to become an irrational Microsoft-basher. Too bad, I used to like your stuff. I’ll go back to not reading you now…

  8. Zack

    Uhm… MFC had the source provided in just exactly the same way as this, way back before 1995 (don’t know the exact date, but it was there when I started MFC development in 1995).

    Scoble, this isn’t about “Open Source” or being a “market leader”, it’s about providing utility to the .NET developers. I’m 100% sure that the fact that Java was Open Sourced, or any other such foolishness, had any bearing at all on the decision here.

  9. Zack

    Uhm… MFC had the source provided in just exactly the same way as this, way back before 1995 (don’t know the exact date, but it was there when I started MFC development in 1995).

    Scoble, this isn’t about “Open Source” or being a “market leader”, it’s about providing utility to the .NET developers. I’m 100% sure that the fact that Java was Open Sourced, or any other such foolishness, had any bearing at all on the decision here.

  10. Really Robert,

    you must have smoked something to write such a blog post… This isn’t about open sourcing .NET – and if you would be a developer you would know that you could have seen the full source code of the BCL even before Microsoft open sourced it – Just start Reflector (Microsoft knows about that program and never did anything against it – even the dev is employed at microsoft) if you would have it on your computer. ;-)

    This is about allowing them to integrate it into Visual Studio and allow people to debug into the BCL more easily. This is a great step forward because debugging into it makes it way easier to find problems.

    Chris

  11. Really Robert,

    you must have smoked something to write such a blog post… This isn’t about open sourcing .NET – and if you would be a developer you would know that you could have seen the full source code of the BCL even before Microsoft open sourced it – Just start Reflector (Microsoft knows about that program and never did anything against it – even the dev is employed at microsoft) if you would have it on your computer. ;-)

    This is about allowing them to integrate it into Visual Studio and allow people to debug into the BCL more easily. This is a great step forward because debugging into it makes it way easier to find problems.

    Chris

  12. Wait…Last? What are you smoking, Robert? Do you know what I’d give to see Apple open up its Cocoa libraries? Do you know how much easier it would make my life as a part time Mac OS X developer? I am exceedingly happy to see that we (I work for Microsoft) are opening up the .NET FX. I know that this has been a personal quest of Shawn Burke’s for quite a while (as you linked to in your linkblog, no less). This is another great step towards transparency on the part of Microsoft.

    Aaron

  13. Wait…Last? What are you smoking, Robert? Do you know what I’d give to see Apple open up its Cocoa libraries? Do you know how much easier it would make my life as a part time Mac OS X developer? I am exceedingly happy to see that we (I work for Microsoft) are opening up the .NET FX. I know that this has been a personal quest of Shawn Burke’s for quite a while (as you linked to in your linkblog, no less). This is another great step towards transparency on the part of Microsoft.

    Aaron

  14. Do you know how BIG of a step that is? Microsoft would have laughed in your face if you would have suggested open sourcing ANYTHING 5 years ago.

  15. Scoble said “Remember Visual Basic? It was WAY AHEAD of anything else out there.”

    Again a bogus statement.

    You probably mean “ahead…on Windows”.

    Ever heard of Amiga and Atari ST ? You had amazing visual software construction kits for those computers, back in the 80s.

  16. Do you know how BIG of a step that is? Microsoft would have laughed in your face if you would have suggested open sourcing ANYTHING 5 years ago.

  17. Scoble said “Remember Visual Basic? It was WAY AHEAD of anything else out there.”

    Again a bogus statement.

    You probably mean “ahead…on Windows”.

    Ever heard of Amiga and Atari ST ? You had amazing visual software construction kits for those computers, back in the 80s.

  18. Alicia: I agree that they ended up doing what was comparatively right. No question about it. A market leader is one who leads not the one who follows. I think thatz what Scoble meant in this post.

  19. Alicia: I agree that they ended up doing what was comparatively right. No question about it. A market leader is one who leads not the one who follows. I think thatz what Scoble meant in this post.

  20. The real reason this is good news for developers is that you can actually “step into” MS’s code while building your own app. It will lend a lot of transparency and end the whole trial-by-fire method of learning the in’s and out’s of a framework. (Which happens with all of them.) Also, VS2008 will actually load the source dynamically as you are debugging…which is just really neat.

    A lot of you guys talk about this industry stuff like it will actually improve your life one way or another…I’m just so tired of everyone on the web playing the part of amateur industry pundit…are YOU (commenter’s included) actually building anything with open source technologies? If you actually have something to add to the internals of the open source JVM I would actually be interested in hearing about it…but this constant drone of marketing brinkmanship-score-card-keeping from enthusiasts WHO NEVER ACTUALLY MODIFY this freely available source is just painful.

    I build business windows apps for a living and this will make my job better and easier. I wish that this had been available since .net shipped.

    I also have to say that this whole thing about open source making the world a better place seems so naive now that I’m a little older…like that whole thing that Stallman used to say about free UNIX saving the world…most of the world probably needs more potable water, and fewer AK47′s, before they need a UNIX station.

  21. The real reason this is good news for developers is that you can actually “step into” MS’s code while building your own app. It will lend a lot of transparency and end the whole trial-by-fire method of learning the in’s and out’s of a framework. (Which happens with all of them.) Also, VS2008 will actually load the source dynamically as you are debugging…which is just really neat.

    A lot of you guys talk about this industry stuff like it will actually improve your life one way or another…I’m just so tired of everyone on the web playing the part of amateur industry pundit…are YOU (commenter’s included) actually building anything with open source technologies? If you actually have something to add to the internals of the open source JVM I would actually be interested in hearing about it…but this constant drone of marketing brinkmanship-score-card-keeping from enthusiasts WHO NEVER ACTUALLY MODIFY this freely available source is just painful.

    I build business windows apps for a living and this will make my job better and easier. I wish that this had been available since .net shipped.

    I also have to say that this whole thing about open source making the world a better place seems so naive now that I’m a little older…like that whole thing that Stallman used to say about free UNIX saving the world…most of the world probably needs more potable water, and fewer AK47′s, before they need a UNIX station.

  22. The post Robert refers to talks about making the debugger download the debug symbols. That’s cool…the kernel debugger has a cmdline option to retrieve the debug symbols for the OS.

    Reflector is AWESOME.

  23. The post Robert refers to talks about making the debugger download the debug symbols. That’s cool…the kernel debugger has a cmdline option to retrieve the debug symbols for the OS.

    Reflector is AWESOME.

  24. Seth: I just wish we had the Microsoft of the mid 1990s back again when they LED the market. Remember Visual Basic? It was WAY AHEAD of anything else out there. That’s the Microsoft that I wished we had again.

  25. Seth: I just wish we had the Microsoft of the mid 1990s back again when they LED the market. Remember Visual Basic? It was WAY AHEAD of anything else out there. That’s the Microsoft that I wished we had again.

  26. “Cool, but when you’re last to do something does it really matter anymore?”

    Thats true, but I don’t know if it’s fair to criticize them for being woefully behind, then also criticize them for being last. Certainly, I don’t want to coddle Microsoft (or any corporation), but maybe we should give credit for first steps where credit for first steps is due. But your addition also means that it’s a half-assed half-baked first step, so I could be wrong.

  27. “Cool, but when you’re last to do something does it really matter anymore?”

    Thats true, but I don’t know if it’s fair to criticize them for being woefully behind, then also criticize them for being last. Certainly, I don’t want to coddle Microsoft (or any corporation), but maybe we should give credit for first steps where credit for first steps is due. But your addition also means that it’s a half-assed half-baked first step, so I could be wrong.

  28. Have you been hanging around Slashdot too much? What is with all the MS Bashing. No matter what they do no one gives them credit. They could open up all their source, and people would still scoff saying, oh , they did it after everyone else, so it really doesnt count. Why not commend them for taking steps in the right direction instead of lambasting them over petty stuff..

  29. I’d say it definitely matter. It’s Microsoft after all. This is a nice move, although it will depend on the license to be great.

    Personally I don’t believe they will really open source .NET (as defined in http://www.opensource.org) but at least it will give developers a lot more intimate, inside knowledge on the technology.

    A lot of people are growing suspicious of these latest Microsoft moves, but I think it’s just Microsoft adapting to a new environment. They may be slow, but they’re more than able to adapt. Remember the web? They missed that train and yet, today we have IE as the dominant browser.

    Also, Microsoft has been very friendly with the Mono Project, which for me sends a very positive sign that .Net may actually be a good development alternative.

  30. Have you been hanging around Slashdot too much? What is with all the MS Bashing. No matter what they do no one gives them credit. They could open up all their source, and people would still scoff saying, oh , they did it after everyone else, so it really doesnt count. Why not commend them for taking steps in the right direction instead of lambasting them over petty stuff..

  31. I’d say it definitely matter. It’s Microsoft after all. This is a nice move, although it will depend on the license to be great.

    Personally I don’t believe they will really open source .NET (as defined in http://www.opensource.org) but at least it will give developers a lot more intimate, inside knowledge on the technology.

    A lot of people are growing suspicious of these latest Microsoft moves, but I think it’s just Microsoft adapting to a new environment. They may be slow, but they’re more than able to adapt. Remember the web? They missed that train and yet, today we have IE as the dominant browser.

    Also, Microsoft has been very friendly with the Mono Project, which for me sends a very positive sign that .Net may actually be a good development alternative.

  32. Now, that’s a little harsh, isn’t it? Does it matter anymore? Of course it does. It would matter if they insisted on not allowing any access in the face of these other moves, and it matters that they *have* done this.

    Personally, I think this is huge. This is the single biggest step toward openness I’ve seen from MS in a long time.

    I’m waiting for Miguel de Icaza to sound off on this — presumably, Mono is seeing some draft from this as well.

  33. Now, that’s a little harsh, isn’t it? Does it matter anymore? Of course it does. It would matter if they insisted on not allowing any access in the face of these other moves, and it matters that they *have* done this.

    Personally, I think this is huge. This is the single biggest step toward openness I’ve seen from MS in a long time.

    I’m waiting for Miguel de Icaza to sound off on this — presumably, Mono is seeing some draft from this as well.

  34. You don’t understand open source at all. How embarassing.

    Not only Microsoft has shipped a full .NET codebase known as “Rotor” for at least 4 years (where you get not only the framework, but also the CLR itself), this move from Microsoft is providing source code that you could already view using the Reflector tool.

    The real only positive announcement is that Microsoft is making the server debug symbols for those libraries available in a coming Visual Studio release for debugging purposes.

    Nevermind it breaks good engineering practices, where you are supposed to work on a contract basis, not on whatever value of some internal register that you will now access when debugging this stuff.

    Also, make no mistake : the core code, the CLR, is still not open. And god only knows what “Microsoft reference’s license” might mean for people out there who would embed it in their product(s).

  35. You don’t understand open source at all. How embarassing.

    Not only Microsoft has shipped a full .NET codebase known as “Rotor” for at least 4 years (where you get not only the framework, but also the CLR itself), this move from Microsoft is providing source code that you could already view using the Reflector tool.

    The real only positive announcement is that Microsoft is making the server debug symbols for those libraries available in a coming Visual Studio release for debugging purposes.

    Nevermind it breaks good engineering practices, where you are supposed to work on a contract basis, not on whatever value of some internal register that you will now access when debugging this stuff.

    Also, make no mistake : the core code, the CLR, is still not open. And god only knows what “Microsoft reference’s license” might mean for people out there who would embed it in their product(s).

  36. It is not right to say Microsoft opensourced .NET. It is technically correct to say that Microsoft is releasing their source code for .NET libraries. They didn’t release under an approved open source license.

  37. It is not right to say Microsoft opensourced .NET. It is technically correct to say that Microsoft is releasing their source code for .NET libraries. They didn’t release under an approved open source license.

Comments are closed.