Return-Path: X-Original-To: apmail-commons-dev-archive@www.apache.org Delivered-To: apmail-commons-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 A1B8C937A for ; Tue, 6 Dec 2011 10:47:52 +0000 (UTC) Received: (qmail 87525 invoked by uid 500); 6 Dec 2011 10:47:52 -0000 Delivered-To: apmail-commons-dev-archive@commons.apache.org Received: (qmail 87365 invoked by uid 500); 6 Dec 2011 10:47:51 -0000 Mailing-List: contact dev-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Commons Developers List" Delivered-To: mailing list dev@commons.apache.org Received: (qmail 87355 invoked by uid 99); 6 Dec 2011 10:47:51 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Dec 2011 10:47:51 +0000 X-ASF-Spam-Status: No, hits=2.0 required=5.0 tests=SPF_NEUTRAL,URI_HEX X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [216.139.236.26] (HELO sam.nabble.com) (216.139.236.26) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Dec 2011 10:47:45 +0000 Received: from joe.nabble.com ([192.168.236.139]) by sam.nabble.com with esmtp (Exim 4.72) (envelope-from ) id 1RXsYW-0007aj-Bo for dev@commons.apache.org; Tue, 06 Dec 2011 02:47:24 -0800 Date: Tue, 6 Dec 2011 02:47:24 -0800 (PST) From: henrib To: dev@commons.apache.org Message-ID: <1323168444360-4164209.post@n4.nabble.com> In-Reply-To: References: <1322865949872-4150322.post@n4.nabble.com> Subject: Re: [RELEASE PROCESS] Stability versus usability MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org Hi J=C3=B6rg; I've amended the idea based on feedback to *internal* package and @internal annotation (for pragmatic reasons: a good rule is one which is easy to follow and enforce).=20 The naming convention or the annotation would allow clear but also explicit boundary; documentation is necessary but not sufficient IMHO. It should be possible to determine automatically whether "public" code unintentionally exposes or uses an @internal class by transitivity. I agree that packaging should be the preferred way but sometimes, it may be too hard/long/costly to refactor the project; "sprinkling" annotations woul= d not be ideal but would still allow control over the API stability. Cheers, Henrib PS: We might need @experimental or @beta for APIs intended for public use but not stable enough to make a hard cast-in-stone stable contract. -- View this message in context: http://apache-commons.680414.n4.nabble.com/RE= LEASE-PROCESS-Stability-versus-usability-tp4150322p4164209.html Sent from the Commons - Dev mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org For additional commands, e-mail: dev-help@commons.apache.org