Bindings, Platforms, and Innovation
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
Tracking change and innovation in the enterprise software development community
Posted by James Vastbinder on Oct 03, 2007 09:05 AM
Back in 2000, rapper Eminem released a parody song titled, "The Real Slim Shady". At the time it was meant to be a parody of manufactured pop songs that were prevalent in the pop music world. The irony was that most listeners and fans missed the song's true intent and heralded its novelty. Today, Scott Guthrie announced with the release of .NET 3.5 and Visual Studio 2008 Microsoft will release the .NET Framework source code under the Microsoft Reference License.
In Scott Guthrie's own words:
We'll begin by offering the source code (with source file comments included) for the .NET Base Class Libraries (System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text, etc), ADO.NET (System.Data), ASP.NET (System.Web), Windows Forms (System.Windows.Forms), and WPF (System.Windows). We'll then be adding more packages next year.
Developers will be able to download the source libraries as a standalone install or can have Visual Studio 2008 download the libraries dynamically as needed. An advantage to using the dynamic download will allow Visual Studio to match source files with the particular version of the .NET library a developer has installed on their machine.
On the reasoning behind this move Scott elaborates:
Having source code access and debugger integration of the .NET Framework libraries is going to be really valuable for .NET developers. Being able to step through and review the source should provide much better insight into how the .NET Framework libraries are implemented, and in turn enable developers to build better applications and make even better use of them.
In a recent eWeek article, Peter Galli postulates that Open Source is the largest disrupter the software industry has ever seen. To base his opinion he begins by quoting large numbers from Gartner.
How will this happen? He goes on to quote Gartner's Laurie Wurster:
Open-source software is going to erode proprietary sales revenue by offering less-expensive or free alternatives, expanding the total market potential by meeting the demands of SMBs for affordable solutions, and creating a new business model for established and emerging service providers to provide selection, customization and management services for open-source solutions
How will the .NET and Open Source communities respond to Microsoft's announcement? Is this an evolutionary step or a revolutionary act within the Software Industry?
I'm very glad to see Microsoft providing the source code .. I found .NET (i.e. C# development) to be very painful without having the sources for the platform. This won't pacify "free software" supporters, but it will definitely help developers working on .NET. Kudos. Peace, Cameron Purdy Oracle Coherence: Data Grid for Java and .NET
Having the source code really does help with debugging. Not having them is a pain. glad to see MS move in a positive direction.
MM... Evolutionary I think, but good news nonetheless. As far as I can see, the reference license is not really "giving" anything away -- the libraries are now simply a white box instead of a black box. Nobody is going to be surprised at how an InputStream or List is implemented I think. The real value is in their VM implementation (which is not open I think).
From the open source community in Java, we have come to know the openess of the sources to also make it possible for users to discover and fix bugs ourselves. I am wondering: 1) Will we be able to build the libraries from the released sources (with own fixes/workarounds)? 2) Will M$ be accepting input in a structured manner and fix bugs, the users discover and fix?
Well, open source means you can easily access a .tar or .zip of the code. Microsoft's effort is a bit more cumbersome. Is .NET open source now? I wouldn't call it that quite yet. This is the first step on a much longer journey. I posted a detailed opinion here for any one interested: http://www.whurley.com/blog/2007/10/opennet-microso.html -whurley http://whurley.com
No, of course it's not really "open source". The reference license makes that clear. It's "white box" instead of "black box" - but it's still in a box. You can only view the code, not change it. If you can't change it, why would you need a way to build it? :) (Rhetorical question) Is being able to see the code behind glass better than not being able to see it at all?
Is being able to see the code behind glass better than not being able to see it at all?
Yes. :-)
Peace,
Cameron Purdy
Oracle Coherence: Data Grid for Java and .NET
There goes Reflector.... Peace (indeed!) Brian
Yes, yes!
I remember loving Delphi having full source code and finding it essential to understand how to extend components (GUI mainly) and lament the limitations of the data controls, etc.
Firstly, the white box will be especially useful for vendors of third party controls and libraries. (There is a danger that you might end up relying on implementation artifacts you discover by inspecting the code, but which change in the future.)
Secondly, the white box will help developers learning class libraries and picking up coding ideas too.
Curious about what the reference license fully entails regarding seeing how some code works and then adapting it (if only partially) for your own use...
Is being able to see the code behind glass better than not being able to see it at all?
Yes. :-)
Peace,
Cameron Purdy
No way! Its browsing and xref-capabilities are way beyond Visual Studio. Plus, there will always be stuff without source. What we really need is a version of Reflector that can access the source codes where they are available, and integrate them with its superior metadata browser.
I agree about the Reflector comment. .NET libraries never have really been black box for those who searched a bit. Reflector is showing implementations since .NET 1.0. What is great with this anouncement is that we won't have to guess what is the use of variable named number1. Also, having comments may surely help to get new ideas!
HA... May be one day, MS would, BUT not this time .Claiming Source DOES NOT mean Open Source. If MS OPEN his source, you still call him "MicroSoft"? NO, MS stands for commercial software!
HA... May be one day, MS would, BUT not this time .Claiming Source DOES NOT mean Open Source. If MS OPEN his source, you still call him "MicroSoft"? NO, MS stands for commercial software!
What are you talking about? They really did open source. .Net source was open since Reflector, now it's just officially open for curious people.
You can see whole source code of .Net, nothing is hided from you. You can actually observe how .Net source code talks to winAPI !! It's not deep enought for you? What else do you want?
Ofcause you can't just take and recompile .Net framework, but what would you need it for? It wouldn't be reusable after that, since you would need to distribute it to any computer you are going to use it on.
No doubt Microsoft does want to keep their products under full control, but so what??? They do it not just for money, it's more for monopoly, you know :). .Net starts being world standard, if already isn't. Don't you think it's nice to know that .Net will not just disappear or nether will slightly changed after few years, and you will not waste your time learning it?
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.
This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.
This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.
This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.
After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.
IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.
Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.
13 comments
Watch Thread Reply