Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?

Microsoft Releases Source of .NET Base Classes 110

Disgruntled Fungus writes "A few months ago, we discussed Microsoft's intention to open source the .NET libraries. According to a developer's official blog, the source code is now available. The source to libraries such as System, IO, Windows.Forms, etc. can now be viewed and used for debugging purposes from within Visual Studio. Instructions for doing so have also been provided. The source code has been released with a read-only license and 'does not apply to users developing software for a non-Windows platform that has "the same or substantially the same features or functionality" as the .NET Framework.'"
This discussion has been archived. No new comments can be posted.

Microsoft Releases Source of .NET Base Classes

Comments Filter:
  • by k-zed ( 92087 ) on Friday January 18, 2008 @05:08AM (#22090818) Homepage Journal
    Microsoft has just begun killing Mono.

    (Think "oh, that implementation really looks like ours! you must have read it! here's a lawsuit for you")
  • NOT open source (Score:5, Insightful)

    by LarsWestergren ( 9033 ) on Friday January 18, 2008 @05:13AM (#22090844) Homepage Journal
    A few months ago, we discussed Microsoft's intention to open source the .NET libraries.

    Yes, and as one of the first posters pointed out [], unlike Java [] for instance, this is NOT being published under an open source licence, Microsoft even says so. So why do you keep using the term?
  • by apathy maybe ( 922212 ) on Friday January 18, 2008 @05:25AM (#22090878) Homepage Journal
    You have one person read the source, document it and put the documentation online somewhere.

    You have second person read documentation and re-write functionality of code.

    ReactOS does this exact same thing to re-implement the Win32 API, except that they have to 'break' the executable files. (My memory is shot, I can't remember the term for this, or the process as a whole...)

    So long as the documentation does not contain source, merely what each function does, and so long as there is no obvious link between the two persons, there should be no problem.
  • by mrpacmanjel ( 38218 ) on Friday January 18, 2008 @06:36AM (#22091066)
    You can only *look* at the code and you cannot re-distribute the libraries not to mention the legal aspects (specifically mono).

    This is probably only useful from an *educational* point-of-view and when you think about it, there is so much publically available code out there already how much more will you learn from the .net sources anyway (I'm sure someone here will prove me wrong).

    I thought one of the major benefits of OOP was code abstraction - in theory there should not be a need to see the implementation.

    In fact too much knowledge could be a 'bad thing'(tm) you may start relying on *how* something is implemented - if the implementation changes your code *may* break.

    As for the mono project I believe only the implementation of libraries is the issue. The vm and c# are a public standard and 'patent free?'- maybe mono should diverse in a seperate direction rather trying to catchup with Microsoft (considering how .net 3.5 has bloated because of the vista specific libraries have been added, and yet another series of APIs being included - typical Microsoft).

    The major benefit of mono for me is that I can use Microsoft's .net at work, at home I can use mono on Linux and my .net coding experience is relevant to both platforms.

  • by nguy ( 1207026 ) on Friday January 18, 2008 @06:45AM (#22091122)
    All things being equal, it's better if companies don't publish their proprietary source code under restrictive licenses.

    However, don't be overly dramatic. This sort of thing isn't new and open source projects know how to cope with it. Microsoft would have a hard time making any claim actually stick, unless there was blatant infringement. Furthermore, the Mono project can now also simply have some independent third party regularly check their code against Microsoft's to make sure nothing sneaks in.
  • Re:NOT open source (Score:3, Insightful)

    by Dr_Barnowl ( 709838 ) on Friday January 18, 2008 @06:47AM (#22091138)
    The license is the "Microsoft Reference License", their "look, but don't touch, and refrain from competing" license. They've loosened it a little - you are now allowed to use the licensed material to develop software that has "the same or substantially the same features or functionality" as the .NET Framework ; as long as it's still on Windows.

    Very obviously a "back off!" clause for Mono and dotgnu.

    Previously, people referred to the source by using Reflector ; this of course, doesn't quite produce the same output as the original. My guess is that MS are more comfortable letting people see the original source than disassembling it - if people have seen the "real source", they are more vulnerable to accusations of copyright infringement.

    Plus it means their IDE gains some of the advantages which Java IDEs have enjoyed for some time, at hardly any nasal skin cost to MS because people were looking at "the source" anyway.

    Because the source is only cached within the VS session and has to be reloaded each session, and because it comes from an MS server, they maintain control, and keep tabs on who is looking. I bet their webmaster has a comprehensive list of all IP addresses suspected to be OSS sympathizers....
  • by CowboyBob500 ( 580695 ) on Friday January 18, 2008 @07:58AM (#22091476) Homepage

    Microsoft has just begun killing Mono.

    I doubt it as the line I suspect you're referring to, "the same or substantially the same features or functionality" as the .NET Framework.'", could equally apply to Java.

  • by PhilHibbs ( 4537 ) <> on Friday January 18, 2008 @08:40AM (#22091698) Homepage Journal
    They clearly are developing software for the Windows platform. They can't use the source, but they can take a look and work out what the behaviour of the libraries will be in various corner cases so as to make sure that their libraries are compatible. In a closed environment, if I had access to source like this, I'd try to keep code writers away from it anyway, and only let the testing team read it in order to make test cases that check out all the corners. In an open source environment, however, I guess it's hard to make sure that contributors aren't reading and copying the source. Shouldn't be too hard to spot any copying though.
  • by coolGuyZak ( 844482 ) on Friday January 18, 2008 @09:29AM (#22091994)

    You have to manually tell it to load symbols for each file.

    Give them some credit here. You only have to tell VS to load files outside the current call stack.

    That said, I agree that this sucks. Needing to purchase VS 2008 and debug my code to see theirs is annoying to say the least. I was hoping to download the source and analyze Windows.Forms.Controls, System.Data.DataViewManager, and various implementations of the IBindable interface... Things that plague my understanding of the ".Net Maze" to this day.

    Thanks, MS. Thanks for, once again, shitting in my cereal.

  • by Anonymous Coward on Friday January 18, 2008 @09:38AM (#22092074)
    This release is not intended to benefit the Slashdot crowd. Of course it isn't "open source", and Microsoft never said it was. This is Microsoft assisting developers working with .NET on the Windows platform. There are a huge number of developers who fit that description. Sorry if you don't, but not everything is about you.
  • Re:NOT open source (Score:5, Insightful)

    by Coryoth ( 254751 ) on Friday January 18, 2008 @09:39AM (#22092082) Homepage Journal develop software that has "the same or substantially the same features or functionality" as the .NET Framework ; as long as it's still on Windows...Very obviously a "back off!" clause for Mono and dotgnu.
    Which is sad really. Only Microsoft could see such a requirement as good, and herein lies the problem of the monopoly. Ultimately .NET is a (relatively) nice programming framework and set of libraries, and were it developed by anyone but Microsoft they would welcome attempts to expand it's availability. Pretend .NET was developed by a small company that had focussed just on the Windows platform. If they were going to open source the libraries, the first thing they'd be doing is ensuring license compatability with Mono so they can expandtheir market. Hell, look at anyone other than Microsoft who do .NET stuff, like Chrome [], or the .NET compiler for Eiffel: they both put in significant work to try and make sure they work with Mono (I believe the Eiffel guys actually have active discussions with the Mono team). In any sane world this would be the thing to do, it's only in Microsoft monopoly land that these sorts of license restrictions make any sense whatsoever. Which really shows you some of the ways the MS monopoly is holding the industry back.
  • by Ash-Fox ( 726320 ) on Friday January 18, 2008 @10:36AM (#22092752) Journal

    Why not just have the developer read the .Net MSDN docs for the .Net API. It's not like anything they are doing is extremely complicated.
    Because the MSDN documents are not accurate. Many times I found the API documentation do not contain the true behavior of certain APIs. This is one of the reasons why Wine requires testing API functionality on Windows first instead of just basing it all on the MSDN documentation.

  • by clodney ( 778910 ) on Friday January 18, 2008 @11:19AM (#22093396)

    In fact, the real problem with this is that, in case of ambiguities, people will code increasingly to Microsoft's source code instead of the specification.

    Come now. One of the benefits of open source that we constantly hear is that if any question of the actual behavior of something comes up, the developer can go straight to the source. Now you are saying that this is a bad thing?

    I agree with you that developers should code to the interface as documented, but if that is the case then most open source developers should not look at the source code for the underlying packages they use.

    I think MS is doing this to make life simpler for their customers and to cut down on developer support costs. It isn't aimed at the FOSS community and has no particular impact on them either way. And contrary to what many people claim, MS developer support is really pretty good.

  • by jcgf ( 688310 ) on Friday January 18, 2008 @02:32PM (#22097378)
    If you're able to get comments from a dissassembled binary, then something is wrong. The whole point of comments is that they are ignored by the compiler. If what you say is true, then MS really screwed up.
  • by nuzak ( 959558 ) on Friday January 18, 2008 @02:55PM (#22097864) Journal
    To my bearded friends from 1998: great work making an already confusing term "Free Software" even more confusing by rebranding it "Open Source Software".. this is the result.

    And thanks to you for rigid, dogmatic, inflexibile intransigence and refusal to recognize any deviation from your True Path in a world of absolutes as anything but schism and heresy. Hey look, two can play. I recognize your nick (I've was here originally with a 4-digit UID, with a name I've discarded). I always believed you were above such coarse trolling. You make me sad.

    Microsoft never even claimed it was Open Source. Microsoft has two licenses recognized as Free by the FSF. And this sort of restrictive license existed long before RMS bequeathed the very idea of freedom into all our tabula rasa minds.

What is algebra, exactly? Is it one of those three-cornered things? -- J.M. Barrie