[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: API review for 1.11; do we need to mark new APIs as experimental?

From: Julian Foad <julianfoad_at_apache.org>
Date: Sun, 16 Sep 2018 17:13:47 +0100

Stefan Sperling wrote:
> I'm starting to wonder what the point of public experimental APIs really is.
> [...]
> What about just making such APIs private and available under include/private?

subversion/include/private/README says:
[[[
Header files in this private/ directory are for internal APIs shared
across Subversion's implementation. They are not part of the public
API, nor are they ever copied into or under the include/ directory
(e.g. by the installation process).
]]]

In other words, we don't expose the "private" header files to downstream software.

But maybe we should. Is there any practical reason not to? The argument that other people should not see them because we don't think they're good enough may not be a good argument. The argument that other people will start to depend on them if they are available (ignoring our warnings), and will then have a bad experience when we break them later, may also not be a good argument.

For reference, our documentation on the matter is located here:
https://subversion.apache.org/docs/community-guide/conventions.html#interface-visibility
and
https://subversion.apache.org/docs/community-guide/conventions.html#other-conventions

The Book doesn't mention the "private" category in its API section here:
http://svnbook.red-bean.com/en/1.8/svn.developer.usingapi.html

-- 
- Julian
Received on 2018-09-16 18:13:56 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.