Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?

Open.NET — .NET Libraries Go "Open Source" 310

An anonymous reader writes "whurley just posted a blog about Microsoft's announcement To Make .NET Libraries available under a crippled 'Open Source' program using their new Microsoft Reference License. The post includes the official pr doc from Microsoft as well as several points about how this really isn't open source. One example: If a developer finds a bug in the code, rather than fixing it themselves and submitting a patch to the community they'll be encouraged to submit feedback via the product feedback center."
This discussion has been archived. No new comments can be posted.

Open.NET — .NET Libraries Go "Open Source"

Comments Filter:
  • .NET is already open (Score:5, Informative)

    by iONiUM ( 530420 ) on Wednesday October 03, 2007 @02:06PM (#20840583) Journal
    You can already see all the source of the .NET framework using Lutz Roeder's Reflection tool. I use this all the time to see how the innards of functions work when something goes screwy with .NET.

    If you're interested you can check out the free tool here: []
  • by Goaway ( 82658 ) on Wednesday October 03, 2007 @02:08PM (#20840619) Homepage
    Nowhere in Microsoft's announcement do they in any way claim that they are releasing anything as open source. But hey, don't let that stop you from attacking Microsoft for not doing something they never claimed to do nor have any obligation to do.
  • Re:Could be worse (Score:5, Informative)

    by Goaway ( 82658 ) on Wednesday October 03, 2007 @02:10PM (#20840673) Homepage
    Yes, you are right. This does not feel like "open source". You know why? Because it is not open source. Nowhere in their announcement do Microsoft claim it is open source. They even explicitly mention that it is not open source.
  • Re:Wise move by MS (Score:2, Informative)

    by thedarkstorm ( 468783 ) on Wednesday October 03, 2007 @02:26PM (#20840961)
    There is already 2 variations of the .net sdk & libraries on multiple platforms.
    1. There is the Mono framework which can host .net apps on things from Windows to the OS/390
    2. There is the Silverlight framework which can host Silverlight apps on MacOS and soon to be Linux.
  • Just like MFC (Score:5, Informative)

    by Speare ( 84249 ) on Wednesday October 03, 2007 @02:26PM (#20840963) Homepage Journal

    The original 1991 team that developed the Microsoft Foundation Classes 1.0 (to go with the first Microsoft C++ compiler, and even before the first C++ Visual Studio) was planning to go completely "closed source." It makes sense from a library point of view to close access to the implementation, and only offer the interfaces in header files. However, I was one of the folks on that team that felt that since this was the first "thin" wrapper on the C Win32 API, it was more important to show just how thin that wrapper was, and to offer visibility into the MFC implementation. It wasn't "open source" but it was "source provided as documentation." You could still build MFC on Borland's Win32-ready compiler, in fact. Since I myself was fairly experienced with Win32 but not with C++ (as was the target market), I felt this was a reasonable compromise.

    Before you throw eggs at me, let me point out that I then left that group before they invented CDocument and all the ugly MFC hell that has become associated with bloat. Before CDocument, it was essentially a reasonable alternative to STL with some HWND wrappers. Afterwards, the command-routing and OLE-managing framework turned almost any MFC app into a real rats' nest of unmaintainable spaghetti. I still wrote apps in MFC, but I have less and less stomach for it, in the rare instances I must develop Win32 at all.

  • Re:Could Be Better (Score:3, Informative)

    by LiquidCoooled ( 634315 ) on Wednesday October 03, 2007 @02:29PM (#20841005) Homepage Journal
    The biggest issues I have seen with the transition to .net are in the richtextbox, the printing model and the IDE itself.

    Try adding an RTF box onto a form and messing with a selection (for instance setting it to bold), the old method would allow the other font attributes to remain, now you change the font styling for the entire selection: bold italic font size etc.
    Without calling back to the COM interop or recursing each character on a hidden control you are screwed.

    Printing is geared towards the developer being given a piece of paper to print on and informing .net you need more, there is no flow control and you have to manage your code backwards (try a deeply nested set of for loops with conditions and pagination) which would be simple in procedural code is a nightmare here.

    It is too easy for the IDE to trip itself up and get in your way, from freezing for minutes on end to just getting things wrong (errors when reopening a form you know the code is valid for).

    The actual core language is wonderful, but there are lots still wrong with the interface and libraries.

  • by I'm Don Giovanni ( 598558 ) on Wednesday October 03, 2007 @02:57PM (#20841481)
    I was wondering how slashdot would report this story. I knew that they would give it negative spin because it's not open source, but I didn't think they would actually try to suggest that Microsoft claimed that this was open source and then bash them for not meeting that claim.

    Microsoft fully acknowledges that this code is to be released under MSRL, "Microsoft Reference Licenese", which Microsoft does not claim to be an open source license (it is not one of the Ms licenses that were submitted to OSI).

    But the code is still valuable as it eases debugging. This similar to Microsoft's providing the source code to ATL, MFC, and their CRT. Much of this code was already available under Rotor2, but now we get lots more code, including WinForms and WPF, and more will be rleased in the future.

    And it's not just code, but Microsoft including integrated debugging of .NET libs into VS 2008, including downloading the appropriate source from Microsoft's site on demand. There are other goodies as well.

    See here for detaitls: []
  • Re:Could Be Better (Score:2, Informative)

    by GeckoX ( 259575 ) on Wednesday October 03, 2007 @03:00PM (#20841545)
    Your two specific issues are well known things that changed for traditional VB developers.

    Good or bad, things are different for developers in .Net. Just because some think that making things work differently than previously doesn't mean they are broken.

    VB.Net is not VB6, despite how much work MS put into making it look the same.
  • by Anonymous Coward on Wednesday October 03, 2007 @03:03PM (#20841595)
    Ignoring the flame-bait and complete ignorance... The *reference* implementation for .Net which is remarkably similar to the production version is here: []

    It contains the C/C++ source for the CLR, CSC and C# source for the Framework that compiles on FreeBSD, Windows and OS X. There are PPC/ARM/x86/x86-64 ports in the code.

    It can and will be run anywhere. .Net is pretty damn open. Remove your heads from your asses.
  • Re:Could be worse (Score:4, Informative)

    by geeknado ( 1117395 ) on Wednesday October 03, 2007 @03:56PM (#20842395)
    Actually, they do mention the term open source(well, with a hyphen...In the context of saying "no, this is not open source". But hey, the blogger got a bunch of hits by suggesting otherwise, eh?
  • Re:"Shared" Source (Score:2, Informative)

    by I'm Don Giovanni ( 598558 ) on Wednesday October 03, 2007 @07:10PM (#20844811)
    Microsoft submitted MS-PL and MS-CL to OSI. And most observers agree that those are indeed open source licenses. The .NET code in question is being released under MS-RL, which Microsoft never claimed to be "open source", and which Microsoft has not submitted to OSI. Microsoft explicitly says regarding the .NET code release, "no, this is not open source". THe only people confused by that are guys like you, who are trying to imply that Microsoft is pretending that this is open source. It's guys like *you* that are being disingenuous and intellctually dishonest, not Microsoft.

    Nice FUD try, though.
  • by that_itch_kid ( 1155313 ) on Wednesday October 03, 2007 @07:38PM (#20845105)

    "Open source" meaning "access to the source code" is a total misconception...much like people take "free software" to mean "gratis software" when it really means "libre software".

    Try actually reading the Open Source Definition before making idiotic comments.
  • by Allador ( 537449 ) on Wednesday October 03, 2007 @11:43PM (#20847405)
    Not quite.

    The reflector re-generates source code based on the IL. But there's no guarantee that its the SAME source code. It is perfectly possible and reasonable to have two different sources compile to the same IL. Now they're not going to be drastically different, but they can be meaningfully different. But you're always going to lose some information content when compiling down to IL.

    In addition, the VS.NET debugger will grab symbols for the source code as well, which allows the debugger to link directly to the exact line in the source code so you can step through it and see meaningful variable names in your locals window and such.

    Lastly, with the reverse engineering of the reflector tool, you always lose comments, and you very easily lose the 'intent' of the software, as expressed by its original source code (which will almost certainly be different than the source code the reflector emits).
  • Re:Wise move by MS (Score:1, Informative)

    by Anonymous Coward on Thursday October 04, 2007 @07:50AM (#20849867)
    /Can you imagine Microsoft developing class libraries for ... Apple Macs? Surely the world would end.

    I don't have to imagine it, it's happening. Google for "sivlerlight mac" some time.
  • by Anonymous Coward on Thursday October 04, 2007 @08:01AM (#20849939)
    Oh I am quite sure the Mono guys were allowed to see some (if not all) .NET code way before this.

    Beside that it has been quite easy to see the .NET code via some tools for a long time. Microsoft didn't even try to prevent that with obfuscators.

Nondeterminism means never having to say you are wrong.