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 Jul 09, 2007 12:38 PM
When .NET was first released Microsoft also released a subset of the .NET framework as Shared Source in the form of Rotor. Rumor is that the 2.0 version of Rotor will also be the last version of the .NET CLI released as source code to the developer community. Since that time, Microsoft has put in place an agreement with Novell and the Mono Project which allows for development of Mono to continue. Mono provides an open source version of the .NET framework and a runtime that is cross-platform compatible allowing for .NET applications to run on U/Linux and OS X as well as Windows.Why am I focusing on .NET open source projects? In short, because open source projects are treated as second-class citizens in the Microsoft ecosystem. Many highly popular open source projects have contributed so much to the .NET community, and they've gotten virtually no support at all from Microsoft in return. I'd like to see that change. In fact, I'll go even further-- I think it must change if Microsoft wants to survive as a vendor of development tools.However, some feel Open Source cannot take hold in the .NET community due to the business model used by Microsoft and similar ISVs. Frans Bouma relates:
Open source doesn't need money to become solid, it needs attention. Just throwing money at open source is what MS is doing for years and it hasn't payed off. The reason for that is that the mentality of the average developer on MS platforms is that you simply pay for controls, libraries and tools and if you work on these products, you get payed.Ted Dennison points out another issue when developing on the .NET platform and working on an Open Source project:
THAT is what is lacking in the MS' ecosystem for open source. You can throw money at it, but that mentality won't change. One of the core reasons it won't change is because MS won't let it be changed: if it does change, their days are numbered.
First off, are all the various .NET's licenses one has to agree to in order to work under the system GPL compatible? Microsoft has been known to craft EULAs with the specific purpose of making them GPL-incompatible. I'm guessing there's some way to do it, as a gcc-based Ada compiler has been ported (http://www.usafa.af.mil/df/dfcs/bios/mcc_html/a_sharp.cfm ). However, a quick search online indicates that the license associated with the Ajax controls, among others, is incompatible. According to http://en.wikipedia.org/wiki/List_of_software_licenses , the Ms-PL, Ms-CL, Ms-LPL, and Ms-LCL are all incompatible. I have to read every EULA very carefully to be sure I'm legal.Phil Haack takes an interesting point of view in relation to using a proprietary stack to build an open source application:
I have the vacation view of Open Source. While I would love to be on vacation all the time, I’m pragmatic and I’ll take as much as I can get. Some vacation is better than no vacation.Regardless of the definition of anathema one adheres to, Greek or Hebrew, if the past year is proof, the philosophies of Open Source are taking hold in the .NET community.
All great projects and products, all Free and open source. Yet I think people find it disheartening when Microsoft (who are still the keepers of .Net) basically pretend they don't exist, and go and create their own proprietary alternatives. The people who invested time developing or even learning those tools feel cheated in some ways (because for many people, they will just default to using what comes in VS - just like IE is the dominant browser just because its the default for most PCs sold). I think its a crying shame (I would love to be proven wrong), but its my take, and the reason why I stopped some time ago looking at .Net at all in my (increasingly rare) spare time.
I couldn't put this in the original post, but recall back in '97 when the Java Spec was owned by Sun. We all used the Blackdown version of Java for development on Linux, then ran the Sun JVM in production on Solaris. Then JSP came along and we all ran servlets or GNUJSP until Struts came along. Open source projects on Java were scarce back then. The timing is not much different with .NET. However, one would hope the powers that be would understand and learn from others lessons, especially when it comes to Open Source.
Now _that_ is an interesting line of thought. If I get this right, Sun was more obsessive about owning and controlling Java when they actually made money from it, either from licensing Java itself or from selling their platform. As Java became ubiquitous, thus reducing the need to rely on Sun's platform; and as the community became so strong that OSS libraries competing with Sun's became de-facto standards, Sun felt more comfortable opening up, even to the point of going OSS. Was that so, and could history repeat itself for .NET?
I was just curious what the .NET Queue is?
John, InfoQ is broken up into communities or "queues". InfoQ = Information Queue, hence the name. In this manner you can personalize the site to only see content from the communities or queues you sign up for. The left sidebar contains a box labled "Communities" where you can do this customization.
I think Mats Helander has an interesting take on this in a blog post called Is MS the apple of application development
Ahh I see thanks. That's a fairly propriety use of the word "queue" eh? The implementation is nice though. At first I had only a few queues checked off. But after appreciating the lack of fanboyism in the writing at InfoQ, I went ahead and turned on Ruby and Java, even though I don't actually use those technologies.
John, Thanks for the endorsement of the InfoQ editorial style, the more vocal our readership is, the better the editors can make the site.
Just adding NDoc to this list, where I would think that Microsoft has also a role to play in the fact that the developer basically could not be asked anymore to maintain that project. It is quite a shame that Nant has not been recognized and Microsoft actually wants to force us to use MSBuild. It is my sincere hope that Microsoft will shift its attitude somewehat such that I don't feel bad using Nant. To any Nant contributors out there: Thanks for the great job! Same goes to NUnit!
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.
9 comments
Watch Thread Reply