You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by Julian Hyde <jh...@apache.org> on 2016/02/02 19:52:54 UTC
Re: [DISCUSS] Move Avatica to a sub-project?
My feeling is that Avatica ultimately needs to be a TLP, with its own governance. Calcite is, in a sense, incubating it until it is ready. My concern is that if we "release the pressure” we’ll lose the impetus to make it a TLP and get stuck half-way.
That said, Avatica does not have enough activity to be a TLP right now. So let’s start the separation, so that Avatica will be perceived as more independent.
I think Solr is a good example to follow. It is a sub-project of Lucene but is branded separately; for instance, it has its own site: http://lucene.apache.org/solr/ but the projects share a dev list. I like the idea of Avatica having its own site, say http://calcite.apache.org/avatica.
We will need to create a new site directory (in Jekyll layout), a new Avatica parent POM, and a new history.md. However, I am neutral on whether the git repos need to be separated at this point.
Julian
> On Jan 30, 2016, at 8:47 PM, Ted Dunning <te...@gmail.com> wrote:
>
> I would suggest just having a separate release artifact for a time before
> spinning out a separate TLP. Separate TLP is a pain in the *.
>
> Speaking from experience ages ago with Mahout, having a separate artifact
> that had a different audience than the main project worked just fine.
>
>
> On Fri, Jan 29, 2016 at 10:29 PM, Josh Elser <jo...@gmail.com> wrote:
>
>> Yeah, sub project is probably not the right terminology in retrospect. I'm
>> not sure what the word for it is: I was suggesting just another repository
>> and everything else stays the same. Glad you knew what I meant to say.
>>
>> Maybe the question right now is: what would be gained by having a separate
>> PMC (ignoring community building type questions)? I can envision Avatica
>> eventually being mature enough to be a TLP, but would it help to start
>> splitting things now while trying to grow involvement (and solve the
>> community size issues)? Is the middle step worth the effort?
>> On Jan 29, 2016 8:27 PM, "Julian Hyde" <jh...@apache.org> wrote:
>>
>>> Allow me to play devil’s advocate and to look at some other options.
>>>
>>> What would be the practical difference between a sub-project and what we
>>> have now?
>>> * The code split into different repositories
>>> * De-coupled release schedule
>>> * More distinct web site
>>> * But still the same namespace, org.apache.calcite
>>>
>>> By the way, I don’t think what you are proposing is a sub-project in the
>>> Apache sense. (For example, Apache Derby is a sub-project of Apache DB.
>>> Derby’s PMC votes on releases, but DB’s PMC reports to the Apache
>> Board.) I
>>> gather that the Board is apparently no longer very fond of subprojects.
>>>
>>> What you are proposing, I think, would be a module of Calcite (or two -
>>> avatica and avatica-server) whose release schedule is decoupled from the
>>> main project’s release schedule.
>>>
>>> And let’s consider the other alternative: splitting Avatica out as a
>>> top-level project (as ORC recently did from Hive). If Avatica became a
>>> top-level project would naturally have its own repo, release schedule,
>> and
>>> could have its own web site and name space, org.apache.avatica. It would
>>> also have its own governance, i.e. a PMC that reports to the Board.
>>>
>>> It seems to me that Avatica, the software, makes more sense as a
>> top-level
>>> project. Does it make sense for Avatica, the community? I think so. You
>> are
>>> using Avatica for Phoenix independent of Calcite, and others are doing
>>> similar things. The only place we fall short is our number of active
>>> members. We need 3 active PMC members to make a release, and we basically
>>> have 2 right now (you and me).
>>>
>>> If we agree that a TLP is the best option in terms of governance and
>>> perception then we could make a push to recruit more Avatica committers
>> and
>>> PMC members.
>>>
>>> Julian
>>>
>>>
>>>
>>>> On Jan 29, 2016, at 12:35 PM, Josh Elser <jo...@gmail.com> wrote:
>>>>
>>>> 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
>>>
>>>
>>
Re: [DISCUSS] Move Avatica to a sub-project?
Posted by Josh Elser <jo...@gmail.com>.
Right, same thing, different way of saying it (avatica would not
inherit/depend on the calcite parent pom).
Thanks again.
Julian Hyde wrote:
> Calcite’s parent pom is in the root directory of the repo, and it makes sense to keep it there.
>
> So I think Avatica would remain in the avatica directory, avatica/pom.xml would become a parent POM, we’d move avatica-server to become avatica/server and we’d move avatica/src to avatica/core/src. Then we’d add NOTICE, LICENSE, README, site under avatica.
>
> And we’d remove
>
> <module>avatica</module>
> <module>avatica-server</module>
>
> from the calcite parent pom.xml, and make Avatica’s pom.xml inherit directly from the Apache parent pom.
>
> Julian
>
>> On Feb 2, 2016, at 11:05 AM, Josh Elser<jo...@gmail.com> wrote:
>>
>> Any thoughts on how the layout/versioning should work? We could move Avatica into a top-level directory and have it separated from the "calcite" repository. So, to build Avatica, you'd have to `cd avatica&& mvn<foo>`. The calcite modules would pull from your local repo or the configured remote repo(s). This would make cross-cutting changes a bit harder to verify, but it's probably a necessary evil for the eventual separation.
>>
>> I don't think a separate Git repo is required now, but those are pretty cheap as far as INFRA goes (to my understanding) which is why I had suggested it originally.
>>
>> When I get a moment, I'll make some uber/epic JIRA issue to track the stuff to do which we can pile on.
>>
>> Thanks for your input, Julian and Ted.
>>
>> Julian Hyde wrote:
>>> My feeling is that Avatica ultimately needs to be a TLP, with its own governance. Calcite is, in a sense, incubating it until it is ready. My concern is that if we "release the pressure” we’ll lose the impetus to make it a TLP and get stuck half-way.
>>>
>>> That said, Avatica does not have enough activity to be a TLP right now. So let’s start the separation, so that Avatica will be perceived as more independent.
>>>
>>> I think Solr is a good example to follow. It is a sub-project of Lucene but is branded separately; for instance, it has its own site: http://lucene.apache.org/solr/ but the projects share a dev list. I like the idea of Avatica having its own site, say http://calcite.apache.org/avatica.
>>>
>>> We will need to create a new site directory (in Jekyll layout), a new Avatica parent POM, and a new history.md. However, I am neutral on whether the git repos need to be separated at this point.
>>>
>>> Julian
>>>
>>>
>>>
>>>> On Jan 30, 2016, at 8:47 PM, Ted Dunning<te...@gmail.com> wrote:
>>>>
>>>> I would suggest just having a separate release artifact for a time before
>>>> spinning out a separate TLP. Separate TLP is a pain in the *.
>>>>
>>>> Speaking from experience ages ago with Mahout, having a separate artifact
>>>> that had a different audience than the main project worked just fine.
>>>>
>>>>
>>>> On Fri, Jan 29, 2016 at 10:29 PM, Josh Elser<jo...@gmail.com> wrote:
>>>>
>>>>> Yeah, sub project is probably not the right terminology in retrospect. I'm
>>>>> not sure what the word for it is: I was suggesting just another repository
>>>>> and everything else stays the same. Glad you knew what I meant to say.
>>>>>
>>>>> Maybe the question right now is: what would be gained by having a separate
>>>>> PMC (ignoring community building type questions)? I can envision Avatica
>>>>> eventually being mature enough to be a TLP, but would it help to start
>>>>> splitting things now while trying to grow involvement (and solve the
>>>>> community size issues)? Is the middle step worth the effort?
>>>>> On Jan 29, 2016 8:27 PM, "Julian Hyde"<jh...@apache.org> wrote:
>>>>>
>>>>>> Allow me to play devil’s advocate and to look at some other options.
>>>>>>
>>>>>> What would be the practical difference between a sub-project and what we
>>>>>> have now?
>>>>>> * The code split into different repositories
>>>>>> * De-coupled release schedule
>>>>>> * More distinct web site
>>>>>> * But still the same namespace, org.apache.calcite
>>>>>>
>>>>>> By the way, I don’t think what you are proposing is a sub-project in the
>>>>>> Apache sense. (For example, Apache Derby is a sub-project of Apache DB.
>>>>>> Derby’s PMC votes on releases, but DB’s PMC reports to the Apache
>>>>> Board.) I
>>>>>> gather that the Board is apparently no longer very fond of subprojects.
>>>>>>
>>>>>> What you are proposing, I think, would be a module of Calcite (or two -
>>>>>> avatica and avatica-server) whose release schedule is decoupled from the
>>>>>> main project’s release schedule.
>>>>>>
>>>>>> And let’s consider the other alternative: splitting Avatica out as a
>>>>>> top-level project (as ORC recently did from Hive). If Avatica became a
>>>>>> top-level project would naturally have its own repo, release schedule,
>>>>> and
>>>>>> could have its own web site and name space, org.apache.avatica. It would
>>>>>> also have its own governance, i.e. a PMC that reports to the Board.
>>>>>>
>>>>>> It seems to me that Avatica, the software, makes more sense as a
>>>>> top-level
>>>>>> project. Does it make sense for Avatica, the community? I think so. You
>>>>> are
>>>>>> using Avatica for Phoenix independent of Calcite, and others are doing
>>>>>> similar things. The only place we fall short is our number of active
>>>>>> members. We need 3 active PMC members to make a release, and we basically
>>>>>> have 2 right now (you and me).
>>>>>>
>>>>>> If we agree that a TLP is the best option in terms of governance and
>>>>>> perception then we could make a push to recruit more Avatica committers
>>>>> and
>>>>>> PMC members.
>>>>>>
>>>>>> Julian
>>>>>>
>>>>>>
>>>>>>
>>>>>>> On Jan 29, 2016, at 12:35 PM, Josh Elser<jo...@gmail.com> wrote:
>>>>>>>
>>>>>>> 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
>
Re: [DISCUSS] Move Avatica to a sub-project?
Posted by Ron Wheeler <rw...@artifact-software.com>.
The main reason to have a separate repo would be to have a different set
of committers.
Ron
On 02/02/2016 2:16 PM, Julian Hyde wrote:
> Calcite’s parent pom is in the root directory of the repo, and it makes sense to keep it there.
>
> So I think Avatica would remain in the avatica directory, avatica/pom.xml would become a parent POM, we’d move avatica-server to become avatica/server and we’d move avatica/src to avatica/core/src. Then we’d add NOTICE, LICENSE, README, site under avatica.
>
> And we’d remove
>
> <module>avatica</module>
> <module>avatica-server</module>
>
> from the calcite parent pom.xml, and make Avatica’s pom.xml inherit directly from the Apache parent pom.
>
> Julian
>
>> On Feb 2, 2016, at 11:05 AM, Josh Elser <jo...@gmail.com> wrote:
>>
>> Any thoughts on how the layout/versioning should work? We could move Avatica into a top-level directory and have it separated from the "calcite" repository. So, to build Avatica, you'd have to `cd avatica && mvn <foo>`. The calcite modules would pull from your local repo or the configured remote repo(s). This would make cross-cutting changes a bit harder to verify, but it's probably a necessary evil for the eventual separation.
>>
>> I don't think a separate Git repo is required now, but those are pretty cheap as far as INFRA goes (to my understanding) which is why I had suggested it originally.
>>
>> When I get a moment, I'll make some uber/epic JIRA issue to track the stuff to do which we can pile on.
>>
>> Thanks for your input, Julian and Ted.
>>
>> Julian Hyde wrote:
>>> My feeling is that Avatica ultimately needs to be a TLP, with its own governance. Calcite is, in a sense, incubating it until it is ready. My concern is that if we "release the pressure” we’ll lose the impetus to make it a TLP and get stuck half-way.
>>>
>>> That said, Avatica does not have enough activity to be a TLP right now. So let’s start the separation, so that Avatica will be perceived as more independent.
>>>
>>> I think Solr is a good example to follow. It is a sub-project of Lucene but is branded separately; for instance, it has its own site: http://lucene.apache.org/solr/ but the projects share a dev list. I like the idea of Avatica having its own site, say http://calcite.apache.org/avatica.
>>>
>>> We will need to create a new site directory (in Jekyll layout), a new Avatica parent POM, and a new history.md. However, I am neutral on whether the git repos need to be separated at this point.
>>>
>>> Julian
>>>
>>>
>>>
>>>> On Jan 30, 2016, at 8:47 PM, Ted Dunning<te...@gmail.com> wrote:
>>>>
>>>> I would suggest just having a separate release artifact for a time before
>>>> spinning out a separate TLP. Separate TLP is a pain in the *.
>>>>
>>>> Speaking from experience ages ago with Mahout, having a separate artifact
>>>> that had a different audience than the main project worked just fine.
>>>>
>>>>
>>>> On Fri, Jan 29, 2016 at 10:29 PM, Josh Elser<jo...@gmail.com> wrote:
>>>>
>>>>> Yeah, sub project is probably not the right terminology in retrospect. I'm
>>>>> not sure what the word for it is: I was suggesting just another repository
>>>>> and everything else stays the same. Glad you knew what I meant to say.
>>>>>
>>>>> Maybe the question right now is: what would be gained by having a separate
>>>>> PMC (ignoring community building type questions)? I can envision Avatica
>>>>> eventually being mature enough to be a TLP, but would it help to start
>>>>> splitting things now while trying to grow involvement (and solve the
>>>>> community size issues)? Is the middle step worth the effort?
>>>>> On Jan 29, 2016 8:27 PM, "Julian Hyde"<jh...@apache.org> wrote:
>>>>>
>>>>>> Allow me to play devil’s advocate and to look at some other options.
>>>>>>
>>>>>> What would be the practical difference between a sub-project and what we
>>>>>> have now?
>>>>>> * The code split into different repositories
>>>>>> * De-coupled release schedule
>>>>>> * More distinct web site
>>>>>> * But still the same namespace, org.apache.calcite
>>>>>>
>>>>>> By the way, I don’t think what you are proposing is a sub-project in the
>>>>>> Apache sense. (For example, Apache Derby is a sub-project of Apache DB.
>>>>>> Derby’s PMC votes on releases, but DB’s PMC reports to the Apache
>>>>> Board.) I
>>>>>> gather that the Board is apparently no longer very fond of subprojects.
>>>>>>
>>>>>> What you are proposing, I think, would be a module of Calcite (or two -
>>>>>> avatica and avatica-server) whose release schedule is decoupled from the
>>>>>> main project’s release schedule.
>>>>>>
>>>>>> And let’s consider the other alternative: splitting Avatica out as a
>>>>>> top-level project (as ORC recently did from Hive). If Avatica became a
>>>>>> top-level project would naturally have its own repo, release schedule,
>>>>> and
>>>>>> could have its own web site and name space, org.apache.avatica. It would
>>>>>> also have its own governance, i.e. a PMC that reports to the Board.
>>>>>>
>>>>>> It seems to me that Avatica, the software, makes more sense as a
>>>>> top-level
>>>>>> project. Does it make sense for Avatica, the community? I think so. You
>>>>> are
>>>>>> using Avatica for Phoenix independent of Calcite, and others are doing
>>>>>> similar things. The only place we fall short is our number of active
>>>>>> members. We need 3 active PMC members to make a release, and we basically
>>>>>> have 2 right now (you and me).
>>>>>>
>>>>>> If we agree that a TLP is the best option in terms of governance and
>>>>>> perception then we could make a push to recruit more Avatica committers
>>>>> and
>>>>>> PMC members.
>>>>>>
>>>>>> Julian
>>>>>>
>>>>>>
>>>>>>
>>>>>>> On Jan 29, 2016, at 12:35 PM, Josh Elser<jo...@gmail.com> wrote:
>>>>>>>
>>>>>>> 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
>
--
Ron Wheeler
President
Artifact Software Inc
email: rwheeler@artifact-software.com
skype: ronaldmwheeler
phone: 866-970-2435, ext 102
Re: [DISCUSS] Move Avatica to a sub-project?
Posted by Julian Hyde <jh...@apache.org>.
Calcite’s parent pom is in the root directory of the repo, and it makes sense to keep it there.
So I think Avatica would remain in the avatica directory, avatica/pom.xml would become a parent POM, we’d move avatica-server to become avatica/server and we’d move avatica/src to avatica/core/src. Then we’d add NOTICE, LICENSE, README, site under avatica.
And we’d remove
<module>avatica</module>
<module>avatica-server</module>
from the calcite parent pom.xml, and make Avatica’s pom.xml inherit directly from the Apache parent pom.
Julian
> On Feb 2, 2016, at 11:05 AM, Josh Elser <jo...@gmail.com> wrote:
>
> Any thoughts on how the layout/versioning should work? We could move Avatica into a top-level directory and have it separated from the "calcite" repository. So, to build Avatica, you'd have to `cd avatica && mvn <foo>`. The calcite modules would pull from your local repo or the configured remote repo(s). This would make cross-cutting changes a bit harder to verify, but it's probably a necessary evil for the eventual separation.
>
> I don't think a separate Git repo is required now, but those are pretty cheap as far as INFRA goes (to my understanding) which is why I had suggested it originally.
>
> When I get a moment, I'll make some uber/epic JIRA issue to track the stuff to do which we can pile on.
>
> Thanks for your input, Julian and Ted.
>
> Julian Hyde wrote:
>> My feeling is that Avatica ultimately needs to be a TLP, with its own governance. Calcite is, in a sense, incubating it until it is ready. My concern is that if we "release the pressure” we’ll lose the impetus to make it a TLP and get stuck half-way.
>>
>> That said, Avatica does not have enough activity to be a TLP right now. So let’s start the separation, so that Avatica will be perceived as more independent.
>>
>> I think Solr is a good example to follow. It is a sub-project of Lucene but is branded separately; for instance, it has its own site: http://lucene.apache.org/solr/ but the projects share a dev list. I like the idea of Avatica having its own site, say http://calcite.apache.org/avatica.
>>
>> We will need to create a new site directory (in Jekyll layout), a new Avatica parent POM, and a new history.md. However, I am neutral on whether the git repos need to be separated at this point.
>>
>> Julian
>>
>>
>>
>>> On Jan 30, 2016, at 8:47 PM, Ted Dunning<te...@gmail.com> wrote:
>>>
>>> I would suggest just having a separate release artifact for a time before
>>> spinning out a separate TLP. Separate TLP is a pain in the *.
>>>
>>> Speaking from experience ages ago with Mahout, having a separate artifact
>>> that had a different audience than the main project worked just fine.
>>>
>>>
>>> On Fri, Jan 29, 2016 at 10:29 PM, Josh Elser<jo...@gmail.com> wrote:
>>>
>>>> Yeah, sub project is probably not the right terminology in retrospect. I'm
>>>> not sure what the word for it is: I was suggesting just another repository
>>>> and everything else stays the same. Glad you knew what I meant to say.
>>>>
>>>> Maybe the question right now is: what would be gained by having a separate
>>>> PMC (ignoring community building type questions)? I can envision Avatica
>>>> eventually being mature enough to be a TLP, but would it help to start
>>>> splitting things now while trying to grow involvement (and solve the
>>>> community size issues)? Is the middle step worth the effort?
>>>> On Jan 29, 2016 8:27 PM, "Julian Hyde"<jh...@apache.org> wrote:
>>>>
>>>>> Allow me to play devil’s advocate and to look at some other options.
>>>>>
>>>>> What would be the practical difference between a sub-project and what we
>>>>> have now?
>>>>> * The code split into different repositories
>>>>> * De-coupled release schedule
>>>>> * More distinct web site
>>>>> * But still the same namespace, org.apache.calcite
>>>>>
>>>>> By the way, I don’t think what you are proposing is a sub-project in the
>>>>> Apache sense. (For example, Apache Derby is a sub-project of Apache DB.
>>>>> Derby’s PMC votes on releases, but DB’s PMC reports to the Apache
>>>> Board.) I
>>>>> gather that the Board is apparently no longer very fond of subprojects.
>>>>>
>>>>> What you are proposing, I think, would be a module of Calcite (or two -
>>>>> avatica and avatica-server) whose release schedule is decoupled from the
>>>>> main project’s release schedule.
>>>>>
>>>>> And let’s consider the other alternative: splitting Avatica out as a
>>>>> top-level project (as ORC recently did from Hive). If Avatica became a
>>>>> top-level project would naturally have its own repo, release schedule,
>>>> and
>>>>> could have its own web site and name space, org.apache.avatica. It would
>>>>> also have its own governance, i.e. a PMC that reports to the Board.
>>>>>
>>>>> It seems to me that Avatica, the software, makes more sense as a
>>>> top-level
>>>>> project. Does it make sense for Avatica, the community? I think so. You
>>>> are
>>>>> using Avatica for Phoenix independent of Calcite, and others are doing
>>>>> similar things. The only place we fall short is our number of active
>>>>> members. We need 3 active PMC members to make a release, and we basically
>>>>> have 2 right now (you and me).
>>>>>
>>>>> If we agree that a TLP is the best option in terms of governance and
>>>>> perception then we could make a push to recruit more Avatica committers
>>>> and
>>>>> PMC members.
>>>>>
>>>>> Julian
>>>>>
>>>>>
>>>>>
>>>>>> On Jan 29, 2016, at 12:35 PM, Josh Elser<jo...@gmail.com> wrote:
>>>>>>
>>>>>> 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
>>>>>
>>
Re: [DISCUSS] Move Avatica to a sub-project?
Posted by Josh Elser <jo...@gmail.com>.
Any thoughts on how the layout/versioning should work? We could move
Avatica into a top-level directory and have it separated from the
"calcite" repository. So, to build Avatica, you'd have to `cd avatica &&
mvn <foo>`. The calcite modules would pull from your local repo or the
configured remote repo(s). This would make cross-cutting changes a bit
harder to verify, but it's probably a necessary evil for the eventual
separation.
I don't think a separate Git repo is required now, but those are pretty
cheap as far as INFRA goes (to my understanding) which is why I had
suggested it originally.
When I get a moment, I'll make some uber/epic JIRA issue to track the
stuff to do which we can pile on.
Thanks for your input, Julian and Ted.
Julian Hyde wrote:
> My feeling is that Avatica ultimately needs to be a TLP, with its own governance. Calcite is, in a sense, incubating it until it is ready. My concern is that if we "release the pressure” we’ll lose the impetus to make it a TLP and get stuck half-way.
>
> That said, Avatica does not have enough activity to be a TLP right now. So let’s start the separation, so that Avatica will be perceived as more independent.
>
> I think Solr is a good example to follow. It is a sub-project of Lucene but is branded separately; for instance, it has its own site: http://lucene.apache.org/solr/ but the projects share a dev list. I like the idea of Avatica having its own site, say http://calcite.apache.org/avatica.
>
> We will need to create a new site directory (in Jekyll layout), a new Avatica parent POM, and a new history.md. However, I am neutral on whether the git repos need to be separated at this point.
>
> Julian
>
>
>
>> On Jan 30, 2016, at 8:47 PM, Ted Dunning<te...@gmail.com> wrote:
>>
>> I would suggest just having a separate release artifact for a time before
>> spinning out a separate TLP. Separate TLP is a pain in the *.
>>
>> Speaking from experience ages ago with Mahout, having a separate artifact
>> that had a different audience than the main project worked just fine.
>>
>>
>> On Fri, Jan 29, 2016 at 10:29 PM, Josh Elser<jo...@gmail.com> wrote:
>>
>>> Yeah, sub project is probably not the right terminology in retrospect. I'm
>>> not sure what the word for it is: I was suggesting just another repository
>>> and everything else stays the same. Glad you knew what I meant to say.
>>>
>>> Maybe the question right now is: what would be gained by having a separate
>>> PMC (ignoring community building type questions)? I can envision Avatica
>>> eventually being mature enough to be a TLP, but would it help to start
>>> splitting things now while trying to grow involvement (and solve the
>>> community size issues)? Is the middle step worth the effort?
>>> On Jan 29, 2016 8:27 PM, "Julian Hyde"<jh...@apache.org> wrote:
>>>
>>>> Allow me to play devil’s advocate and to look at some other options.
>>>>
>>>> What would be the practical difference between a sub-project and what we
>>>> have now?
>>>> * The code split into different repositories
>>>> * De-coupled release schedule
>>>> * More distinct web site
>>>> * But still the same namespace, org.apache.calcite
>>>>
>>>> By the way, I don’t think what you are proposing is a sub-project in the
>>>> Apache sense. (For example, Apache Derby is a sub-project of Apache DB.
>>>> Derby’s PMC votes on releases, but DB’s PMC reports to the Apache
>>> Board.) I
>>>> gather that the Board is apparently no longer very fond of subprojects.
>>>>
>>>> What you are proposing, I think, would be a module of Calcite (or two -
>>>> avatica and avatica-server) whose release schedule is decoupled from the
>>>> main project’s release schedule.
>>>>
>>>> And let’s consider the other alternative: splitting Avatica out as a
>>>> top-level project (as ORC recently did from Hive). If Avatica became a
>>>> top-level project would naturally have its own repo, release schedule,
>>> and
>>>> could have its own web site and name space, org.apache.avatica. It would
>>>> also have its own governance, i.e. a PMC that reports to the Board.
>>>>
>>>> It seems to me that Avatica, the software, makes more sense as a
>>> top-level
>>>> project. Does it make sense for Avatica, the community? I think so. You
>>> are
>>>> using Avatica for Phoenix independent of Calcite, and others are doing
>>>> similar things. The only place we fall short is our number of active
>>>> members. We need 3 active PMC members to make a release, and we basically
>>>> have 2 right now (you and me).
>>>>
>>>> If we agree that a TLP is the best option in terms of governance and
>>>> perception then we could make a push to recruit more Avatica committers
>>> and
>>>> PMC members.
>>>>
>>>> Julian
>>>>
>>>>
>>>>
>>>>> On Jan 29, 2016, at 12:35 PM, Josh Elser<jo...@gmail.com> wrote:
>>>>>
>>>>> 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
>>>>
>
Re: [DISCUSS] Move Avatica to a sub-project?
Posted by Ted Dunning <te...@gmail.com>.
On Tue, Feb 2, 2016 at 10:52 AM, Julian Hyde <jh...@apache.org> wrote:
> I think Solr is a good example to follow. It is a sub-project of Lucene
> but is branded separately; for instance, it has its own site:
> http://lucene.apache.org/solr/ but the projects share a dev list. I like
> the idea of Avatica having its own site, say
> http://calcite.apache.org/avatica.
>
> We will need to create a new site directory (in Jekyll layout), a new
> Avatica parent POM, and a new history.md. However, I am neutral on
> whether the git repos need to be separated at this point.
>
Solr is an example of exactly the opposite. It used to be a TLP and merged
back into the mother-ship due to version matching sorts of arguments along
with overlap of committers and community.