Great feedback! 1. Lot of disagreement here, and lots of valid points. To clarify, the point wasn't runtime bloat (which is not a problem with Rack) but with the overall package bloat. I tend to agree that runtime bloat is much more severe than package bloat, and that Rack is hardly bloated even considering. The question needs to be asked, though... are there things in Rack's library that could be better elsewhere? I mention rack-more, and many don't like this, which is fine. I think of rack-contrib to be much like rack-more already, and like that some things are there instead of in Rack's core library. 2. The point of this was to elaborate on the question "are there things in Rack's library that could be better elsewhere?" by starting with the minimum. Rack::Lint is, as Ryan points at, the wrong starting point because we still want to support middleware and all of the server handlers and framework adapters as well as Rack::Request and Rack::Response. I think Yehuda understood this with his recommendations on improvements to these last two. What else can we minimize and defer to the implementers using Rack instead of doing it ourselves? Should Rack concern itself with much more than a minimal implementation covering these handlers, adapters, request/response interfaces, and middleware functionality? No dictating or anything quite so grave here, just raising the discussion. Cheers! Matt On Thu, Aug 13, 2009 at 3:01 PM, Ryan Tomayko wrote: > > On Thu, Aug 13, 2009 at 10:04 AM, Matt Todd wrote: > > I was talking to a friend of mine yesterday and he mentioned that thought > > the Rack package itself seemed to be slightly bloated by things like > Basic > > Auth et al. He mentioned two things I thought were interesting and I > wanted > > to get your feedback on it: > > > > 1. Like Merb, Rack probably could benefit from using a core and more > > separation of functionality, and > > Matt, that's just crazy talk. > > > 2. Rack core should only include what's necessary for Rack::Lint to > validate > > a basic application at minimum. > > You actually don't need Rack the library to write Rack apps. The Rack > SPEC uses only core Ruby data structures to define the basic protocol. > Rack would include only Rack::Lint at that point. > > Thanks, > Ryan > -- Matt Todd Highgroove Studios www.highgroove.com cell: 404-314-2612 blog: maraby.org Scout - Web Monitoring and Reporting Software www.scoutapp.com