This proposal looks good to me in general. I'm in favor of having
improved recipes available for users, Curator seems to fit the bill.
However as I stated previously while I'd be +1 for this to go to the
incubator (with ZK PMC as sponsor), I'm -0 for this as a sub/artifact.
(this is the same as my vote for BK btw)

I have similar comments to Flavio:

* what does it mean to deprecate the old recipes? Carry them fwd as
deprecated in Curator but not drop them?

* lang bindings - would Curator accept all comers (c, python, perl,
etc...). If not it doesn't seem like a great replacement for current
recipes.

* re diversity I think it's fine, that's what incubation is for - to
build diversity.

Patrick

On Tue, Dec 13, 2011 at 8:46 AM, Jordan Zimmerman
<jzimmer...@netflix.com> wrote:
> While we're not interested in submitting Curator to the Incubator, I've
> prepared a proposal for including Curator as a ZooKeeper sub-project or
> inclusion in the main project. Here's the proposal (for commenting, etc.):
>
>
> Curator, a ZooKeeper Recipe Proposal
> ====================================
>
> == Abstract ==
> Users of Apache ZooKeeper would greatly benefit from having a high quality
> implementation of common recipes included with the ZooKeeper distribution.
> Curator is that implementation.
>
> == Proposal ==
> Apache ZooKeeper should produce a new artifact for recipes/applications.
> This artifact should either be a ZooKeeper sub-project or top-level part
> of ZooKeeper itself. For Java (and possibly other JVM based languages),
> the Netflix Curator project should be the artifact.
>
> The recipe implementations currently included with the ZooKeeper
> distribution should be deprecated in favor of Curator.
>
> == Background ==
> ZooKeeper consists of server software and client software. The client
> implementations that are part of the ZooKeeper distribution are very low
> level and difficult to use correctly. Further, implementing the recipes
> listed in the ZooKeeper documentation is non-trivial and involves deep
> knowledge of ZooKeeper best practices and edge cases.
>
> == Rationale ==
> The existing clients for ZooKeeper are difficult to use and are limited.
> Further, correct usage of ZooKeeper is non-trivial and non-obvious. Users
> of ZooKeeper are mostly interested in the recipes/applications and are not
> likely interested in becoming experts in the minutiae of correct ZooKeeper
> client usage. What they want is a simple way to use the recipes. Curator
> is directed at this goal.
>
> == Current Status ==
> Curator is an active open source project hosted at Github
> (https://github.com/netflix/curator). It has no dependencies other than
> industry standard libraries. It provides implementations for all recipes
> listed on the ZooKeeper recipes doc as well as a high level framework for
> using ZooKeeper that simplifies most of the low level housekeeping
> normally required.
>
> Curator has been open since October, 2011 and has been reviewed by several
> active members of the ZooKeeper community.
>
> Netflix is a strong proponent of open source and is supportive of
> providing the community with this project.
>
> == Core Developers ==
> The initial set of committers are all employees of Netflix, Inc. The lead
> developer is Jordan Zimmerman (jzimmer...@netflix.com), Senior Platform
> Engineer at Netflix, Inc.
>
> == Alignment ==
> The current ZooKeeper distribution has an obvious hole in regard to
> recipes/applications. Curator's minimal dependencies and use of standard
> ZooKeeper components and recipe algorithms make it a natural compliment to
> the ZooKeeper distribution.
>
> == Known Risks ==
> Orphan-ing of Curator:
> ZooKeeper has become a major component at Netflix. Curator is the
> abstraction being used.
>
> Open Source Experience:
> Netflix has major experience with open source. All the committers of
> Curator have long experience with open source.
>
> Homogenous/Salaried Developers:
> The current committers are all salaried employees of Netflix. This
> proposal would help by having a more diverse set of committers.
>
> Ties to Apache products:
> The initial codebase relies heavily on existing Apache technologies and
> will continue to do so.
>
> == Documentation ==
> Comprehensive documentation is at https://github.com/Netflix/curator/wiki
>
> == Initial Source ==
> The source code currently is hosted at Github at:
> https://github.com/Netflix/curator
>
> == External Dependencies ==
> Runtime:
> * Apache ZooKeeper
> * Google Guava
>
> Testing:
> * Test NG
> * Apache Commons Math
> * Mockito
> * Javaassist
>
> Building:
> * Apache Maven
>
> == Initial Committers ==
> Jordan Zimmerman (Netflix, Inc.)
> Jay Zarfoss (Netflix, Inc.)
> Jerome Boulon (Netflix, Inc.)
>
>

Reply via email to