[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