Diverse.NET

Rob Conery has an  interesting piece about adopting an open source project to encourage more OSS development in the .NET space. It is something we need. But I have one slight issue to pick with Rob’s comments. The .NET community didn’t wait 7 years for MS to implement it for us. Seb went out there and wrote OpenWrap. What happened? Well it looks like outside the London .NET community folks were pretty much unaware of it it. Seb tried hard to publicize it, there is an interview about it on InfoQ back in May. We hosted a session on it at LDNUG, and JetBrains sponsored an evening with a presentation at DevCon London. But it just never seemed to get the wider-audience it needed to break out of those closed circles. Many people looked at NuProj as well. But even that project never seem to cross out of a small circle. (EDIT: And before that was Horn – thanks Paul – and even CoApp)

But MS entering the fray with nupack has practically obliterated a ‘from the community’ solution and created the 300ibs gorilla of an MS sponsored one. That may not be the ‘fault’ of MS, their intent may be entirely good, but the road to hell is often paved with good intentions. By stepping in MS may have felt it was helping the community to resolve the issue. All it did was simply remove the ability of the community to solve the issue. I understand that nupack is set up as an OSS project, but by ‘doing it for us’ they removed the community’s responsibility to solve the problem. So they have not aided the growth of community that addresses these issues. One of the hardest lessons to learn when leading or mentoring is to let others ‘do it for themselves’ even if you could do it faster and sooner. Unless you give others the chance to try (and fail) you won’t get growth and you will always be doing it yourself.

The stark reality is this – the package management issue could have been resolved without MS help through OpenWrap (or NuProj). I don’t see significant technical advantage from NuPack over OpenWrap (it might win some adoption through a UI). I don’t know NuProj well enough to comment.

That would have given the opportunity for the community to understand it could solve its problems. If MS had publicized those OSS solutions with ASP.NET MVC 3 then it would have also given enormous publicity to community efforts to solve its own problems.

I don’t, before anyone suggests that, want to denigrate the effort put in by the team working on NuPack. I just wish that it did not come with the wieght of being the MS solution to this issue.

What MS could have done was to call for folks to tell them about OSS package managers, worked with those projects to define some kind of open package standard, and then communicated to the wider development community what the standard was and who implemented it. For sure, if the community failed it might have helped to kickstart some projects with sample code, but by creating an MS solution, they pushed aside existing community efforts. I would like to think that the community gets behind the best package manager and that we chose between OpenWrap, NuPack or whatever based on what works

There does seem a lack of willingness within the .NET community to engage with a diverse ecosystem over a monoculture.In the long term this is not good for us. It does not drive the kind of innovation a successful development platform needs. A monoculture is no more positive for MS than others in this regard. I also think that the problem is sufficient that it does not only impact MS, but a lot of commercial outfits in the .NET space. I am sure there are shops that don’t use R# or CodeRush, because its not MS. There are plenty of commercial frameworks and libraries that would benefit from a widening of people’s purchasing choices. (And sure I would like a lot of tools and frameworks that are commercial to go open source and free for private use like RavenDB or NServiceBUS and licensed for commercial, because I believe it is easier to make choices around something that you can try before buying and support if the vendor fails, but diversity is diversity regardless of the model).

Somehow we need to encourage more diversity in the .NET space, in tools, languages, people. I understand that it’s a big challenge. We need IronRuby and IronPython on the platform for that diversity. We need folks to understand that they could look  Boo too. We need folks to understand there is not just ASP.NET MVC but OpenRasta, Monorail, and FubuMVC. We need folks to know not just about Entity Framework and LINQ-To-SQL, but also NHibernate, Subsonic, or even XPO. It’s not about favoritism but creating an ecosystem in which different solutions can compete.

If Alt.Net was yesterday’s war cry maybe Diverse.NET is tomorrow’s.

The tragedy is that only MS probably has the reach to the .NET community to encourage engagement with an ecosystem over a monoculture. And as MS own the monoculture, can they be convinced it lies in their best interest to support it?

 

About Ian Cooper

