Thank you all for this discussion.

I would go with:
- drop contrib modules
- keep fat jar and python
- move python in zookeeper-clients directory
- move fat-jar to the top level directory, next to binary assembly package
(but we won't release it in binary form and we won't deploy to maven
central). We should keep a maven profile to include it, it is quite heavy
and it is useless for most of the cases
- make this change only for master: 3.6 and 3.5 will stay the same
- old stuff is still on git history

We can split the work in a few steps and give time for people to react to
the patches before committing them.

Christopher if you have times to create the patches I will be happy to
follow your work and help

Best regards
Enrico



Il Sab 11 Apr 2020, 06:34 Christopher <ctubb...@apache.org> ha scritto:

> On Fri, Apr 10, 2020 at 12:56 PM Benjamin Reed <br...@apache.org> wrote:
> >
> > did you mean to mention the c client in the list of things to move to
> > another repo? it's not in contribs right now.
>
> No. That was a mistake of mine, based on my understanding of a
> previous response in this thread. However, it might still be a good
> idea at some future point, if it doesn't change frequently.
>
> >
> > i think it would be nice to clean the contrib a bit. i don't really
> > support moving it to a separate repo. the nice thing about keeping it
> > in the same repo is that when there is a change that might break
> > contrib, we can catch it.
>
> Breaking changes can be caught in other ways also, with CI testing, for
> example.
>
> Also, playing "devil's advocate" here, that diverted work to catch and
> fix it isn't free. If the contrib is abandoned, the extra work
> diverted might not be worth it the effort.
>
> >
> > one problem with "cleaning" contrib is that different people have
> > different perspectives on the usefulness. for example, i only use
> > fatjar files. it makes everything easier when using zookeeper. on the
> > other hand, i never use the python binding; i wouldn't recommend it to
> > anyone either: kazoo is just too good!
>
> This is really the main reason to separate stuff into separate
> modules. This allows those self-selected groups of people who care
> more about one component than another, to focus their efforts on the
> thing they care about.
>
> >
> > having said all that, i'm extremely happy you are working on this
> > Christopher! your maven cleanups and enhancements are great!
>
> Thanks. If there's a silver lining to this global pandemic we're all
> living in, it's that I've had a bit more time away from $dayjob to
> contribute to projects I've wanted to help out with for a long time. I
> hope to continue to contribute more. ZooKeeper's a great project.
>
> As for the contribs... I don't actually know how much I'll be helping
> with it at the moment. That really depends on the decisions the PMC
> makes on what actions should be taken. I can help do the work if the
> discussion turns into a resolution for action... but until then, I'm
> happy learning from the conversation, and would be okay with taking no
> action on any of the contribs if that's what is desired. :)
>
>
> > ben
> >
> > On Thu, Apr 9, 2020 at 7:57 PM Christopher <ctubb...@apache.org> wrote:
> > >
> > > On Thu, Apr 9, 2020 at 7:21 AM Enrico Olivelli <eolive...@gmail.com>
> wrote:
> > > >
> > > > Answers inline
> > > >
> > > > Il Gio 9 Apr 2020, 05:28 Christopher <ctubb...@apache.org> ha
> scritto:
> > > >
> > > > > On Wed, Apr 8, 2020 at 2:01 PM Damien Diederen <
> ddiede...@sinenomine.net>
> > > > > wrote:
> > > > > >
> > > > > >
> > > > > > Hi Christopher,
> > > > > >
> > > > > > > I am just curious if anybody has thought about, or perhaps
> discussed,
> > > > > > > the idea that the projects in the zookeeper-contrib folder
> should be
> > > > > > > in their own separate git repos?
> > > > > >
> > > > > > We were discussing this a few days ago:
> > > > > >
> > > > > >
> https://github.com/apache/zookeeper/pull/1068#issuecomment-607160440
> > > > > >
> > > > > > My (only) concern was that I wouldn't want to see contribs *even
> more*
> > > > > > abandoned than they are now:
> > > > >
> > > >
> > > > Yep
> > > > But I'd no one contributes to them it is better to drop them from
> master.
> > > >
> > > > >
> > > > > That's a fair concern. It is always sad to see code get abandoned.
> > > > > Moving them out won't solve a "lack of interest" problem. Apache is
> > > > > composed of volunteers... and sometimes interest in a project
> withers.
> > > > > But, it can help organize whatever remaining (or future) interest
> > > > > there is by decoupling the contrib and presenting it as a smaller,
> > > > > more focused project.
> > > > >
> > > > > >
> > > > > > >> While I wouldn't be opposed to moving "unpopular" bindings to
> their
> > > > > > >> own repository, it would probably only make sense to do so if
> merge
> > > > > > >> rules are somewhat relaxed—as I suspect it would otherwise be
> even
> > > > > > >> more difficult to meet the "two PMC approvals" threshold.
> > > > >
> > > >
> > > > We need two committers +1, not strictly PMCs.
> > > > This is setting the quality of our product,
> > > > everything we deliver must have the same level.
> > >
> > > Are those different for ZooKeeper? I'm not sure what the norm is here.
> > >
> > > For Accumulo and Fluo, we invite people to be PMC at the same time as
> > > committer. (It's easier, because ASF policy is private@ is for PMC,
> > > and PMC status is required to vote on releases.) But, I know lots of
> > > projects keep them separate... as sort of a tiered merit system. Both
> > > have their pros and cons.
> > >
> > > >
> > > > Personally I find good to keep the python binding, and maybe to make
> it a
> > > > sibling of the C client inside the zookeeper-clients module.
> > > > I saw recent activity on fat-jar.
> > > >
> > > > Other modules seem abandoned so no value for me in keeping them.
> > > >
> > >
> > > It would seem kind of wasteful to create a new repo for contrib
> > > modules that are already known to be abandoned. They could just be
> > > dropped. They can always be restored from the history and be moved
> > > into their own repo if there is renewed interest in future.
> > >
> > > I guess there are several options, to mix-and-match:
> > >
> > > 1. delete an already abandoned contrib module from the source tree
> > > (can restore from history if desired),
> > > 2. move a contrib to a new git repo to isolate it from the core build,
> or
> > > 3. keep in the main build... but maybe reorganize, as needed to
> > > improve the build in other ways (better maven profiles?).
> > >
> > > Personally, I think option 2 would be good for the C client and the
> > > python binding, as contributors often have expertise in one language
> > > over another, and it seems that these wouldn't need to be released as
> > > often as the main project. So, they could be more easily maintained
> > > and released independently.
> > >
> > > But, I'm not really in a position to assess the current state of any
> > > particular contrib. Until a few were mentioned here, I hadn't even
> > > looked closely enough to know how many there were or what they each
> > > were for. If I were to help with any of this, I'd rely heavily on
> > > current expertise about the state of existing contribs.
>

Reply via email to