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

Reply via email to