Ruby has a distribution problem

Submitted by gwolf on Tue, 05/06/2008 - 11:30

I usually don't like me too comments... But this is something that really disappoints me of my otherwise-favorite development framework. I must echo Matt Palmer's comment on Luke Kanies' entry:
Ruby. Has. A. Distribution. Problem.
Nice, good read. Sadly, many Rails pushers see distributability as something very minor, something that should not worry Rails developers right now, as there is too much other serious work to be done - Better UTF8, a clearer language, better performance... And besides, any programmer can live well with gems. (yes, that's all taken from a rant I had with a very convinced person)
My gripe is that... Rails is no longer a small, fringe project. Rails is an enterprise-grade development framework, with thousands of deployed production systems. And if they don't start to act responsably, if the Rails developers keep pushing said problems as low-priority, the Rails developers' (that is, their users) culture will become rigid - and will constitute a serious harm to Rails' future.
Distributability and packageability is not only for OS distributors. Not only we Debian zealots care about software being easily packageable. By using Ruby Gems, you dramatically increase entropy and harm your systems' security.
Read Luke's text for more details. It is quite worth the time.

( categories: )
Almost Anonymous's picture

distribution problems...

has Ruby a distribution problem? THE WORLD has a distribution problem. more than one, of course. the development opportunities maybe is the more important, but there are some others....

gwolf's picture

I agree with you. However...

You know this saying, think globally, act locally. I am involved with Perl and Ruby. The Perl community is great to work with, they have a great infrastructure, and mostly value stability over new features, long-term support and full documentation. And... Well, I'm trying to convince some Ruby people, bit by bit, that the same is required in their community. Ruby is a really great language... But severly lacking in this regard.

Anonymous's picture

What exactly is wrong with

What exactly is wrong with Rubygems?

It is the ONLY package management system that I have ever used that has never failed. It is 100 times superior to aptitude on Debian-based Linux systems.

I have NEVER failed to resolve a dependency issue with a simple "gem install" command. That says volumes in my opinion. How many times have you tried to use apt-get or some other system and simply given up after five hours of frustrating error messages and crap? The simple fact is, Rubygems works.

Plus, it's awesome to be able to install multiple versions of the same library. For example, our production system is using some old versions of gems since the system itself is a few years old. It is so nice to be able to easily install the older versions to never have to worry about upgrade issues and having things break.

gwolf's picture

To begin with...

Having multiple package management systems is bad for most users. People trust their distribution to take care of the details - Regular users, I mean, not just developers. I understand developers can have the need for specific features in the newest versions - but most users only care about installing applications. I trust Debian to handle the security updates, for just any component in my system, no matter whether it is an obscure Ruby, Perl or C library.
I want to be able to just write "aptitude install foo", and having foo ready - I don't care what language was foo written in, or what does it need installed besides itself. I just want to run it.
And your experience with Apt... Well, what can I say? I think that, as a DD, I am in the population group which most messes around with their installed packages. Yet, apt is pretty reliable to me, I don't recall ever spending "five hours of frustrating error messages and crap". That would surely have sent me to a more robust distribution!

Ardekantur's picture

You're right!

Why should we have more than one package management system on our computers?

  1. apt-get install perl
  2. perl -MCPAN -e 'install irony'

Pelle's picture

For app developers it's about being OS agnostic

I had started a longer comment here, but decided to do a blog post reply instead:

http://stakeventures.com/articles/2008/12/04/rubygem-is-from-mars-aptget...

Dean's picture

I had always heard of Ruby on

I had always heard of Ruby on Rails but never adopted for any of my projects.. I was always keen on meeting people using it to get how they felt and thought about it compared to others.
Finally I got this opportunity to work with it for one of my clients and huh it is huge I should say...

Dean Martin