On Sat, Jun 4, 2016 at 2:38 PM, Jonathan Ellis <jbel...@gmail.com> wrote:
> FWIW, in very very ancient history we actually had the drivers in tree.  It
> sucked, because the people who wanted to contribute to the drivers were for
> the most part not Committers, and the committers for the most part weren't
> interested in reviewing drivers patches, and you have different,
> non-overlapping sets of contributors for each driver.  (A C++ driver author
> generally isn't very interested in clojure and vice versa.)
>
> Two things really convinced us they didn't belong in tree, even if we
> wanted to live with the above drawbacks:
>
> - If it's in tree, then the Apache committers are viewed as responsible for
> maintaining it.  Never mind if the Perl driver was (hypothetically)
> contributed by some guy who disappeared after a month and none of the
> committers know Perl, we have by committing it implicitly promised to fix
> bugs and keep it up to date with new features.
> - The obvious solution to this problem is to just not commit any driver
> that we don't have enough expertise to maintain ourselves or are not
> sufficiently confident in the author's commitment.  But then you have a
> very clear distinction between "first class," in tree drivers (probably
> just Java, maybe Python too) and everyone else, which didn't sit right with
> us either.

FWIW, at the time, I was probably one of the more vocal proponents of
this model (out-of-tree driver code), but I'm less certain these days.

First off, I think it's probably a false dichotomy to say that if we
were to admit one language that we'd be obligated to admit them all,
or that we'd be compelled to offer some arbitrary level of support for
any or all drivers simply because they are there.  We could, for
example, release a Java driver and only a Java driver because a) there
is room to share some common code with Cassandra, b) because Cassandra
is Java and the expertise is there, and c) because having one driver
is enough to serve as a reference implementation. Or we could have
some subset that met whatever objective criteria we came up with to
address concerns about supportability.  Or we could be liberal about
the drivers we accept, but conservative about the support we provide
(i.e. set realistic expectations).

One thing is as certain now as it was then, to make such a thing work,
we'd need to be far more willing to pull the trigger on new committers
than we are now.  Personally, I think we could benefit from that,
regardless of how you feel about in-tree drivers.

-- 
Eric Evans
john.eric.ev...@gmail.com

Reply via email to