Reasons for caring: Microsoft & OSS
In the ALT.Net mailing list, we are having a discussion about the CAB and OB. Part of this discussion include this dialog between me and Brad Wilson.
Brad: If you're simply angry because we had the audacity to make our own object factory with DI, then I can't help you; the fact that P&P did ObjectBuilder does not invalidate any other object factory and/or DI container.
Ayende: No, it doesn't. But it is a waste of time and effort.
Brad: In all seriousness: why should you care if I waste my time?
That question prompt this post, because I have so many reasons to car.
If Brad was a private person, I wouldn't care.
But, when Bard is doing this for something that is going to be released with a "Microsoft" in its name, I care quite a bit.
- I care because it means that people are going to get a product that is a duplication of work already done elsewhere, usually with less maturity and flexibility.
- I care because people are choosing Microsoft blindly, and that puts MS in a position of considerable responsibility.
- I care because I see this as continued rejection of the community efforts and hard work.
- I care because it, frankly, shows contempt to anything except what is coming from Microsoft.
- I care because it so often ends up causing me grief.
- I care because it is doing disservice to the community.
Comments
Great points. I've mentioned to my co-hosts on Free Software Round Table radio show that we might want to discuss this. I'm pushing for this as a discussion topic, because I always feel like we don't represent Microsoft-related projects well on the show, even though we've always intended the show to be fair to all.
I agree 100%, especially on points # 2 and # 3. It's disappointing that well developed community contributions are "re-done" and pushed away by Microsoft. Since Microsoft is often late to the game on these developments, we often adopt the community solutions out of necessity. Once firmly in place, then Microsoft releases their own version, and yet another migration begins (since our clients/customers/etc eventually push to do things the "standard" way)...
NUnit is just one of many good/great examples...
Ideally, I would like to see Microsoft work with the community to integrate these solutions rather than rewrite them completely, but I imagine that's "too risky" or time consuming for them.... No wonder the development community gets so frustrated with them.
Why o Why and Why o Why - The Day After
I agree.
It's no excuse to say "why should you care if I waste my time?". There are more arguments underground, for sure, which Brad does not want to tell in the public.
Ayende - you are right..
Unfortunately, similar comments appeared when MS decided to create a new language - C# and a new framework - .NET - many programmers said: why reinvent the wheel instead of supporting Java (which was seen as a community-supported project, even if it wasn't entirely so back then...)
I agree but I also think that P&P using one of the existing OSS solutions would have issues too. As long as they make it easy to plug out the ObjectBuilder so you can put in something else I don't mind.
I think you should simply realize that Microsoft is a competitor of the OSS community and not a service provider to that community. Microsoft's objective (and rightfully so) is to provide its clients with a comprehensive solution and push out everything that is not Microsoft - as long as it is cost effective.
So I don't think there is any reason to get angry, it's just business... :-)
The true disservice to the community is this:
Go the the ObjectBuilder site on Codeplex
Click on documentation and see:
Under construction...
Last edited Jul 16 2006 at 11:03 PM by BradWilson, version 1
At least when I go to check out the Windsor documentation, the page actually exists.
Has anyone challenged Microsoft to start a discussion with the OSS community about how to integrate OSS stuff with .NET and have MS provide, say, IDE support, or whatever kind of support is desired. This could be construed as providing complementary goods ( http://en.wikipedia.org/wiki/Complementary_good ), and therefore a good business decision.
I, unlike many... certain OSS fanatics, understand that things aren't perfectly simple with such matters. However, that is no excuse for them to not try and solve the situation! Am I missing something?
I posted that question to the alt.net mailing list
I don't know guys, I think that if Microsoft came in and wanted to work with the open source community as a partner, the battle cry would be that Microsoft was "stealing" or "taking over" this project or that one. It has to be remembered that there is an incredible amount of developer entreprenurism going on at MS, and that these guys are developers, just like us, working within the constraints of their domain.
To Luke, the VS platform is completely extendable, and any OSS project can, at it's option, integrate itself with the environment, and/or extent the .Net framework to suit it's needs.
One thing that Microsoft has going for it is the shear volume of talent that backs it's software. We recently decided to add nHibernate to our new codebase, I have been developing MS code for over 10 years, and it took me about a week to get some sample data in and out of a database, via a web page using nHibernate, and the hbm files, and the session logic.....it was a pain in the ass, and I worried about the learning curve for my team without alot of good info out there on the web that an idiot such as myself could digest.
In contrast, VS2008 with Linq to SQL support came out just a week or so ago, I had a TON of detailed articles and screencasts to view, and quite frankly, it's pretty damned easy to get up and running on it with all the design time support and whatnot. Now, Linq to Entities is what I really need, but the experience of using one vs the other O/R mapper was literally night and day.
At the end of the day, am I going to go with the pain in the ass, or the dead simple, out of the box solution? nHibernate is our current O/R mapper, we are sticking with it for now, and if the developer tools that simplify my life come out before Linq to Entities hits the street, I'll stick with it beyond that event as well, but if not, I'm going with whatever makes my life easier, has the support I need, has the developer adoption I need for my staffing, and is easiest to get noobs up and running with.
No, it won't. At least not on any of the major projects.
We are eager to collaborate with MS.
For a given value of extendable. It is complex, it is COM, it is annoying, it is arcane, and it is bloody hard.
Not even close for sufficient ROI.
I am sorry to hear that.
Did you want the DNR TV that I had about NHibernate? Did you install Active Writer or NHhibernateAddin?
Did you spike on a sample project first?
NHibernate can be hard to start with, but a week seems too much.
In addition to that, please feel free to put a bug in the JIRA, detailing the problems that you had with getting started.
We are always interested in getting things smoother
For those who would like a URL:
http://tech.groups.yahoo.com/group/altnetconf/messages/5489?threaded=1&m=e&var=1&tidx=1
Despite the astounding amount of money at Microsoft's disposal, Microsoft's boasting or public perception that Microsoft employs the best and the brightest, I'm ceaselessly amazed at how deficient Microsoft software is. The best thing about Microsoft software isn't the software per se, but documentation. By the same token, the worst things about OSS, at least OSS I've dealt with, are documentation and, perhaps, support.
OSS fans may rejoice. Microsoft probably won't be a software factory in ten or so years. It aspires to be an advertising company, entertainment provider or some such. Behind the scenes, Microsoft has been pouring a lot more money into these ventures over the last two years than into software products.
OK, not like a solid 40 hr week, but about 15 hrs of stolen time across the span of a week.
Installed the NHibernateAddin after reading your comment, the readme file is blank, which kinda goes back to what I was saying about the Microsoft stuff being better documented, but again, it's anicdotal evidence of my point. Also, finding it on Google was a bit of a pain, the string "NHhibernateAddin" in google returns nothing.
Active Writer looks like it's got a bit better documentation. How are these tools going to behave with a project that is already underway? Which one is better? I know that's a loaded question, but they look like they do what I am seeing the Linq tools doing, and that's encouraging.
The details on my troubles getting started? It was about a month ago, so specifics are hazey at best, I just remember alot of frustration, and wanting it to work, but questioning if it was something that I really wanted to bring down on my development team.
Not even close for sufficient ROI.
If you want people to adopt something, anything you can do to make it easier is sufficient for ROI justification.
And don't get me wrong, I'm not trying to be combative, just saying that people are lazy by nature, and will go tword the path of least resistance without fail.
Delete the 'h', case sensitive.
It seems everyone is missing the obvious - when I redistribute my products using MS technology, I'm not obligated to reveal their source code.
If I make my living off proprietary redistributed products that rely on OSS, then I'd be obligated to open source my code depending on the licenses, which defeats the whole purpose of proprietary.
Sticking with MS technology and services provides them a legal cushion, and while many may believe that proprietary code is the devil, it's not our place to tell people how they should be running their businesses.
So if they can't legally use OSS without bending to rules that may harm their business, what is their option? Rewrite it? Or work with what MS gives 'em?
Tom,
Can you make the distinction between OSS and GPL?
Off hand, I cannot think of a single big OSS framework in the .NET land that would require you to redistribute your code under OSS license.
You're right - after looking through most of the projects I use they are primarily apache, bsd, other non-restrictive licenses. This is the point where I shall place foot in my mouth.
I totally disagree, you're off your rocker here.
Developers need choices and options and what's wrong with having another option? Developers are like my kids and eventually you've got to trust them to make their own choices to the best of their knowledge. They then need to learn and be held accountable for those decisions. That's how they continue to learn, by making mistakes and moving on. Sure, they'll pick specific frameworks and tools for certain projects and other frameworks and tools for other projects. What's wrong with that? That's the pragmatic spirit, which is what ALT.Net is all about. You're taking this way to personal. If you don't like what P&P is doing, build your own and build it better and let the community decide. There's a reason why SVN has as much adoption as it does, and there's a reason why CodePlex changed to be able to support SVN and not just TFS.
Seriously, right now you're sounding like the script kiddies I grew up with back when I was doing mod_perl and .NET was first announced.
Comment preview