Hi Jordan, Here is some feedback. I like the proposal and it makes sense to have such a project as either sub-project or incubator. I have a few concerns, though:

1- I haven't been following closely the development of the recipes, but I wonder if it really makes sense to deprecate the current ones in favor of Curator's, or if it is a better idea to keep multiple versions in the case of duplicates. People in the community have spent time on the current recipes, so I don't like very much the idea of dropping the current recipes without some evidence that the community accepts it. Note that I'm not saying that deprecating is not the right thing to do, I'm simply saying that we need to make sure that the community agrees.

2- The set of committers needs to be more diverse. Perhaps it would be easier to find more committers if you follow the incubation process, given that typically people sign up for committership once you post a proposal there. I wonder how many other people on this list would like to volunteer to become a committer of Curator, though. I like the project, but unfortunately I don't have the cycles to do it.

3- If Curator becomes a sub-project of ZooKeeper, then you need at least one mentor. Is there anyone who would like to sign up to mentor Curator?

-Flavio

On Dec 13, 2011, at 5:46 PM, Jordan Zimmerman 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.)


It would be good to have more diversity here. I would love to contribute, but I don't feel I have cycles for now.

-Flavio

flavio
junqueira

research scientist

f...@yahoo-inc.com
direct +34 93-183-8828

avinguda diagonal 177, 8th floor, barcelona, 08018, es
phone (408) 349 3300    fax (408) 349 3301

Reply via email to