Nu and the OSS dependency nightmare

So, wow! A lot of thoughts and comments about nu yesterday, and is it the right tool for .net. That it doesn’t solve the rat’s nest of assemblies that OSS projects use, etc. So I just wanted to take a second to respond to these basic questions.

Q: Is it the right tool for .net?

A: Does it work? Does it do what you need? If so then yes it is. If not then that’s cool too. But the gems infrastructure is SOOOOO nice. I have been working on this problem on and off for almost 3 years now. Every time I start and get a little bit further but ultimately it comes down to where are we going to host these things. And I get demotivated and let it sit on the shelf. Last week I started to program in Ruby just to spread my wings a little bit. Its a PITA (because its new) but there are things that I like. Namely gems. So curious, I wrote my first gem and pushed it to rubygems.org. It took 5 minutes. Seriously. At this point, I went back on all of my ‘we don’t need no stinking gems’ and started to head down code ‘nu’ in ruby. I spent more time looking up the Gems api than I did actually coding it. So is it the right tool? it is for me. It was just too easy.

Q: It doesn’t solve the utter mess that .Net OSS projects are about dependency tracking.

A: No kidding. That challenge is not going to be solved by a better tool. Its a human problem. We as developers (myself included) need to get better about sticking to released builds. If the ruby guys can do it, then I am pretty sure we can too. With gems it is so simple to push a new release and to spec a version that I hope the decreased friction alone will help people out. The rails guys have a 3-4 line ruby script that pushes their new releases. It could be a part of your build process.

gem push yourproject-1.0.0.gem

That all it takes.

So lobby your OSS projects, help out and submit the patch, if we can get the projects released builds up and running we can start to make this happen. FYI, rubygems is even working on the concept of early releases so you can say things like

gem install rails --pre

How fricking cool is that!

Ok, I feel better now.

-d

About Dru Sellers

Sr. Software Engineer at Dovetail Software.
This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • http://polyglotprogrammer.com Kyle Nunery

    It would be cool if Nu could grab source code for .net projects as an extra option.

  • danijel kecman

    you’re right it’s community issue. it occupies my mind for several years now. i’ve tried few things before i came to the same conclusion that’s not related to specific technology or language but to community. before gem there was red carpet and similar tools for resolving dependencies. there are installers within linux distros built in such a way to resolve dependencies and conflicts. open source community is far more experienced than .net one when it comes to organisation and way of thinking on how things work in the best way when it comes to open source community.

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

    After a year or so of developing hornget, I just do not think lobbying your OSS project to do released builds or not to use trunk builds will cut it.

    Sounds like you are going to ignore the dependency problem.

    I am depressed by this.