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