Position on RubyGems
The Debian pkg-ruby-extras team takes care of the packaging of third-party libraries (not shipped in the standard library). We describe here our position on RubyGems.
RubyGems has become the standard way to distribute and install Ruby libraries. It allows developers of libraries to distribute their work, and install the latest version of other libraries in an easy-to-install and cross-platform way, without intermediaries (like Linux distributions’ packaging systems). RubyGems is thus clearly a very useful tool, from the developer point-of-view. Some other languages have similar tools, like Perl’s CPAN, and Python’s eggs.
However, users (both end users of classic applications, and system administrators who will install web applications) have different needs. Most of them want their ruby applications to be installable in the same way as their other applications, which usually means using their Linux distribution’s package manager. The installation of ruby applications could then use existing infrastructure (local proxies, for example), and security updates would be tracked with the same tools.
Unfortunately, while other languages promote good practices that make manual installation and packaging of libraries very easy (Perl’s Makefile.pl, Python’s distutils), the Ruby community tends to impose the use of RubyGems for everyone: it is currently impossible to install most Ruby applications (Rails-based applications, for example) without using RubyGems.
We ask Ruby developers to:
continue to provide RubyGems for their software, as they are useful for other Ruby developers who need latest versions of their software.
also provide their software in a format suitable for manual installation and packaging. For more information on specific problems we encounter with Ruby software, and how to solve them, please see Upstream Developers
RubyGems package in Debian
A rubygems package is provided in Debian. It is aimed at developers willing to install bleeding edge library versions, or libraries that have not yet been packaged in Debian. This package provides the gem command to be able to install/remove gems at the developer’s own discretion and risk. The gems will be installed using the normal gem installation procedure, under /var/lib/gems, as the normal Gem installation path is incompatible with the FHS.
This package must not be used to create or build Debian packages.
The Debian pkg-ruby-extras team can be contacted at pkg-ruby-extras-maintainers AT lists.alioth.debian.org. In particular, feel free to send comments or questions about this document, or suggest Ruby libraries that we should package in Debian.
Rubygems triggered several discussions that are worth reading.