Return-Path: Delivered-To: apmail-apr-dev-archive@www.apache.org Received: (qmail 99307 invoked from network); 23 Nov 2007 10:37:41 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 23 Nov 2007 10:37:41 -0000 Received: (qmail 50506 invoked by uid 500); 23 Nov 2007 10:37:27 -0000 Delivered-To: apmail-apr-dev-archive@apr.apache.org Received: (qmail 50460 invoked by uid 500); 23 Nov 2007 10:37:27 -0000 Mailing-List: contact dev-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Id: Delivered-To: mailing list dev@apr.apache.org Received: (qmail 50449 invoked by uid 99); 23 Nov 2007 10:37:27 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 Nov 2007 02:37:27 -0800 X-ASF-Spam-Status: No, hits=-4.0 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jorton@redhat.com designates 66.187.233.31 as permitted sender) Received: from [66.187.233.31] (HELO mx1.redhat.com) (66.187.233.31) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 Nov 2007 10:37:16 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.1) with ESMTP id lANAb8I4017152 for ; Fri, 23 Nov 2007 05:37:08 -0500 Received: from turnip.manyfish.co.uk (IDENT:U2FsdGVkX18zMb8d1lCX+XdDbPzQOnV0cCFiW4vfzr8@vpn-14-36.rdu.redhat.com [10.11.14.36]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id lANAb7oV013995 for ; Fri, 23 Nov 2007 05:37:07 -0500 Received: from jorton by turnip.manyfish.co.uk with local (Exim 4.68) (envelope-from ) id 1IvVuE-00021w-WC for dev@apr.apache.org; Fri, 23 Nov 2007 10:37:07 +0000 Date: Fri, 23 Nov 2007 10:37:06 +0000 From: Joe Orton To: dev@apr.apache.org Subject: APR 2.0 proposals Message-ID: <20071123103706.GA4169@redhat.com> Mail-Followup-To: dev@apr.apache.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline User-Agent: Mutt/1.5.16 (2007-06-09) Organization: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in UK and Wales under Company Registration No. 03798903 Directors: Michael Cunningham (USA), Brendan Lane (Ireland), Matt Parson (USA), Charlie Peters (USA) X-Virus-Checked: Checked by ClamAV on apache.org ** Key proposal: "one tree, multiple libraries" Justin has long argued that there is no point in having apr and apr-util as separate trees since everyone uses both or neither, and I agree. The fact that every downstream application picks up depdendencies on half the third-party libraries in existence by linking against apr-util - regardless of whether or not the app uses them - is also a real problem. I think the way forward is to consolidate apr and apr-util into a single tree, but where the code exposes a dependency on a third-party library, build that code into a separate library. So along with libapr, you get a libapr-dbm for the DBM code, a libapr-xml for the XML code, etc. (I know various people have talked about various things along these lines before; not claiming this is an original idea! ;) apr-config is extended to expose a new interface to select which sub-libraries an app wishes to link against. Question: could the sub-libraries become optional-to-build? Not sure. ** Second (more controversial/radical?) proposal: Reduce the consolidated libapr library size by chucking out everything from apr-util which has been around for N years and is not used outside httpd. Anything that is used only by httpd should be moved to the httpd tree, no point everyone else being burdened by it. Also chuck out stuff which has *no* users at all. Impact: maybe gets rid of apr/random/, apr-util/buckets/, apr-util/ldap/, half of apr-util/misc? (If/when httpd moves to the serf buckets model maybe buckets can go away completely?) ** Third proposal: Goes without saying: break API/ABI with wild abandon (ish). OK, flame on. joe