Ian Cooper has over 18 years of experience delivering Microsoft platform solutions in government, healthcare, and finance. During that time he has worked for the DTi, Reuters, Sungard, Misys and Beazley delivering everything from bespoke enterpise solutions to 'shrink-wrapped' products to thousands of customers. Ian is a passionate exponent of the benefits of OO and Agile. He is test-infected and contagious. When he is not writing C# code he is also the and founder of the London .NET user group. http://www.dnug.org.uk
This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • Dsgdfg

    Generally I do not post on blogs, – but I would coach purse outlet online like to say that this post really forced me to do so! really nice post.

  • Dsgdfg

    Hi. I definitely enjoyed reading your current Asics Nimbus Review writing!. Top quality information. I would have to suggest you to write

  • Terry

    I’m gonna be honest here and state that I don’t think the that Sun and Java are good culture examples to follow necessarily.
    Sun had this hippie like fascination with FOSS/OSS and giving everything away to drive business for their hardware and it failed MISERABLY. Java is stagnant, the language is flawed (e.g. Generics) and slow to change for the better. JCP anyone? The OSS projects themselves usually have very little or any documentation and if there is any it usually isn’t even accurate. I’ve seen or heard of issues like this with annoying stuff like the syntax for Mysql stored procedures. Plus Oracle doesn’t even care about the community enough to write simple easy to use software or provide solutions when the OSS solutions fall short.
    MS is pushing solutions for products it can sell and keep the company profitable. So we won’t have to worry about about total company collapse like Sun. Plus, MS recognizes the importance of a community of productive and happy developers is good for their business and their platform and they create fantastic easy to use tools to back up this philosophy. C# is light years ahead of rusty Java as a result. The documentation is accurate and complete and better yet it actually exists!!
    With that said yes MS has not been a good steward when it comes to OSS but quite frankly OSS isn’t all it’s cracked up to be either in terms of basic documentation and quality of code. So yes there is room for improvement but significant software projects have to be backed by a corporation so we should be grateful to see MS open up their wallets to back projects like NuPack. This is true despite the propaganda you’ve heard from nutcases like Stallman. Why do I say this? Because realistically no one person or even group has the resources to take over a mid to large failed OSS project anyway.

    http://www.sdtimes.com/link/34770

  • Steve

    At the end of the day, you won’t likely find a “community” with as wide of a talent gap as you find in .NET.

    I was listening to 5by5 the other day and they mentioned that 40% of all Rails developers use RSpec. 40%! That is a huge number, considering that there are other testing frameworks (including one built in to Rails itself).

    How many .NET developers do any sort of testing let alone use one tool?

    For those reasons, sometimes MS needs to drive something down the throats of the users.

  • NC

    I haven’t worked at many places. My current job I’m working on a system which was started back in .NET beta, and has evolved from no architecture to some architecture. I’m slowly helping refactor the system to make it testable.

    One of the things we are doing is writing interfaces and wrapper classes around the legacy stuff we need to call into since it’s all static methods. (sorry, Shared, since it’s VB.Net we are writing all new stuff in C#)

    We do this so we can break the dependency and mock out that data. Works great but some of the business objects are complicated so writing test data takes a little while. So you get complaints about having to write tests.

    In a meeting I said. “We are developers, we love working on new things and problem solving, we don’t want to sit and do mundane things like fix bugs, so if you have to spend 1 hour writing tests to prove your code works, you probably wont need to spend 4 hours next week tracking down a bug you introduced”.

    Complaints about writing test data dropped and we have gone from 0 unit tests, to like 500 so far, in like 3 months. Slowly reducing the number of bugs introduced.

    The project managers hate us tho, when we do our scrum and we say “we are refactoring this”.

  • Steve

    @NC

    If there wasn’t an off chance that someone I work with would somehow find this site and read this, I could write down a list that would make your eyes bleed.

    I can see how someone like Ian might think I’m negative, but the reality is, I’ve worked in too many places, and seen too much bad code within .NET that I think my soul has been scarred for life.

    One of the more tame is, at one job we finally got the teams to agree to Unit Test, and this conversation was had between me and the Team Lead:

    TL: “So, what happens if after doing the tests we find a bug?”
    Me: “You fix it”
    TL: “But we haven’t budgeted for that”.

  • NC

    @Steve… I’m having trouble getting people in my team to write 4 methods that do 1 thing each rather than 1 method doing 4 things. *shiver*

    We are doing Unit Testing now and the project managers hate me because when they ask how the testing is going, the word “refactoring” comes up cos we are trying to make the code testable… Luckly pair-code review prior to checkin is helping reduce the amount of god-methods checked in.

  • Steve

    @Ian,

    “If we all assume that we are defeated before we even try, what will ever change? We can be better than that.”

    I don’t assume I’m defeated, I just have learned to my pick your battles and try to encourage change when you can. At the same time, if the “nope, we can’t use that since it’s not MS” comes up, I’ve learned not to get aggravated by it.

    For me, getting my developers engaged is a much bigger concern. If I could get every one of my developers to care about their work, really buy into things like the SOLID principles, and developer some good, rock solid code, that to me is a much bigger win than if I can get permission to use NHibernate instead of. EF4.

    Or put another way, if I ever had a developer come up to me and say “Steve, why don’t we use NHibernate?” I’d be freak’n ecstatic! How’s that for sad?

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @Damien My point is that there were better ways for MS to become involved.

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @Steve I doubt I am going to motivate you to agree, and I do not know your situation, but I would make this point. If you work in an environment where the Java team already use OSS tools you potentially have a set of allies to help you overcome arguments about OSS in the organization.

    If we all assume that we are defeated before we even try, what will ever change? We can be better than that.

    And yes I have worked in and driven change in large organizations, not just ‘small shops’

  • Steve

    Zvolkov makes a good point here:

    “If you don’t like it, why are you staying with .NET and M$ in general?”

    Clearly the majority of the .NET users out there don’t care. And it’s not like using only MS products and not adopting OSS is some sort of social injustice that requires the minority to force the majority to do something they don’t want to do. So why stay?

    I stay for the paycheck, I have no problems admitting that. While I do what I can to use as many best practices as I can (SOLID, TDD, etc.), if I can’t use a specific OSS tool and am forced to use a MS version instead, I’ve learned to live with it.

    I’m not saying that Microsoft or the .NET users can’t change, but steering that barge is going to take one of two things to happen, 1) a significant change in Redmond, or 2) a heck of a long time. We know 1) isn’t happening, at least not for a while (see Lightswitch, MS.Data, and WebMatrix as exhibit A, B, C), so that leaves 2).

    So Zvolkov’s question is valid, why are we spending so much time trying to change a group of people who really have no desire to change?

    If you are working in a small shop, you likely already can use any tools you want anyways, so who cares.

    If you’re in a large shop like me, you can’t, but then again the organization is likely incredibly inefficient that even a simple “Hello World” app will be budgeted at two months worth of work, have three managers overseeing it and have a development team of 20. So in that case, as long as you can get over the frustration aspect of it, it doesn’t matter either.

    That’s why I use Ruby in my spare time now, whereas I used to use C# when doing personal projects. The truth is, while I commend people for trying to change the ecosystem as large as .NET, at the same time, after a while, isn’t it a bit like screaming at windmills?

  • http://zvolkov.com/blog zvolkov

    The lack of diversity is a real issue but I disagree with your assessment that M$ is the one to blame. It’s a cultural problem inherent in the community. The pro-diversity people go to Java/Linux/BSD/Ruby/Python/etc while the pro-stability people go to the dark side of M$. As long as both kinds of users exist, both sides of the continuum are necessary. If you don’t like it, why are you staying with .NET and M$ in general?

    PS Never heard about OpenWrap and others, even though I follow InfoQ Agile and dozens of blogs.

  • http://eglasius.blogspot.com eglasius

    First, I must admit that I pretty much ignored all those .net package managers.

    That said, I have to disagree with this. It seems to me that these were done in a build it and they’ll come mindset. That’s not enough if you want it to be all around you need to move hard to put it in front of everyone’s eyes.

    Sure, MS could have backed an existing project, but previous comments in here point out that existing package managers weren’t really ready for mass adoption. Also Microsoft kind of did, in their own twisted way (kind of nu version 2), although I agree that should have happened in a whole different way. More like the jquery contribution they recently made would have been better, committing to an existing project.

    like @JustaCommenter said:

    “So, do I misunderstand: There’s a nice open source library, that has at least a publicity problem preventing it from wide adoption (OpenWrap). Microsoft releases an open source library, and so now, OpenWrap still has its publicity problem, but they are more pessimistic about ever solving it?”

  • Steve

    @Ian,

    “And what I am calling for is for us to change that ‘reality’ instead of passively accepting it”

    You lost me here.

    There is no ‘us’, because you don’t work for the company I work for. You not liking how my company functions doesn’t (and no disrespect intended) mean anything. I don’t like it either, I push to use the best tool for the job at every opportunity possible, but if that push includes CSS, it gets shot down by upper management (mostly citing legal and regulatory reasons).

    So yes, I guess you could say I ‘passively accept’ it, but having a wife, three kids and a mortgage payment make that a unfortunately reality of the world I live in.

    Yes, it is completely nonsense that the Java group can use whatever they want while the .NET group can’t. But that is the reality that a lot of .NET shops face at the moment. As I mentioned, this is the second company in a row I’ve worked for that is run this way, so this is not a unique scenario.

    “Because we must have created this leadership that fails to see what is in front of them.”

    Again, I don’t see the “we” here, “we” haven’t done anything. This attitude is something that comes squarely from Microsoft, and is bought hook, line and sinker by the corporations who choose to use their software.

    Ian, I don’t know your work history, but I’m guessing you’ve never worked for a large corporation before. Some decisions just aren’t in the hands of the developers or even their direct management above them. A lot of decisions are made by a) Legal departments, or b) Sr. Executive who have never written a line of code in their lives.

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @Steve And what I am calling for is for us to change that ‘reality’ instead of passively accepting it. If it is nonsensical i.e. within the same office that Java projects can use OSS but .NET not it must be that the community itself is wedded to myths and half-truths that we need to expose. Because we must have created this leadership that fails to see what is in front of them.

    My problem with NuPack is only that it confirms this sort of thinking instead of challenging it. And that is the missed opportunity here.

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @Oren
    Thanks for sharing your thoughts. I think it is important to note that I believe the problem is more fundamental than outline here. I believe that the .NET space should be open to competition. There is no reason that the ORM choice need be limited to NH or EF. Why not something else if that emerges. There is no need to choose Monorail or ASP.NET MVC. Why not choose OpenRasta or FubuMVC?

    I don’t think this is OSS alone. I believe it als applies to commercial offerings. The point is the tendency of the community toward favoring a monoculture. Now in some areas market leaders that everyone adopts because they are the best solution will doubtless emerge, but we will never escape the resulting monoculture if the community is not open to discussing and talking about alternatives.

    I believe that EF would never have reached anything like the feature set of EF v4 if it had not had to compete with NH. Why would MVC 3 have emerged if OpenRasta and FubuMVC did not keep trying to raise the bar. The IE experience suggests that once MS owns the space, they stop investing and innovating. We need that competition for the framework to thrive.

    Consider from your own point of view. If MS releases a NoSQL solution, don’t you want there to be competition?

    The argument that there should only be one package manager folds under scrutiny. There needs to be a consistent standard for package definition, but not one package manager.

    MS needs to define the contracts to allow other implementations to flourish. Without a shift in perspective we will not get the innovation the platform needs to thrive.

    What are MS protecting here. None of these pieces generate revenue for them?

    http://ayende.com/Blog/archive/2010/10/18/re-diverse.net.aspx#feedback

  • Steve

    @Ian,

    “@Steve But is that not the heart of this issue. The Java community does not have this issue. They work in exactly the same enteprises that folks commonly say won’t use anything that does not come from the MS mothership. And yet they embrace a diverse ecosystem of choices not just what comes from the Oracle (Sun) mothership.”

    I didn’t say it makes sense, it’s just one of those things you have to live through to see that it actually happens. I work for a company that delivers both .NET and Java (and used to work at another). On the .NET side, we are forbidden from using any OSS. It’s MS or we have to roll our own. For Java, we can use any OSS we want. In the same office, literally one row of cubicles down from one other, yet completely different rules.

    Its not right, in fact it’s downright stupid, but it’s the reality we live in.

  • NC

    That would be great :) Cheers.

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @NC Ok that’s a good challenge. I’ll talk to Seb about it and see if something simpler can’t be documented. Thanks for that.

  • NC

    I could do without a UI, or intergration into VS, if there was some basic guide. Everything I’ve read feels like you need to know a bunch of other things prior to getting started.

    The last thing I read which was a link through from StackOverflow read like I needed to know Git, NAnt, and a couple of other things, so to understand what was being done I need to go learn those things.

    If you can point me in the direction of some sort of tutorial that explains how to get up and running with OpenWrap thats easy to follow then great. But at the moment I don’t know where to begin.

    The one thing I really want to be able to do is get the latest trunk of NH + FNH built together… :(

  • Yoann Esnaud

    I couldn’t agree more with this. It does feel as if the .net community (and by that I mean the people who actually read/blog about what’s happening within .net and other framework) is still too small compare to the number of people who are using it.

    We have just finished a string of interviews and I was so surprised to see how many developers still hadn’t used TDD in the work environment…. I mean that’s not even a framework!

    Yoann.

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @NC agree with Paul. In what way does OpenWrap fail simplicity. Is it the lack of UI intergration into VS?

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @JustaCommenter I think the jury is out on the idea that a package manager will publicize OSS products and encourage their adoption. Let’s see what happens. In most of the presentations the issue is more that only folks who use OSS extensively get why they would want a package manager. The others ignore it as noise. So simply saying that ‘the ends justifies the means’ is I think not correct at this point.

    There seems to be a fallacy that only MS could solve this problem. If so why were they happy for this to be an OSS project and not simply a part of the MS framework. You can’t both declare ‘community solution’ and ‘MS solution’. If this is truly a problem solved by OSS and the community then we need to be open to different package managers. That won’t happen, we will get one by default.

    Per se would adoption of NuPack be bad. Not necessarily. But what is bad is the impact on OSS, saying that only MS should develop important things and OSS is just for trivial pieces that no one really needs.

    What amazes me is that people accept this wisdom without reference to what other ‘fit for Enterprise’ development frameworks like Java do.

  • NC

    @Paul

    I haven’t found a good tutorial on how to use it yet. But from what I’ve seen, and even what Sebastien Lambla has posted, it looks far from trivial. I mean look at NuPack you think “Oh i want NHibernate” and you have it. With OpenWrap, where the hell do i start?

    HornGet website was great too, you wanted a package, download it, you have the binaries.

    I actually can only think of 1 developer I’ve ever met who would actually waste their time trying to figure out how to get OpenWrap working, over installing NuPack right clicking, and adding a package.

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @Jer0enH I think its important to appreciate that I am in no way wanting to denigrate the efforts of the NuPack team. I am exceptionally grateful for the effort they have put in on all our behalves. But that did not need to mean that the effort of others was knocked down in the path.

    The point is to encourage OSS solutions. I don’t believe this does that, because the consistent message is: if its important MS must build it, only if its little and insignificant should OSS rise to the challenge. I don’t think that is healthy.

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @Damien I don’t doubt that MS’s intervention in the process of getting package management resolved was needed. Although why MS waited until it looked as though the community was beginning to solve the issue, rather than act a number of years ago is a different question. However, it is how it acted that causes concern. It removed the opportunity for the community to provide solutions to the problem and instead imposed one. You can’t expect people to take responsibility to solve issues, if you keep solving them.

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @Steve But is that not the heart of this issue. The Java community does not have this issue. They work in exactly the same enteprises that folks commonly say won’t use anything that does not come from the MS mothership. And yet they embrace a diverse ecosystem of choices not just what comes from the Oracle (Sun) mothership.

    I think that the ‘enterprises want it all to come from MS’ idea is a red herring, promulgated by folks who find the monoculture convenient because it means they have less to learn or understand. It is a poverty of ambition.

    I think enteprises don’t want to use V1 for sure, they dislike being early adopters, but if there was strong community adoption for a solution they would follow.

    Now we can either just accept that the .NET community is way behind the Java community on this, or we can try to address it

  • Paul

    @NC why do you think that OpenWrap fails at being simple? Have you tried it?

  • bdaniel7

    Some people are just blind to projects not made by Microsoft.

  • NC

    OpenWrap fails at being simple. So does Nu.

    NuPack makes it easy to get packages quickly. Just like HornGet website had packages.

  • Nolan Egly

    “What MS could have done was to call for folks to tell them about OSS package managers..and then communicated..what the standard was and who implemented it”

    Unfortunately, I’d imagine to recommend tooling they didn’t create has all kinds of liability implications for Microsoft.

    “..monoculture..does not drive the kind of innovation a successful development platform needs”

    Diversity is a two edged sword – choice can be debilitating and demoralizing (how can I ever choose the right tool?) Monoculture for many companies eases hiring, training, and maintenance, and monoculture for workers makes it easier to possess an employable skill set.

    I’m not arguing for (and wouldn’t want) pure monoculture, but diversity isn’t without it’s drawbacks either.

  • http://ashmind.com Andrey Shchekin

    I had my own repository manager in the works for a while now (episodically since 2007), and it is still more powerful than NuPack in some points, such as integration with downloads CodePlex/GitHub/SourceForge. But I, for one, applaud NuPack.

    Because as a user, I want a solution that is easy to work with and that has all I need. Because as I developer I can build on and improve the existing solution, instead of reinventing it.

    Also, there are other reasons. I have looked on OpenWrap some time ago, and it essentially was a git repository with code. No description of approach taken, nothing. Since then, I have found a blog, but it is not even linked from git repo. For me, and for a lot of people who are not immediate contributors, NuPack is more awesome just by having an installer.

    I have looked at nu, and correct me if I am wrong, but I seem to remember it used a hack: Ruby gems to deliver .NET dependencies.

    Hornget was source-based, which, I think, was impractical with a lot of diverse projects out there. Do not know much about coapp.

  • JustaCommenter

    So, do I misunderstand: There’s a nice open source library, that has at least a publicity problem preventing it from wide adoption (OpenWrap). Microsoft releases an open source library, and so now, OpenWrap still has its publicity problem, but they are more pessimistic about ever solving it?

    Is the gripe that Microsoft is supposed to be advertising open source initiatives that admittedly nobody has heard of (possibly including themselves)? Or should they not even be developing software projects anybody else happens to be working on?

    If the problem is the former, then arguably you should be overjoyed about NuPack, since a centralized repository and management system should do more for the popularity of obscure open source projects than any single instance of a winner or loser.

  • Jer0enH

    As far as I understand, NuPack project is essentially nuproj 2.0. The Nu developers were contacted, involved and blessed the “fork” by contributing. This project deserves some credit and backing by the community.

  • Steve

    @Ian,

    “But my question is why did it take MS backing a ‘specific’ repository for folks to get behind it. We had good if not better package managers than NuPack already. So why did it take MS writing their own to motivate people to get behind one.”

    I don’t think you really understand the real .NET community. The real community, the one that contains hundreds of thousands of developers (if not more), only does what Microsoft tells them. This isn’t always by choice, it’s more often than not a result of where they are working, but the end result is that most people refuse to use anything that isn’t released by the mothership.

    I definitely respect the people who write on the Alt.NET type blogs (here, Los Techies, etc.), but I think most, if not all, of the authors work in small shops where they have complete autonomy over the tools they use. That is definitely not the world that the large majority of the real .NET developer live in.

  • http://damieng.com Damien Guard

    The community can sometimes produce great packages that solve specific problems and get adopted on their own merits.

    The problem here was that this was a core essential problem that .NET needed to be fixed and there were many fragmented community efforts that never gained widespread adoption despite the years MS wasn’t involved.

    [)amien

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @KevDog

    1: But surely NuPack is a project built around a hole in someone else’s project too. After all its an OSS solution to the lack of a package manger in the .NET framework. In this context your first point is meaningless

    2: So because DHH told the Rails community to **** you, so should MS should tell its dev community **** you as well? I wonder what folks like Zed Shaw would think of your attitude. Pretty much what he made of DHH’s attitude I would guess. That you’re creating a ghetto.

    I can’t help thin there are developers who say Boo-yah when MS does anything.

    In short, time to start bitchen about stuff

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @Tony But my question is why did it take MS backing a ‘specific’ repository for folks to get behind it. We had good if not better package managers than NuPack already. So why did it take MS writing their own to motivate people to get behind one. I’m not doubting the impact of MS’s intervention, quite the opposite. I am however asking the community to ask why it was necessary and if that says anything good for our community

  • KevDog

    I have to say I have little sympathy for this point of view for a couple of reasons:

    1. Basing your work on a hole in someone else’s project is a recipe for obsolescence. Where was the great outpouring of sympathy for developers who wrote cut and paste programs for iPhone 1.0? Bang, out of business immediately. I can’t find the post right now, but Joel Spolsky wrote something to this point a year or so ago.

    2. Imagine for a moment, that someone told DHH that he should have done things the way someone in the community wanted. Oh wait, we don’t have to, he said “F*&% You”.

    I can’t help but think that there are a core group of developers that say “X” whenever MS says “Y”. My perspective is that NuPack will bring literally hundreds of people new exposure to OSS projects they never would have considered before. How can that be bad?

    In short, quit yer bitchen about everything already.

  • Tony

    I’m just happy .NET finally has a package management story with enough reach for the entire .NET community to get behind. I hope we can stop arguing about how to build package management and put our collective effort behind making one of them great. Also isn’t NuPack open source so if OpenWrap or NuProj have good ideas they can contribute them?

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @Colin But is MS also trailed those solutions it would grow awareness.

    I think its important to remember that EF, MVC, WCF, WF etc. don’t generate revenue for DevDiv. So they are not preserving revenue by failing to mention their competitors. What makes them money is providing tooling etc. There does not need to be conflict here. A richer ecosystem is one your tools should thrive in.

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @Chuck I’m not against MS helping get over the hurdle, in fact I think that is a strong option. However, I would suggest that getting over the hurdle by creating a new package manager did less favors than publicizing the existing package managers. Support yes, intervention no.

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @Rob Perhaps we are in the same place then, that the .NET community needs to be weaned off its dependency on the .NET monoculture and seek a more diverse ecosystem.

    The question is how we do this, and much of the Catch-22 so far seems to be that any scheme to promote a diverse ecosystem would need the support of MS to publicize it as a ‘way forward’ to the masses.

  • http://colinjack.blogspot.com Colin Jack

    “What MS could have done was to call for folks to tell them about OSS package managers, worked with those projects to define some kind of open package standard, and then communicated to the wider development community what the standard was and who implemented it.”

    Good point and whilst I agree I am not overly worried about Microsofts approach, it does seem like a mised opportunity but I’m not sure it will make things worse than they are now.

    Projects like NSB/OpenRasta are already successfully
    competing with MS solutions (wcf for example), interest them may mainly be within the “ALT” part of .NET but I still think they can continue to move things forward gradually.

  • Chuck

    “But MS entering the fray with nupack has practically obliterated a ‘from the community’ solution and created the 300ibs gorilla of an MS sponsored one.”

    IMO this is long overdue. How long does the community need? I see open source windows package managers dating back to at least 2007 and none of them have really gone anywhere. If MS helps get over the hurdle, so be it.

  • Rob Conery

    You took my post as saying “nothing was created” when I actually meant something different. I meant what I wrote: the .NET community waited for MS to build it.

    Yes there were other frameworks, no, no one cared. It’s not that they weren’t there.

  • http://codebetter.com/members/Ian-Cooper/default.aspx Ian Cooper

    @Paul very true. I’m going to get in trouble if I try to capture all projects in all spaces, but I will update for that

  • http://thesoftwaresimpleton.blogspot.com Paul Cowan

    Horn tried before any of them and this should be noted.

  • http://markembling.info/ Mark Embling

    An interesting post with some good points, and definitely agree with you about the merits of diversity. However in the specific case of NuPack, I see it a little differently – yes, it has overshadowed the alternatives (which is not a good thing from a community point of view). However, it does bring a solution out and as close to mainstream as you can get. Essentially what has happened is that all those who have avoided the other alternatives due to lack of support or due to lack of knowledge have now been, or will be, exposed to a tool which will now do the job (in what looks like a good and well-thought-through) way. I would find it very difficult to argue that no mainstream package management is better than one. As ruby gems have proven, if you have a good package manager it really helps the platform to grow. I’d expect that NuPack’s existence will actually help diversity in a general sense for .NET because it is going to make using OSS packages easy and easily discoverable. I like that idea.