Return-Path: X-Original-To: apmail-hc-dev-archive@www.apache.org Delivered-To: apmail-hc-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 603C11885C for ; Thu, 19 Nov 2015 21:17:49 +0000 (UTC) Received: (qmail 4948 invoked by uid 500); 19 Nov 2015 21:17:49 -0000 Delivered-To: apmail-hc-dev-archive@hc.apache.org Received: (qmail 4912 invoked by uid 500); 19 Nov 2015 21:17:49 -0000 Mailing-List: contact dev-help@hc.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "HttpComponents Project" Delivered-To: mailing list dev@hc.apache.org Received: (qmail 4901 invoked by uid 99); 19 Nov 2015 21:17:49 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Nov 2015 21:17:49 +0000 Received: from [192.168.1.3] (p5DDB7AE2.dip0.t-ipconnect.de [93.219.122.226]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id 961441A00D5 for ; Thu, 19 Nov 2015 21:17:48 +0000 (UTC) Subject: Re: HC 5.0: co-location with HC 4.x To: HttpComponents Project References: <1447932726.2577.28.camel@apache.org> From: Michael Osipov Message-ID: <564E3C76.5090701@apache.org> Date: Thu, 19 Nov 2015 22:17:42 +0100 User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <1447932726.2577.28.camel@apache.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Am 2015-11-19 um 12:32 schrieb Oleg Kalnichevski: > Folks > > I would like to start working on the first alpha releases of HC 5.0. > > There is one issue that still needs to be discussed though before I can > proceed. We need to decide on how we intent to maintain compatibility > with HC 4.x. It is pretty clear that maintaining full compatibility is > unrealistic and probably counter-productive. HC 5.0 is likely to have > different APIs especially once HTTP/2 transport is implemented. > > A pragmatic approach could be to make HC 5.0 and HC 4.x deployable > within the same class loader context (so called co-location). This is > what Apache Commons do with their major releases. We should do > likewise. > > Effectively co-location is about moving major releases to a new package > space like org.apache.commons.lang3, org.apache.commons.lang4, etc. I > think we should adopt a compatible scheme. The trouble is that when the > project was started in 2005 the choice of 'org.apache.http' was pretty > natural and in line with Jakarta practices (anyone here still remembers > Apache Jakarta?). Now it can be seen as too presumptuous. This would be > a good opportunity to fix that. > > What would be a better name space for the project in your opinion? Finally -- at long last. This is something I had in mind for more than six months now. The current approach taken by Apache Commons saved me tons of work rewriting third party components just for namespace clashes. At some point, I had a dependency on a third party, closed source library which still uses HttpClient 3.x (!). Impossible to use 4.x. I had to reverse engineer the calls and reimplement them from scratch. Wasted two weeks for that. I would highly favor a package change/bump every major release. That would give everyone the ability to update at their own pace w/o waiting for third parties, etc. > org.apache.http > org.apache.http.hc > org.apache.hc.http > where is a major release version > > Something else? Any thoughts or preferences? First of all, I wouldn't use any of those. (Currently referring to package names only). Artifact ids are a different story. org.apache.http: that is too general and confuses me with Apache HTTP Server. org.apache.http.hc: http seems redundant here due to hc (http components). org.apache.hc.http: same here. I would do: HC Core: org.apache.hc.core5 HC Client: org.apache.hc.client5 HC Async Cilent: org.apache.hc.asyncclient5 Clean and simple. Each project would be scoped in its namespace. Picking up sebb's opinion, we even reflect the HTTP domain in the package name. Michael --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org For additional commands, e-mail: dev-help@hc.apache.org