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

Reply via email to