Hi all,
I remember the question about spinning out Avatica was brought up around
the time Calcite graduation to TLP was happening.
Back then, I think Avatica was too early to really benefit from this
distinction. Lately, I keep finding myself thinking that it might be
time. Of note, features/improvements that have happened since:
* Wire compatibility across releases (protobuf provides the building-blocks)
* Much better docs
* Steady increase in custom Avatica clients (people creating their own
client) [1] is the best OSS example I've come across
* Insight into the Avatica server w/o hacking the code: Logging and
metrics (still WIP, but hopefully landing soon)
In other words, we've gotten much better at defining what is Avatica and
how to use it, with an emphasis in stability across releases. This is
big because a split from calcite "core" would require a very firm
statement of compatibility as Avatica changes would not be directly
noticed to break "core" (as they would now in the same repo).
What I think makes sense is to spin Avatica into its own repository,
still under the Calcite PMC umbrella. In other words, the Calcite PMC
would be responsible for both "Calcite" releases and "Avatica" releases,
and releases of the one don't require a release of the other (although
they may continue to coincide). I don't believe their is significant
interest to justify spinning off Avatica into its own project (w/
governance), thus the "sub-project" works well.
What do others think? Assuming we have release automation down,
hopefully the doubled release work would not be a big concern. What have
I overlooked?
- Josh
[1] https://bitbucket.org/lalinsky/python-phoenixdb
|