On Jan 8, 2006, at 1:37 AM, Gregory Brown wrote:

> However, it's not random modification but the modification of library
> A by library B (or the modification of something in the standard
> library by Library C which could effect A, B, and C) that could be a
> real concern.

It's a blessing and a curse, like most things.  Infinite power,  
infinite responsibility, and all that rot.

It came up here recently, in fact.  Until Ruby 1.8.3, Logger didn't  
allow users to specify the output format.  Because of that, some  
people hacked into the class and replaced the proper guts to make it  
work.  It was nice to be able to do this, but of course the Logger  
API was updated and some projects, including Rails, broke.  Rails has  
since been patched to work around this, of course.

Here's a thought though...  Let's forget for a moment *how* it  
happened and just look at *what* happened.  Short story:  An upgrade  
introduced an incompatibility bug with some dependent software.  That  
happens with tons of projects in every language and is only even of  
note here because of *how* the incompatibility was introduced.

James Edward Gray II