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.