Charles Oliver Nutter wrote:
> It seems like recent problems with patchlevel and minor 1.8 releases
> mean that there's too much for one release manager to track. Urabe has
> been doing a great job, but tracking both 1.8.6 patchlevels and 1.8.7
> releases requires more help. And I believe we need to start giving all
> the alternative implementations a say in the Ruby release process,
> since it directly impacts our compatibility.
I believe Charles' proposal has much merit. No one wants to stifle the
creativity of the Ruby developers that provided us with such a wonderful
language, but many of have grown to depend on it to work in a specific way.
Codifying the specification, as is the goal of RubySpec, and having a
committee support the standard will go a long way towards helping the
various Ruby implementation teams know what to work towards and stick to.
The language has grown up and needs a well-defined process for managing
releases and resolving quality issues such as bugs, vulnerabilities, and
compatibility flaws. An effective process will help Ruby users more
easily encourage firms to adopt it and deliver valuable, reliable
solutions based on the platform.
I was very impressed by how quickly the Ruby community resolved the
immediate problems with the security/stability problems recently. We saw
a flurry of good patches coming from FreeBSD's Stanislav Sedov,
Phusion's Hongli Lai, Smartleaf's Robert Thau, and others. I believe
their efforts demonstrate how members of the Ruby community can do a lot
to help the Ruby core team in ways thusfar unexplored.
Maybe it's time to split off an externally supported stable branch to
help distributors coordinate their packaging efforts and ship critical
fixes more systematically rather than having each maintain an isolated
stash of patches. Maybe we can setup external continuous integration
servers to help assert the quality and compatibility of the various
implementations to support the developers. Maybe we can donate funds to
a foundation to pay developers to work full-time on Ruby or setup
bounties for bugs/features. Maybe we can establish community managers
that define tasks so volunteers can more easily work on them. Etc.
I'm enthusiastic about Ruby's future and hope that this recent stumble
can help encourage the establishment of process and infrastructure
that'll help its users and developers.
-igal