unversioned public libraries in Samba (was: Re: ntdb in Samba?)

Andrew Bartlett abartlet at samba.org
Mon Mar 16 13:31:31 MDT 2015


On Mon, 2015-03-16 at 09:07 +0100, Michael Adam wrote:
> On 2015-03-16 at 07:57 +0100, Volker Lendecke wrote:
> > On Mon, Mar 16, 2015 at 01:13:23PM +1300, Andrew Bartlett wrote:
> > > On Sat, 2015-03-14 at 15:07 +0100, Volker Lendecke wrote:
> > > > On Sat, Mar 14, 2015 at 01:14:31PM +0100, Michael Adam wrote:
> > > > > On 2015-03-13 at 20:51 +0100, Volker Lendecke wrote:
> > > > > > On Fri, Mar 13, 2015 at 06:01:42PM +0100, Michael Adam wrote:
> > > > > > > Excellent idea.
> > > > > > > 
> > > > > > > I also find it regrettable that the proposed git tree has been
> > > > > > > withdrawn so fast..
> > > > > > 
> > > > > > My point is that we need a better communication strategy about which
> > > > > > pieces of Samba we want to take the liberty to change without notice
> > > > > > and which pieces we stick to.
> > > > > 
> > > > > That is easy (and has been stated several times):
> > > > > All components that are not explicitly flagged as
> > > > > published APIs/libraries can be changed by us at will.
> > > > > External consumers will have to adapt.
> > > > 
> > > > So every SAMBA_LIBRARY without private_library=True and with
> > > > a vnum= is a published API? 
> > > 
> > > Yes, that is exactly the rule.
> > 
> > This will make it practically impossible to refactor
> > internals, but thanks for this information.
> 
> The question here is what it means to have a published, or
> as I would even prefer to put it, a versioned API.
> 
> My idea from my last mail still stands, that I think that we of
> course can still change and refactor these systems at will, but
> but that we should keep updating the vnum as an indication of
> need for adaption of consumers.
> 
> IMHO, that's the only promise attached to that.
> Everything else is pure niceness.

Indeed, there is a big difference between:
 - not public APIs (vfs.h is one of these, ouch)
 - public APIs
 - promised API
 - promised ABI

Because in the past, we didn't do so well with providing anything more
than a published API, we imposed some restrictions on some of our
libraries, in particularly the independently buildable libraries.  Even
within those, we have different rules - we do not make ABI promises
about things within ldb_module.h, for example.

We make no promises about some of these, but metze in his reply
describes well the best practices in this area, because we like to be
good to our friends, as that keeps the whole ecosystem strong.

Andrew Bartlett

-- 
Andrew Bartlett
http://samba.org/~abartlet/
Authentication Developer, Samba Team  http://samba.org
Samba Developer, Catalyst IT          http://catalyst.net.nz/services/samba



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20150317/f4d97c15/attachment.pgp>


More information about the samba-technical mailing list