[DRE-maint] Debconf talk regarding integration/interaction between Debian and Rails

Gunnar Wolf gwolf at gwolf.org
Sat Aug 9 13:33:40 UTC 2008


Hi,

Excuse me if you get this as a duplicate - I got some strange bounces yesterday.

I am preparing the material to start the BoF I have scheduled for
Debconf [1] (Bringing closer Debian and Rails: Bridging apparently
incompatible cultures). In case Pentabarf requires you to log in for
this, the abstract goes as follows:

    Ruby on Rails has become a very popular framework for Web-based
    applications. And, even though Rails itself is neatly packaged and
    integrated in Debian, supporting Rails applications (specially in
    a large-scale provider) can prove rather difficult. Besides the
    core application, we face problems such as handling plugins,
    concurrent versions, and the like. In this BoF session we will try
    and study the different problems we face, and come up with
    adequate solutions.
   
    I'm only familiar with Ruby on Rails - but it might be interesting
    to have the opinion of people working with other similar-minded
    frameworks.

I kept postponing it until the near-to-last minute (it will be next
Thursday), but I wanted to check some points both with the Ruby Extras
group and with Adam, the Rails maintainer. Adam, I understand you are
not coming to Argentina, which is a shame... But do you think you
could follow and take part of the discussion? The video team will most
probably be able to live-stream the talks, and having your input will
be precious.

Anyway - I haven't written the slides yet, but it will go along the
following topics:

- Gems
  + Ruby's own package management system
  + Integrates the semantics of module inclusion and package
    downloading in one single, comfortable(?) step: require_gem
  + One of its main points: Managing different installed versions of
    the same gem

- Plugins
  + Very similar to Gems-based modules, but more tightly integrated
    into Rails' workflow, modifying or adding to Rails' normal
    behaviour 
  + Usually carry an initialization file (init.rb), and require only
    being dropped in their place (RAILS_ROOT/vendor/plugins/); no need
    for explicitly including them.
  + Some plugins have started migrating to become Gems

- Framework vendorization
  + Rails' API is still evolving at a fast speed - often introducing
    backwards incompatibility
  + It is common for application developers to "vendorize" Rails - To
    copy a whole version of Rails into RAILS_ROOT/vendor/rails, in
    order to ensure his system will work regardless if the systemwide
    version changes 
  + In fact, when creating the skeleton for a new Rails app, the
    Debian-packaged Rails creates symlinks from
    RAILS_ROOT/vendor/rails to /usr/share/rails (for the currently
    installed Rails). Of course, this leads to breakage on updates :-/
  + Supporting Rails installed inside application directories is far
    from The Debian Way. And, of course, supporting multiple old
    versions of Rails in the system... is also bad.

- Deployment
  + One of the most unstable areas in Rails 
  + Favored deployment has went through Apache+Pen+FCGI, Apache+SCGI,
    <any_web_server>+Mongrel,  Apache+mod_rails (Passenger), and there
    is a newcomer somewhere around there... bah.
  + Many people have complained about Rails' unfriendliness for
    deployment 

- Rails app packaging
  + No Rails applications are currently packaged for Debian... But
    there _will_ be. At least, there _should_ be.
  + And all of the before mentioned points have to be integrated.
  + We must aim for the best ease of deployment possible.

- General developer community culture
  + There is a big cultural difference between us Debianers and most
    of the Rails community
  + Rails developers tend to look for the newest features for their
    (production!) systems, and tend to value less long-term
    stability/maintainability. Interaction with upstream regarding
    older versions can be quite problematic
  + Of course, I expect the previous statement to raise rushes of
    indignation among Rails (and other Extreme Programming converts),
    but... In Debian we commit to supporting our stable versions!

Of course, the viewpoints I'm presenting are mine - but I am
interested in your input. Oh! And that day of Debconf [2] looks among
the most interesting to follow -even on-line- for many among
us. Again, for the benefit of those of you without a Pentabarf
account: 

- Internationalization in Debian (Christian Perrier, lecture)
- dh_make_webapp: yeah right! - Design considerations and Tools to
  make packaging web applications a dream (Andrew McMillan, lecture)
- Best practises in team-maintaining packages - What works? What
  doesn't? What can we learn from each other? (Gregor Herrmann, BoF)
- Bringing closer Debian and Rails - Bridging apparently incompatible
  cultures (Gunnar Wolf, BoF)
- Ruby packaging in Debian (Lucas Nussbaum, BoF)
- Debian Webservices Development (Frank Lichtenheld, BoF)

[1] https://penta.debconf.org/penta/submission/dc8/event/241

[2] https://penta.debconf.org/penta/schedule/dc8/day/2008-08-14.en.html

-- 
Gunnar Wolf - gwolf at gwolf.org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973  F800 D80E F35A 8BB5 27AF



More information about the Pkg-ruby-extras-maintainers mailing list