You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@incubator.apache.org by Jordan Zimmerman <jo...@jordanzimmerman.com> on 2013/03/05 19:21:06 UTC

[VOTE] Accept Curator into the Incubator

Discussion has settled down so I am calling a VOTE for acceptance of Curator into the Apache Incubator.

The vote will close at on Friday, March 8, 2013.

[ ] +1 Accept Curator into the Apache incubator
[ ] +0 Don't care.
[ ] -1 Don't accept Curator into the incubator because...

Full proposal is pasted below and the corresponding wiki is http://wiki.apache.org/incubator/CuratorProposal

Only VOTEs from Incubator PMC members are binding, but all are welcome to express their thoughts.

Sincerely,

Jordan Zimmerman

=== PROPOSAL ===

Curator - ZooKeeper client wrapper and rich ZooKeeper framework

Abstract

Curator is a set of Java libraries that make using Apache ZooKeeper much easier. While ZooKeeper comes bundled with a Java client, using the client is non-trivial and error prone.

Proposal

Curator is a set of Java libraries that make using Apache ZooKeeper much easier. While ZooKeeper comes bundled with a Java client, using the client is non-trivial and error prone. It consists of three components that build on each other. Curator Client is a replacement for the bundled ZooKeeper class that takes care of some low-level housekeeping and provides some useful utilities. Curator Framework is a high-level API that greatly simplifies using ZooKeeper. It adds many features that build on ZooKeeper and handles the complexity of managing connections to the ZooKeeper cluster and retrying operations. Curator Recipes consists of implementations of some of the common ZooKeeper "recipes". Additionally, Curator Test is included which includes utilities to help with unit testing ZooKeeper-based applications.

Background

Curator was initially developed by Netflix to make writing ZooKeeper-based applications easier and more reliable. Curator was open-sourced by Netflix on GitHub as an Apache 2.0 licensed project in July 2011. During this time Curator has been formally released many times and has gained widespread adoption.

Rationale

New users of ZooKeeper are surprised to learn that a significant amount of connection management must be done manually. For example, when the ZooKeeper client connects to the ensemble it must negotiate a new session, etc. This takes some time. If you use a ZooKeeper client API before the connection process has completed, ZooKeeper will throw an exception. These types of exceptions are referred to as "recoverable" errors. Curator automatically handles connection management, greatly simplifying client code. Instead of directly using the ZooKeeper APIs you use Curator APIs that internally check for connection completion and wrap each ZooKeeper API in a retry loop. Curator uses a retry mechanism to handle recoverable errors and automatically retry operations. The method of retry is customizable. Curator comes bundled with several implementations (ExponentialBackoffRetry, etc.) or custom implementations can be written.

The ZooKeeper documentation describes many possible uses for ZooKeeper calling each a "recipe". While the distribution comes bundled with a few implementations of these recipes, most ZooKeeper users will need to manually implement one or more of the recipes. Implementing a ZooKeeper recipe is not trivial. Besides the connection handling issues, there are numerous edge cases that are not well documented that must be considered. For example, many recipes require that an ephemeral-sequential node be created. New users of ZooKeeper will not know that there is an edge case in ephemeral-sequential node creation that requires you to put a special "marker" in the node’s name so that you can search for the created node if an I/O failure occurs. This is but one of many edge cases that are not well documented but are handled by Curator.

Current Status

Meritocracy

Curator was initially developed by Jordan Zimmerman in 2011 at Netflix. Developers external to Netflix provided feedback, suggested features and fixes and implemented extensions of Curator. Netflix's engineering team has since maintained the project and has been dedicated towards its improvement. Contributors to Curator include developers from multiple organizations around the world. Curator will be a meritocracy as it enters the Incubator and beyond.

Community

Curator is currently used by a number of organizations all over the world. Curator has an active and growing user and developer community with active participation in the http://groups.google.com/group/curator-users mailing list and at its GitHub home: https://github.com/Netflix/curator.

Since open sourcing the project, there have been fifteen individuals from various organizations who have contributed code.

Core Developers

The core developers for Curator are:

	• Jordan Zimmerman
	• Jay Zarfoss
Jordan has contributed towards Apache ZooKeeper and both Jordan and Jay are familiar with Apache principles and philosophy for community driven software development.

Alignment

Curator is a natural complement for Apache ZooKeeper. Java users of ZooKeeper will naturally want to use Curator. When Curator graduates from Incubator it may be useful to distribute Curator artifacts as part of ZooKeeper releases as the preferred/recommended client side library. Further, at graduation a determination can be made as to whether Curator should become a Top Level Project or be merged into ZooKeeper itself. That being said, some IPMC members feel that Curator should grow into its own TLP rather than be a part of ZooKeeper.

Known Risks

Orphaned Products

Curator is already deployed in production at multiple companies and they are actively participating in creating new features. Curator is getting traction with developers and thus the risks of it being orphaned are minimal.

Inexperience with Open Source

All code developed for Curator has been open sourced by Netflix under Apache 2.0 license. All committers to Curator are intimately familiar with the Apache model for open-source development and are experienced with working with new contributors.

Homogeneous Developers

The initial committers are from a single organization. However, we expect that once approved for incubation, the project will attract new contributors from diverse organizations and will thus grow organically. The submission of patches from developers from several different organizations is a strong indication that Curator will be widely adopted.

Reliance on Salaried Developers

It is expected that Curator will be developed on salaried and volunteer time, although all of the initial developers will work on it mainly on salaried time.

Relationships with Other Apache Products

Curator depends upon other Apache Projects: Apache ZooKeeper, Apache Log4J, and multiple Apache Commons components. Its build depends upon Apache Maven. Notably, there is interest from other Apache Projects such as HBase in adopting Curator as the client library for ZooKeeper. Apache James Mailbox has already incorporated Curator.

An Excessive Fascination with the Apache Brand

We would like Curator to become an Apache project to further foster a healthy community of contributors and consumers around the project. Since Curator directly interacts with Apache ZooKeeper and solves an important problem of many ZooKeeper users, residing in the Apache Software Foundation will increase interaction with the larger community.

Documentation

	• Curator wiki at GitHub: https://github.com/Netflix/curator/wiki
	• Curator issues at GitHub: https://github.com/Netflix/curator/issues
	• Curator javadoc at GitHub: http://netflix.github.com/curator/doc/
Initial Source

	• git://github.com/Netflix/curator.git
Source and Intellectual Property Submission Plan

	• The initial source is already licensed under the Apache License, Version 2.0. https://github.com/Netflix/curator/blob/master/LICENSE.txt
External Dependencies

The required external dependencies are all Apache License or compatible licenses. Following components with non-Apache licenses are enumerated:

	• org.slf4j: MIT-like License
	• org.mockito: MIT-like License
Cryptography

Curator contains no known cryptography.

Required Resources

Mailing lists

	• curator-private (with moderated subscriptions)
	• curator-dev
	• curator-commits
	• curator-user
GitHub Repositories

http://github.com/apache/curator git://git.apache.org/curator.git

Issue Tracking

JIRA Curator (CURATOR)

Other Resources

The existing code already has unit and integration tests so we would like a Jenkins instance to run them whenever a new patch is submitted. This can be added after project creation.

Initial Committers

	• Jordan Zimmerman (jzimmerman at netflix dot com)
	• Jay Zarfoss (jzarfoss at netflix dot com)
Affiliations

	• Jordan Zimmerman, Netflix
	• Jay Zarfoss, Netflix
Sponsors

Champion

	• Patrick Hunt
Nominated Mentors

	• Patrick Hunt
	• Enis Söztutar
	• Mahadev Konar
	• Luciano Resende
Sponsoring Entity

	• Apache Incubator PMC


Re: [VOTE] Accept Curator into the Incubator

Posted by Patrick Hunt <ph...@apache.org>.
+1 Accept Curator into the Apache incubator (binding)

On Tue, Mar 5, 2013 at 10:21 AM, Jordan Zimmerman
<jo...@jordanzimmerman.com> wrote:
> Discussion has settled down so I am calling a VOTE for acceptance of Curator into the Apache Incubator.
>
> The vote will close at on Friday, March 8, 2013.
>
> [ ] +1 Accept Curator into the Apache incubator
> [ ] +0 Don't care.
> [ ] -1 Don't accept Curator into the incubator because...
>
> Full proposal is pasted below and the corresponding wiki is http://wiki.apache.org/incubator/CuratorProposal
>
> Only VOTEs from Incubator PMC members are binding, but all are welcome to express their thoughts.
>
> Sincerely,
>
> Jordan Zimmerman
>
> === PROPOSAL ===
>
> Curator - ZooKeeper client wrapper and rich ZooKeeper framework
>
> Abstract
>
> Curator is a set of Java libraries that make using Apache ZooKeeper much easier. While ZooKeeper comes bundled with a Java client, using the client is non-trivial and error prone.
>
> Proposal
>
> Curator is a set of Java libraries that make using Apache ZooKeeper much easier. While ZooKeeper comes bundled with a Java client, using the client is non-trivial and error prone. It consists of three components that build on each other. Curator Client is a replacement for the bundled ZooKeeper class that takes care of some low-level housekeeping and provides some useful utilities. Curator Framework is a high-level API that greatly simplifies using ZooKeeper. It adds many features that build on ZooKeeper and handles the complexity of managing connections to the ZooKeeper cluster and retrying operations. Curator Recipes consists of implementations of some of the common ZooKeeper "recipes". Additionally, Curator Test is included which includes utilities to help with unit testing ZooKeeper-based applications.
>
> Background
>
> Curator was initially developed by Netflix to make writing ZooKeeper-based applications easier and more reliable. Curator was open-sourced by Netflix on GitHub as an Apache 2.0 licensed project in July 2011. During this time Curator has been formally released many times and has gained widespread adoption.
>
> Rationale
>
> New users of ZooKeeper are surprised to learn that a significant amount of connection management must be done manually. For example, when the ZooKeeper client connects to the ensemble it must negotiate a new session, etc. This takes some time. If you use a ZooKeeper client API before the connection process has completed, ZooKeeper will throw an exception. These types of exceptions are referred to as "recoverable" errors. Curator automatically handles connection management, greatly simplifying client code. Instead of directly using the ZooKeeper APIs you use Curator APIs that internally check for connection completion and wrap each ZooKeeper API in a retry loop. Curator uses a retry mechanism to handle recoverable errors and automatically retry operations. The method of retry is customizable. Curator comes bundled with several implementations (ExponentialBackoffRetry, etc.) or custom implementations can be written.
>
> The ZooKeeper documentation describes many possible uses for ZooKeeper calling each a "recipe". While the distribution comes bundled with a few implementations of these recipes, most ZooKeeper users will need to manually implement one or more of the recipes. Implementing a ZooKeeper recipe is not trivial. Besides the connection handling issues, there are numerous edge cases that are not well documented that must be considered. For example, many recipes require that an ephemeral-sequential node be created. New users of ZooKeeper will not know that there is an edge case in ephemeral-sequential node creation that requires you to put a special "marker" in the node’s name so that you can search for the created node if an I/O failure occurs. This is but one of many edge cases that are not well documented but are handled by Curator.
>
> Current Status
>
> Meritocracy
>
> Curator was initially developed by Jordan Zimmerman in 2011 at Netflix. Developers external to Netflix provided feedback, suggested features and fixes and implemented extensions of Curator. Netflix's engineering team has since maintained the project and has been dedicated towards its improvement. Contributors to Curator include developers from multiple organizations around the world. Curator will be a meritocracy as it enters the Incubator and beyond.
>
> Community
>
> Curator is currently used by a number of organizations all over the world. Curator has an active and growing user and developer community with active participation in the http://groups.google.com/group/curator-users mailing list and at its GitHub home: https://github.com/Netflix/curator.
>
> Since open sourcing the project, there have been fifteen individuals from various organizations who have contributed code.
>
> Core Developers
>
> The core developers for Curator are:
>
>         • Jordan Zimmerman
>         • Jay Zarfoss
> Jordan has contributed towards Apache ZooKeeper and both Jordan and Jay are familiar with Apache principles and philosophy for community driven software development.
>
> Alignment
>
> Curator is a natural complement for Apache ZooKeeper. Java users of ZooKeeper will naturally want to use Curator. When Curator graduates from Incubator it may be useful to distribute Curator artifacts as part of ZooKeeper releases as the preferred/recommended client side library. Further, at graduation a determination can be made as to whether Curator should become a Top Level Project or be merged into ZooKeeper itself. That being said, some IPMC members feel that Curator should grow into its own TLP rather than be a part of ZooKeeper.
>
> Known Risks
>
> Orphaned Products
>
> Curator is already deployed in production at multiple companies and they are actively participating in creating new features. Curator is getting traction with developers and thus the risks of it being orphaned are minimal.
>
> Inexperience with Open Source
>
> All code developed for Curator has been open sourced by Netflix under Apache 2.0 license. All committers to Curator are intimately familiar with the Apache model for open-source development and are experienced with working with new contributors.
>
> Homogeneous Developers
>
> The initial committers are from a single organization. However, we expect that once approved for incubation, the project will attract new contributors from diverse organizations and will thus grow organically. The submission of patches from developers from several different organizations is a strong indication that Curator will be widely adopted.
>
> Reliance on Salaried Developers
>
> It is expected that Curator will be developed on salaried and volunteer time, although all of the initial developers will work on it mainly on salaried time.
>
> Relationships with Other Apache Products
>
> Curator depends upon other Apache Projects: Apache ZooKeeper, Apache Log4J, and multiple Apache Commons components. Its build depends upon Apache Maven. Notably, there is interest from other Apache Projects such as HBase in adopting Curator as the client library for ZooKeeper. Apache James Mailbox has already incorporated Curator.
>
> An Excessive Fascination with the Apache Brand
>
> We would like Curator to become an Apache project to further foster a healthy community of contributors and consumers around the project. Since Curator directly interacts with Apache ZooKeeper and solves an important problem of many ZooKeeper users, residing in the Apache Software Foundation will increase interaction with the larger community.
>
> Documentation
>
>         • Curator wiki at GitHub: https://github.com/Netflix/curator/wiki
>         • Curator issues at GitHub: https://github.com/Netflix/curator/issues
>         • Curator javadoc at GitHub: http://netflix.github.com/curator/doc/
> Initial Source
>
>         • git://github.com/Netflix/curator.git
> Source and Intellectual Property Submission Plan
>
>         • The initial source is already licensed under the Apache License, Version 2.0. https://github.com/Netflix/curator/blob/master/LICENSE.txt
> External Dependencies
>
> The required external dependencies are all Apache License or compatible licenses. Following components with non-Apache licenses are enumerated:
>
>         • org.slf4j: MIT-like License
>         • org.mockito: MIT-like License
> Cryptography
>
> Curator contains no known cryptography.
>
> Required Resources
>
> Mailing lists
>
>         • curator-private (with moderated subscriptions)
>         • curator-dev
>         • curator-commits
>         • curator-user
> GitHub Repositories
>
> http://github.com/apache/curator git://git.apache.org/curator.git
>
> Issue Tracking
>
> JIRA Curator (CURATOR)
>
> Other Resources
>
> The existing code already has unit and integration tests so we would like a Jenkins instance to run them whenever a new patch is submitted. This can be added after project creation.
>
> Initial Committers
>
>         • Jordan Zimmerman (jzimmerman at netflix dot com)
>         • Jay Zarfoss (jzarfoss at netflix dot com)
> Affiliations
>
>         • Jordan Zimmerman, Netflix
>         • Jay Zarfoss, Netflix
> Sponsors
>
> Champion
>
>         • Patrick Hunt
> Nominated Mentors
>
>         • Patrick Hunt
>         • Enis Söztutar
>         • Mahadev Konar
>         • Luciano Resende
> Sponsoring Entity
>
>         • Apache Incubator PMC
>

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Re: [VOTE] Accept Curator into the Incubator

Posted by Eric Charles <er...@apache.org>.
[x] +1 (non binding)

Eric


On 05/03/2013 18:21, Jordan Zimmerman wrote:
> Discussion has settled down so I am calling a VOTE for acceptance of Curator into the Apache Incubator.
>
> The vote will close at on Friday, March 8, 2013.
>
> [ ] +1 Accept Curator into the Apache incubator
> [ ] +0 Don't care.
> [ ] -1 Don't accept Curator into the incubator because...
>
> Full proposal is pasted below and the corresponding wiki is http://wiki.apache.org/incubator/CuratorProposal
>
> Only VOTEs from Incubator PMC members are binding, but all are welcome to express their thoughts.
>
> Sincerely,
>
> Jordan Zimmerman
>
> === PROPOSAL ===
>
> Curator - ZooKeeper client wrapper and rich ZooKeeper framework
>
> Abstract
>
> Curator is a set of Java libraries that make using Apache ZooKeeper much easier. While ZooKeeper comes bundled with a Java client, using the client is non-trivial and error prone.
>
> Proposal
>
> Curator is a set of Java libraries that make using Apache ZooKeeper much easier. While ZooKeeper comes bundled with a Java client, using the client is non-trivial and error prone. It consists of three components that build on each other. Curator Client is a replacement for the bundled ZooKeeper class that takes care of some low-level housekeeping and provides some useful utilities. Curator Framework is a high-level API that greatly simplifies using ZooKeeper. It adds many features that build on ZooKeeper and handles the complexity of managing connections to the ZooKeeper cluster and retrying operations. Curator Recipes consists of implementations of some of the common ZooKeeper "recipes". Additionally, Curator Test is included which includes utilities to help with unit testing ZooKeeper-based applications.
>
> Background
>
> Curator was initially developed by Netflix to make writing ZooKeeper-based applications easier and more reliable. Curator was open-sourced by Netflix on GitHub as an Apache 2.0 licensed project in July 2011. During this time Curator has been formally released many times and has gained widespread adoption.
>
> Rationale
>
> New users of ZooKeeper are surprised to learn that a significant amount of connection management must be done manually. For example, when the ZooKeeper client connects to the ensemble it must negotiate a new session, etc. This takes some time. If you use a ZooKeeper client API before the connection process has completed, ZooKeeper will throw an exception. These types of exceptions are referred to as "recoverable" errors. Curator automatically handles connection management, greatly simplifying client code. Instead of directly using the ZooKeeper APIs you use Curator APIs that internally check for connection completion and wrap each ZooKeeper API in a retry loop. Curator uses a retry mechanism to handle recoverable errors and automatically retry operations. The method of retry is customizable. Curator comes bundled with several implementations (ExponentialBackoffRetry, etc.) or custom implementations can be written.
>
> The ZooKeeper documentation describes many possible uses for ZooKeeper calling each a "recipe". While the distribution comes bundled with a few implementations of these recipes, most ZooKeeper users will need to manually implement one or more of the recipes. Implementing a ZooKeeper recipe is not trivial. Besides the connection handling issues, there are numerous edge cases that are not well documented that must be considered. For example, many recipes require that an ephemeral-sequential node be created. New users of ZooKeeper will not know that there is an edge case in ephemeral-sequential node creation that requires you to put a special "marker" in the node?s name so that you can search for the created node if an I/O failure occurs. This is but one of many edge cases that are not well documented but are handled by Curator.
>
> Current Status
>
> Meritocracy
>
> Curator was initially developed by Jordan Zimmerman in 2011 at Netflix. Developers external to Netflix provided feedback, suggested features and fixes and implemented extensions of Curator. Netflix's engineering team has since maintained the project and has been dedicated towards its improvement. Contributors to Curator include developers from multiple organizations around the world. Curator will be a meritocracy as it enters the Incubator and beyond.
>
> Community
>
> Curator is currently used by a number of organizations all over the world. Curator has an active and growing user and developer community with active participation in the http://groups.google.com/group/curator-users mailing list and at its GitHub home: https://github.com/Netflix/curator.
>
> Since open sourcing the project, there have been fifteen individuals from various organizations who have contributed code.
>
> Core Developers
>
> The core developers for Curator are:
>
> 	? Jordan Zimmerman
> 	? Jay Zarfoss
> Jordan has contributed towards Apache ZooKeeper and both Jordan and Jay are familiar with Apache principles and philosophy for community driven software development.
>
> Alignment
>
> Curator is a natural complement for Apache ZooKeeper. Java users of ZooKeeper will naturally want to use Curator. When Curator graduates from Incubator it may be useful to distribute Curator artifacts as part of ZooKeeper releases as the preferred/recommended client side library. Further, at graduation a determination can be made as to whether Curator should become a Top Level Project or be merged into ZooKeeper itself. That being said, some IPMC members feel that Curator should grow into its own TLP rather than be a part of ZooKeeper.
>
> Known Risks
>
> Orphaned Products
>
> Curator is already deployed in production at multiple companies and they are actively participating in creating new features. Curator is getting traction with developers and thus the risks of it being orphaned are minimal.
>
> Inexperience with Open Source
>
> All code developed for Curator has been open sourced by Netflix under Apache 2.0 license. All committers to Curator are intimately familiar with the Apache model for open-source development and are experienced with working with new contributors.
>
> Homogeneous Developers
>
> The initial committers are from a single organization. However, we expect that once approved for incubation, the project will attract new contributors from diverse organizations and will thus grow organically. The submission of patches from developers from several different organizations is a strong indication that Curator will be widely adopted.
>
> Reliance on Salaried Developers
>
> It is expected that Curator will be developed on salaried and volunteer time, although all of the initial developers will work on it mainly on salaried time.
>
> Relationships with Other Apache Products
>
> Curator depends upon other Apache Projects: Apache ZooKeeper, Apache Log4J, and multiple Apache Commons components. Its build depends upon Apache Maven. Notably, there is interest from other Apache Projects such as HBase in adopting Curator as the client library for ZooKeeper. Apache James Mailbox has already incorporated Curator.
>
> An Excessive Fascination with the Apache Brand
>
> We would like Curator to become an Apache project to further foster a healthy community of contributors and consumers around the project. Since Curator directly interacts with Apache ZooKeeper and solves an important problem of many ZooKeeper users, residing in the Apache Software Foundation will increase interaction with the larger community.
>
> Documentation
>
> 	? Curator wiki at GitHub: https://github.com/Netflix/curator/wiki
> 	? Curator issues at GitHub: https://github.com/Netflix/curator/issues
> 	? Curator javadoc at GitHub: http://netflix.github.com/curator/doc/
> Initial Source
>
> 	? git://github.com/Netflix/curator.git
> Source and Intellectual Property Submission Plan
>
> 	? The initial source is already licensed under the Apache License, Version 2.0. https://github.com/Netflix/curator/blob/master/LICENSE.txt
> External Dependencies
>
> The required external dependencies are all Apache License or compatible licenses. Following components with non-Apache licenses are enumerated:
>
> 	? org.slf4j: MIT-like License
> 	? org.mockito: MIT-like License
> Cryptography
>
> Curator contains no known cryptography.
>
> Required Resources
>
> Mailing lists
>
> 	? curator-private (with moderated subscriptions)
> 	? curator-dev
> 	? curator-commits
> 	? curator-user
> GitHub Repositories
>
> http://github.com/apache/curator git://git.apache.org/curator.git
>
> Issue Tracking
>
> JIRA Curator (CURATOR)
>
> Other Resources
>
> The existing code already has unit and integration tests so we would like a Jenkins instance to run them whenever a new patch is submitted. This can be added after project creation.
>
> Initial Committers
>
> 	? Jordan Zimmerman (jzimmerman at netflix dot com)
> 	? Jay Zarfoss (jzarfoss at netflix dot com)
> Affiliations
>
> 	? Jordan Zimmerman, Netflix
> 	? Jay Zarfoss, Netflix
> Sponsors
>
> Champion
>
> 	? Patrick Hunt
> Nominated Mentors
>
> 	? Patrick Hunt
> 	? Enis S�ztutar
> 	? Mahadev Konar
> 	? Luciano Resende
> Sponsoring Entity
>
> 	? Apache Incubator PMC
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Re: [VOTE] Accept Curator into the Incubator

Posted by Luciano Resende <lu...@gmail.com>.
On Tue, Mar 5, 2013 at 10:21 AM, Jordan Zimmerman
<jo...@jordanzimmerman.com> wrote:
> Discussion has settled down so I am calling a VOTE for acceptance of Curator into the Apache Incubator.
>
> The vote will close at on Friday, March 8, 2013.
>
> [ ] +1 Accept Curator into the Apache incubator
> [ ] +0 Don't care.
> [ ] -1 Don't accept Curator into the incubator because...
>
> Full proposal is pasted below and the corresponding wiki is http://wiki.apache.org/incubator/CuratorProposal
>
> Only VOTEs from Incubator PMC members are binding, but all are welcome to express their thoughts.
>
> Sincerely,
>
> Jordan Zimmerman
>
> === PROPOSAL ===
>
> Curator - ZooKeeper client wrapper and rich ZooKeeper framework
>
> Abstract
>
> Curator is a set of Java libraries that make using Apache ZooKeeper much easier. While ZooKeeper comes bundled with a Java client, using the client is non-trivial and error prone.
>
> Proposal
>
> Curator is a set of Java libraries that make using Apache ZooKeeper much easier. While ZooKeeper comes bundled with a Java client, using the client is non-trivial and error prone. It consists of three components that build on each other. Curator Client is a replacement for the bundled ZooKeeper class that takes care of some low-level housekeeping and provides some useful utilities. Curator Framework is a high-level API that greatly simplifies using ZooKeeper. It adds many features that build on ZooKeeper and handles the complexity of managing connections to the ZooKeeper cluster and retrying operations. Curator Recipes consists of implementations of some of the common ZooKeeper "recipes". Additionally, Curator Test is included which includes utilities to help with unit testing ZooKeeper-based applications.
>
> Background
>
> Curator was initially developed by Netflix to make writing ZooKeeper-based applications easier and more reliable. Curator was open-sourced by Netflix on GitHub as an Apache 2.0 licensed project in July 2011. During this time Curator has been formally released many times and has gained widespread adoption.
>
> Rationale
>
> New users of ZooKeeper are surprised to learn that a significant amount of connection management must be done manually. For example, when the ZooKeeper client connects to the ensemble it must negotiate a new session, etc. This takes some time. If you use a ZooKeeper client API before the connection process has completed, ZooKeeper will throw an exception. These types of exceptions are referred to as "recoverable" errors. Curator automatically handles connection management, greatly simplifying client code. Instead of directly using the ZooKeeper APIs you use Curator APIs that internally check for connection completion and wrap each ZooKeeper API in a retry loop. Curator uses a retry mechanism to handle recoverable errors and automatically retry operations. The method of retry is customizable. Curator comes bundled with several implementations (ExponentialBackoffRetry, etc.) or custom implementations can be written.
>
> The ZooKeeper documentation describes many possible uses for ZooKeeper calling each a "recipe". While the distribution comes bundled with a few implementations of these recipes, most ZooKeeper users will need to manually implement one or more of the recipes. Implementing a ZooKeeper recipe is not trivial. Besides the connection handling issues, there are numerous edge cases that are not well documented that must be considered. For example, many recipes require that an ephemeral-sequential node be created. New users of ZooKeeper will not know that there is an edge case in ephemeral-sequential node creation that requires you to put a special "marker" in the node’s name so that you can search for the created node if an I/O failure occurs. This is but one of many edge cases that are not well documented but are handled by Curator.
>
> Current Status
>
> Meritocracy
>
> Curator was initially developed by Jordan Zimmerman in 2011 at Netflix. Developers external to Netflix provided feedback, suggested features and fixes and implemented extensions of Curator. Netflix's engineering team has since maintained the project and has been dedicated towards its improvement. Contributors to Curator include developers from multiple organizations around the world. Curator will be a meritocracy as it enters the Incubator and beyond.
>
> Community
>
> Curator is currently used by a number of organizations all over the world. Curator has an active and growing user and developer community with active participation in the http://groups.google.com/group/curator-users mailing list and at its GitHub home: https://github.com/Netflix/curator.
>
> Since open sourcing the project, there have been fifteen individuals from various organizations who have contributed code.
>
> Core Developers
>
> The core developers for Curator are:
>
>         • Jordan Zimmerman
>         • Jay Zarfoss
> Jordan has contributed towards Apache ZooKeeper and both Jordan and Jay are familiar with Apache principles and philosophy for community driven software development.
>
> Alignment
>
> Curator is a natural complement for Apache ZooKeeper. Java users of ZooKeeper will naturally want to use Curator. When Curator graduates from Incubator it may be useful to distribute Curator artifacts as part of ZooKeeper releases as the preferred/recommended client side library. Further, at graduation a determination can be made as to whether Curator should become a Top Level Project or be merged into ZooKeeper itself. That being said, some IPMC members feel that Curator should grow into its own TLP rather than be a part of ZooKeeper.
>
> Known Risks
>
> Orphaned Products
>
> Curator is already deployed in production at multiple companies and they are actively participating in creating new features. Curator is getting traction with developers and thus the risks of it being orphaned are minimal.
>
> Inexperience with Open Source
>
> All code developed for Curator has been open sourced by Netflix under Apache 2.0 license. All committers to Curator are intimately familiar with the Apache model for open-source development and are experienced with working with new contributors.
>
> Homogeneous Developers
>
> The initial committers are from a single organization. However, we expect that once approved for incubation, the project will attract new contributors from diverse organizations and will thus grow organically. The submission of patches from developers from several different organizations is a strong indication that Curator will be widely adopted.
>
> Reliance on Salaried Developers
>
> It is expected that Curator will be developed on salaried and volunteer time, although all of the initial developers will work on it mainly on salaried time.
>
> Relationships with Other Apache Products
>
> Curator depends upon other Apache Projects: Apache ZooKeeper, Apache Log4J, and multiple Apache Commons components. Its build depends upon Apache Maven. Notably, there is interest from other Apache Projects such as HBase in adopting Curator as the client library for ZooKeeper. Apache James Mailbox has already incorporated Curator.
>
> An Excessive Fascination with the Apache Brand
>
> We would like Curator to become an Apache project to further foster a healthy community of contributors and consumers around the project. Since Curator directly interacts with Apache ZooKeeper and solves an important problem of many ZooKeeper users, residing in the Apache Software Foundation will increase interaction with the larger community.
>
> Documentation
>
>         • Curator wiki at GitHub: https://github.com/Netflix/curator/wiki
>         • Curator issues at GitHub: https://github.com/Netflix/curator/issues
>         • Curator javadoc at GitHub: http://netflix.github.com/curator/doc/
> Initial Source
>
>         • git://github.com/Netflix/curator.git
> Source and Intellectual Property Submission Plan
>
>         • The initial source is already licensed under the Apache License, Version 2.0. https://github.com/Netflix/curator/blob/master/LICENSE.txt
> External Dependencies
>
> The required external dependencies are all Apache License or compatible licenses. Following components with non-Apache licenses are enumerated:
>
>         • org.slf4j: MIT-like License
>         • org.mockito: MIT-like License
> Cryptography
>
> Curator contains no known cryptography.
>
> Required Resources
>
> Mailing lists
>
>         • curator-private (with moderated subscriptions)
>         • curator-dev
>         • curator-commits
>         • curator-user
> GitHub Repositories
>
> http://github.com/apache/curator git://git.apache.org/curator.git
>
> Issue Tracking
>
> JIRA Curator (CURATOR)
>
> Other Resources
>
> The existing code already has unit and integration tests so we would like a Jenkins instance to run them whenever a new patch is submitted. This can be added after project creation.
>
> Initial Committers
>
>         • Jordan Zimmerman (jzimmerman at netflix dot com)
>         • Jay Zarfoss (jzarfoss at netflix dot com)
> Affiliations
>
>         • Jordan Zimmerman, Netflix
>         • Jay Zarfoss, Netflix
> Sponsors
>
> Champion
>
>         • Patrick Hunt
> Nominated Mentors
>
>         • Patrick Hunt
>         • Enis Söztutar
>         • Mahadev Konar
>         • Luciano Resende
> Sponsoring Entity
>
>         • Apache Incubator PMC
>


+1 (binding)


-- 
Luciano Resende
http://people.apache.org/~lresende
http://twitter.com/lresende1975
http://lresende.blogspot.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Re: [VOTE] Accept Curator into the Incubator

Posted by Mahadev Konar <ma...@apache.org>.
+1 (binding)


thanks
mahadev

On Wed, Mar 6, 2013 at 7:14 PM, Enis Söztutar <en...@apache.org> wrote:

> +1 (binding)
>
> Disclosure: I am one of the mentors.
>
>
> On Wed, Mar 6, 2013 at 4:27 AM, Ioan Eugen Stan <stan.ieugen@gmail.com
> >wrote:
>
> > +1 non binding
> >
> > --
> > Ioan Eugen Stan
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
> > For additional commands, e-mail: general-help@incubator.apache.org
> >
> >
>

Re: [VOTE] Accept Curator into the Incubator

Posted by Enis Söztutar <en...@apache.org>.
+1 (binding)

Disclosure: I am one of the mentors.


On Wed, Mar 6, 2013 at 4:27 AM, Ioan Eugen Stan <st...@gmail.com>wrote:

> +1 non binding
>
> --
> Ioan Eugen Stan
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
> For additional commands, e-mail: general-help@incubator.apache.org
>
>

Re: [VOTE] Accept Curator into the Incubator

Posted by Ioan Eugen Stan <st...@gmail.com>.
+1 non binding

-- 
Ioan Eugen Stan

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Re: [VOTE] Accept Curator into the Incubator

Posted by Ioannis Canellos <io...@gmail.com>.
+1 non-binding

Re: [VOTE] Accept Curator into the Incubator

Posted by Andrew Purtell <ap...@apache.org>.
+1 (non binding).


On Wed, Mar 6, 2013 at 2:21 AM, Jordan Zimmerman <jordan@jordanzimmerman.com
> wrote:

> Discussion has settled down so I am calling a VOTE for acceptance of
> Curator into the Apache Incubator.
>
> The vote will close at on Friday, March 8, 2013.
>
> [ ] +1 Accept Curator into the Apache incubator
> [ ] +0 Don't care.
> [ ] -1 Don't accept Curator into the incubator because...
>
> Full proposal is pasted below and the corresponding wiki is
> http://wiki.apache.org/incubator/CuratorProposal
>
> Only VOTEs from Incubator PMC members are binding, but all are welcome to
> express their thoughts.
>
> Sincerely,
>
> Jordan Zimmerman
>
> === PROPOSAL ===
>
> Curator - ZooKeeper client wrapper and rich ZooKeeper framework
>
> Abstract
>
> Curator is a set of Java libraries that make using Apache ZooKeeper much
> easier. While ZooKeeper comes bundled with a Java client, using the client
> is non-trivial and error prone.
>
> Proposal
>
> Curator is a set of Java libraries that make using Apache ZooKeeper much
> easier. While ZooKeeper comes bundled with a Java client, using the client
> is non-trivial and error prone. It consists of three components that build
> on each other. Curator Client is a replacement for the bundled ZooKeeper
> class that takes care of some low-level housekeeping and provides some
> useful utilities. Curator Framework is a high-level API that greatly
> simplifies using ZooKeeper. It adds many features that build on ZooKeeper
> and handles the complexity of managing connections to the ZooKeeper cluster
> and retrying operations. Curator Recipes consists of implementations of
> some of the common ZooKeeper "recipes". Additionally, Curator Test is
> included which includes utilities to help with unit testing ZooKeeper-based
> applications.
>
> Background
>
> Curator was initially developed by Netflix to make writing ZooKeeper-based
> applications easier and more reliable. Curator was open-sourced by Netflix
> on GitHub as an Apache 2.0 licensed project in July 2011. During this time
> Curator has been formally released many times and has gained widespread
> adoption.
>
> Rationale
>
> New users of ZooKeeper are surprised to learn that a significant amount of
> connection management must be done manually. For example, when the
> ZooKeeper client connects to the ensemble it must negotiate a new session,
> etc. This takes some time. If you use a ZooKeeper client API before the
> connection process has completed, ZooKeeper will throw an exception. These
> types of exceptions are referred to as "recoverable" errors. Curator
> automatically handles connection management, greatly simplifying client
> code. Instead of directly using the ZooKeeper APIs you use Curator APIs
> that internally check for connection completion and wrap each ZooKeeper API
> in a retry loop. Curator uses a retry mechanism to handle recoverable
> errors and automatically retry operations. The method of retry is
> customizable. Curator comes bundled with several implementations
> (ExponentialBackoffRetry, etc.) or custom implementations can be written.
>
> The ZooKeeper documentation describes many possible uses for ZooKeeper
> calling each a "recipe". While the distribution comes bundled with a few
> implementations of these recipes, most ZooKeeper users will need to
> manually implement one or more of the recipes. Implementing a ZooKeeper
> recipe is not trivial. Besides the connection handling issues, there are
> numerous edge cases that are not well documented that must be considered.
> For example, many recipes require that an ephemeral-sequential node be
> created. New users of ZooKeeper will not know that there is an edge case in
> ephemeral-sequential node creation that requires you to put a special
> "marker" in the node’s name so that you can search for the created node if
> an I/O failure occurs. This is but one of many edge cases that are not well
> documented but are handled by Curator.
>
> Current Status
>
> Meritocracy
>
> Curator was initially developed by Jordan Zimmerman in 2011 at Netflix.
> Developers external to Netflix provided feedback, suggested features and
> fixes and implemented extensions of Curator. Netflix's engineering team has
> since maintained the project and has been dedicated towards its
> improvement. Contributors to Curator include developers from multiple
> organizations around the world. Curator will be a meritocracy as it enters
> the Incubator and beyond.
>
> Community
>
> Curator is currently used by a number of organizations all over the world.
> Curator has an active and growing user and developer community with active
> participation in the http://groups.google.com/group/curator-users mailing
> list and at its GitHub home: https://github.com/Netflix/curator.
>
> Since open sourcing the project, there have been fifteen individuals from
> various organizations who have contributed code.
>
> Core Developers
>
> The core developers for Curator are:
>
>         • Jordan Zimmerman
>         • Jay Zarfoss
> Jordan has contributed towards Apache ZooKeeper and both Jordan and Jay
> are familiar with Apache principles and philosophy for community driven
> software development.
>
> Alignment
>
> Curator is a natural complement for Apache ZooKeeper. Java users of
> ZooKeeper will naturally want to use Curator. When Curator graduates from
> Incubator it may be useful to distribute Curator artifacts as part of
> ZooKeeper releases as the preferred/recommended client side library.
> Further, at graduation a determination can be made as to whether Curator
> should become a Top Level Project or be merged into ZooKeeper itself. That
> being said, some IPMC members feel that Curator should grow into its own
> TLP rather than be a part of ZooKeeper.
>
> Known Risks
>
> Orphaned Products
>
> Curator is already deployed in production at multiple companies and they
> are actively participating in creating new features. Curator is getting
> traction with developers and thus the risks of it being orphaned are
> minimal.
>
> Inexperience with Open Source
>
> All code developed for Curator has been open sourced by Netflix under
> Apache 2.0 license. All committers to Curator are intimately familiar with
> the Apache model for open-source development and are experienced with
> working with new contributors.
>
> Homogeneous Developers
>
> The initial committers are from a single organization. However, we expect
> that once approved for incubation, the project will attract new
> contributors from diverse organizations and will thus grow organically. The
> submission of patches from developers from several different organizations
> is a strong indication that Curator will be widely adopted.
>
> Reliance on Salaried Developers
>
> It is expected that Curator will be developed on salaried and volunteer
> time, although all of the initial developers will work on it mainly on
> salaried time.
>
> Relationships with Other Apache Products
>
> Curator depends upon other Apache Projects: Apache ZooKeeper, Apache
> Log4J, and multiple Apache Commons components. Its build depends upon
> Apache Maven. Notably, there is interest from other Apache Projects such as
> HBase in adopting Curator as the client library for ZooKeeper. Apache James
> Mailbox has already incorporated Curator.
>
> An Excessive Fascination with the Apache Brand
>
> We would like Curator to become an Apache project to further foster a
> healthy community of contributors and consumers around the project. Since
> Curator directly interacts with Apache ZooKeeper and solves an important
> problem of many ZooKeeper users, residing in the Apache Software Foundation
> will increase interaction with the larger community.
>
> Documentation
>
>         • Curator wiki at GitHub: https://github.com/Netflix/curator/wiki
>         • Curator issues at GitHub:
> https://github.com/Netflix/curator/issues
>         • Curator javadoc at GitHub:
> http://netflix.github.com/curator/doc/
> Initial Source
>
>         • git://github.com/Netflix/curator.git
> Source and Intellectual Property Submission Plan
>
>         • The initial source is already licensed under the Apache License,
> Version 2.0. https://github.com/Netflix/curator/blob/master/LICENSE.txt
> External Dependencies
>
> The required external dependencies are all Apache License or compatible
> licenses. Following components with non-Apache licenses are enumerated:
>
>         • org.slf4j: MIT-like License
>         • org.mockito: MIT-like License
> Cryptography
>
> Curator contains no known cryptography.
>
> Required Resources
>
> Mailing lists
>
>         • curator-private (with moderated subscriptions)
>         • curator-dev
>         • curator-commits
>         • curator-user
> GitHub Repositories
>
> http://github.com/apache/curator git://git.apache.org/curator.git
>
> Issue Tracking
>
> JIRA Curator (CURATOR)
>
> Other Resources
>
> The existing code already has unit and integration tests so we would like
> a Jenkins instance to run them whenever a new patch is submitted. This can
> be added after project creation.
>
> Initial Committers
>
>         • Jordan Zimmerman (jzimmerman at netflix dot com)
>         • Jay Zarfoss (jzarfoss at netflix dot com)
> Affiliations
>
>         • Jordan Zimmerman, Netflix
>         • Jay Zarfoss, Netflix
> Sponsors
>
> Champion
>
>         • Patrick Hunt
> Nominated Mentors
>
>         • Patrick Hunt
>         • Enis Söztutar
>         • Mahadev Konar
>         • Luciano Resende
> Sponsoring Entity
>
>         • Apache Incubator PMC
>
>


-- 
Best regards,

   - Andy

Problems worthy of attack prove their worth by hitting back. - Piet Hein
(via Tom White)

Fwd: [VOTE] Accept Curator into the Incubator

Posted by Jordan Zimmerman <jo...@jordanzimmerman.com>.
Are any of you PMC members? If so, I'd appreciate a vote on putting Curator in the Incubator. The vote is going on now.

-JZ

> On 3/5/13 10:21 AM, "Jordan Zimmerman" <jo...@jordanzimmerman.com> wrote:
> 
>> Discussion has settled down so I am calling a VOTE for acceptance of
>> Curator into the Apache Incubator.
>> 
>> The vote will close at on Friday, March 8, 2013.
>> 
>> [ ] +1 Accept Curator into the Apache incubator
>> [ ] +0 Don't care.
>> [ ] -1 Don't accept Curator into the incubator because...
>> 
>> Full proposal is pasted below and the corresponding wiki is
>> http://wiki.apache.org/incubator/CuratorProposal
>> 
>> Only VOTEs from Incubator PMC members are binding, but all are welcome to
>> express their thoughts.
>> 
>> Sincerely,
>> 
>> Jordan Zimmerman
>> 
>> === PROPOSAL ===
>> 
>> Curator - ZooKeeper client wrapper and rich ZooKeeper framework
>> 
>> Abstract
>> 
>> Curator is a set of Java libraries that make using Apache ZooKeeper much
>> easier. While ZooKeeper comes bundled with a Java client, using the
>> client is non-trivial and error prone.
>> 
>> Proposal
>> 
>> Curator is a set of Java libraries that make using Apache ZooKeeper much
>> easier. While ZooKeeper comes bundled with a Java client, using the
>> client is non-trivial and error prone. It consists of three components
>> that build on each other. Curator Client is a replacement for the bundled
>> ZooKeeper class that takes care of some low-level housekeeping and
>> provides some useful utilities. Curator Framework is a high-level API
>> that greatly simplifies using ZooKeeper. It adds many features that build
>> on ZooKeeper and handles the complexity of managing connections to the
>> ZooKeeper cluster and retrying operations. Curator Recipes consists of
>> implementations of some of the common ZooKeeper "recipes". Additionally,
>> Curator Test is included which includes utilities to help with unit
>> testing ZooKeeper-based applications.
>> 
>> Background
>> 
>> Curator was initially developed by Netflix to make writing
>> ZooKeeper-based applications easier and more reliable. Curator was
>> open-sourced by Netflix on GitHub as an Apache 2.0 licensed project in
>> July 2011. During this time Curator has been formally released many times
>> and has gained widespread adoption.
>> 
>> Rationale
>> 
>> New users of ZooKeeper are surprised to learn that a significant amount
>> of connection management must be done manually. For example, when the
>> ZooKeeper client connects to the ensemble it must negotiate a new
>> session, etc. This takes some time. If you use a ZooKeeper client API
>> before the connection process has completed, ZooKeeper will throw an
>> exception. These types of exceptions are referred to as "recoverable"
>> errors. Curator automatically handles connection management, greatly
>> simplifying client code. Instead of directly using the ZooKeeper APIs you
>> use Curator APIs that internally check for connection completion and wrap
>> each ZooKeeper API in a retry loop. Curator uses a retry mechanism to
>> handle recoverable errors and automatically retry operations. The method
>> of retry is customizable. Curator comes bundled with several
>> implementations (ExponentialBackoffRetry, etc.) or custom implementations
>> can be written.
>> 
>> The ZooKeeper documentation describes many possible uses for ZooKeeper
>> calling each a "recipe". While the distribution comes bundled with a few
>> implementations of these recipes, most ZooKeeper users will need to
>> manually implement one or more of the recipes. Implementing a ZooKeeper
>> recipe is not trivial. Besides the connection handling issues, there are
>> numerous edge cases that are not well documented that must be considered.
>> For example, many recipes require that an ephemeral-sequential node be
>> created. New users of ZooKeeper will not know that there is an edge case
>> in ephemeral-sequential node creation that requires you to put a special
>> "marker" in the node¹s name so that you can search for the created node
>> if an I/O failure occurs. This is but one of many edge cases that are not
>> well documented but are handled by Curator.
>> 
>> Current Status
>> 
>> Meritocracy
>> 
>> Curator was initially developed by Jordan Zimmerman in 2011 at Netflix.
>> Developers external to Netflix provided feedback, suggested features and
>> fixes and implemented extensions of Curator. Netflix's engineering team
>> has since maintained the project and has been dedicated towards its
>> improvement. Contributors to Curator include developers from multiple
>> organizations around the world. Curator will be a meritocracy as it
>> enters the Incubator and beyond.
>> 
>> Community
>> 
>> Curator is currently used by a number of organizations all over the
>> world. Curator has an active and growing user and developer community
>> with active participation in the
>> http://groups.google.com/group/curator-users mailing list and at its
>> GitHub home: https://github.com/Netflix/curator.
>> 
>> Since open sourcing the project, there have been fifteen individuals from
>> various organizations who have contributed code.
>> 
>> Core Developers
>> 
>> The core developers for Curator are:
>> 
>> 	€ Jordan Zimmerman
>> 	€ Jay Zarfoss
>> Jordan has contributed towards Apache ZooKeeper and both Jordan and Jay
>> are familiar with Apache principles and philosophy for community driven
>> software development.
>> 
>> Alignment
>> 
>> Curator is a natural complement for Apache ZooKeeper. Java users of
>> ZooKeeper will naturally want to use Curator. When Curator graduates from
>> Incubator it may be useful to distribute Curator artifacts as part of
>> ZooKeeper releases as the preferred/recommended client side library.
>> Further, at graduation a determination can be made as to whether Curator
>> should become a Top Level Project or be merged into ZooKeeper itself.
>> That being said, some IPMC members feel that Curator should grow into its
>> own TLP rather than be a part of ZooKeeper.
>> 
>> Known Risks
>> 
>> Orphaned Products
>> 
>> Curator is already deployed in production at multiple companies and they
>> are actively participating in creating new features. Curator is getting
>> traction with developers and thus the risks of it being orphaned are
>> minimal.
>> 
>> Inexperience with Open Source
>> 
>> All code developed for Curator has been open sourced by Netflix under
>> Apache 2.0 license. All committers to Curator are intimately familiar
>> with the Apache model for open-source development and are experienced
>> with working with new contributors.
>> 
>> Homogeneous Developers
>> 
>> The initial committers are from a single organization. However, we expect
>> that once approved for incubation, the project will attract new
>> contributors from diverse organizations and will thus grow organically.
>> The submission of patches from developers from several different
>> organizations is a strong indication that Curator will be widely adopted.
>> 
>> Reliance on Salaried Developers
>> 
>> It is expected that Curator will be developed on salaried and volunteer
>> time, although all of the initial developers will work on it mainly on
>> salaried time.
>> 
>> Relationships with Other Apache Products
>> 
>> Curator depends upon other Apache Projects: Apache ZooKeeper, Apache
>> Log4J, and multiple Apache Commons components. Its build depends upon
>> Apache Maven. Notably, there is interest from other Apache Projects such
>> as HBase in adopting Curator as the client library for ZooKeeper. Apache
>> James Mailbox has already incorporated Curator.
>> 
>> An Excessive Fascination with the Apache Brand
>> 
>> We would like Curator to become an Apache project to further foster a
>> healthy community of contributors and consumers around the project. Since
>> Curator directly interacts with Apache ZooKeeper and solves an important
>> problem of many ZooKeeper users, residing in the Apache Software
>> Foundation will increase interaction with the larger community.
>> 
>> Documentation
>> 
>> 	€ Curator wiki at GitHub: https://github.com/Netflix/curator/wiki
>> 	€ Curator issues at GitHub: https://github.com/Netflix/curator/issues
>> 	€ Curator javadoc at GitHub: http://netflix.github.com/curator/doc/
>> Initial Source
>> 
>> 	€ git://github.com/Netflix/curator.git
>> Source and Intellectual Property Submission Plan
>> 
>> 	€ The initial source is already licensed under the Apache License,
>> Version 2.0. https://github.com/Netflix/curator/blob/master/LICENSE.txt
>> External Dependencies
>> 
>> The required external dependencies are all Apache License or compatible
>> licenses. Following components with non-Apache licenses are enumerated:
>> 
>> 	€ org.slf4j: MIT-like License
>> 	€ org.mockito: MIT-like License
>> Cryptography
>> 
>> Curator contains no known cryptography.
>> 
>> Required Resources
>> 
>> Mailing lists
>> 
>> 	€ curator-private (with moderated subscriptions)
>> 	€ curator-dev
>> 	€ curator-commits
>> 	€ curator-user
>> GitHub Repositories
>> 
>> http://github.com/apache/curator git://git.apache.org/curator.git
>> 
>> Issue Tracking
>> 
>> JIRA Curator (CURATOR)
>> 
>> Other Resources
>> 
>> The existing code already has unit and integration tests so we would like
>> a Jenkins instance to run them whenever a new patch is submitted. This
>> can be added after project creation.
>> 
>> Initial Committers
>> 
>> 	€ Jordan Zimmerman (jzimmerman at netflix dot com)
>> 	€ Jay Zarfoss (jzarfoss at netflix dot com)
>> Affiliations
>> 
>> 	€ Jordan Zimmerman, Netflix
>> 	€ Jay Zarfoss, Netflix
>> Sponsors
>> 
>> Champion
>> 
>> 	€ Patrick Hunt
>> Nominated Mentors
>> 
>> 	€ Patrick Hunt
>> 	€ Enis Söztutar
>> 	€ Mahadev Konar
>> 	€ Luciano Resende
>> Sponsoring Entity
>> 
>> 	€ Apache Incubator PMC
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
> For additional commands, e-mail: general-help@incubator.apache.org
> 


Re: [VOTE] Accept Curator into the Incubator

Posted by "Mattmann, Chris A (388J)" <ch...@jpl.nasa.gov>.
+1 binding.

Cheers,
Chris


On 3/5/13 10:21 AM, "Jordan Zimmerman" <jo...@jordanzimmerman.com> wrote:

>Discussion has settled down so I am calling a VOTE for acceptance of
>Curator into the Apache Incubator.
>
>The vote will close at on Friday, March 8, 2013.
>
>[ ] +1 Accept Curator into the Apache incubator
>[ ] +0 Don't care.
>[ ] -1 Don't accept Curator into the incubator because...
>
>Full proposal is pasted below and the corresponding wiki is
>http://wiki.apache.org/incubator/CuratorProposal
>
>Only VOTEs from Incubator PMC members are binding, but all are welcome to
>express their thoughts.
>
>Sincerely,
>
>Jordan Zimmerman
>
>=== PROPOSAL ===
>
>Curator - ZooKeeper client wrapper and rich ZooKeeper framework
>
>Abstract
>
>Curator is a set of Java libraries that make using Apache ZooKeeper much
>easier. While ZooKeeper comes bundled with a Java client, using the
>client is non-trivial and error prone.
>
>Proposal
>
>Curator is a set of Java libraries that make using Apache ZooKeeper much
>easier. While ZooKeeper comes bundled with a Java client, using the
>client is non-trivial and error prone. It consists of three components
>that build on each other. Curator Client is a replacement for the bundled
>ZooKeeper class that takes care of some low-level housekeeping and
>provides some useful utilities. Curator Framework is a high-level API
>that greatly simplifies using ZooKeeper. It adds many features that build
>on ZooKeeper and handles the complexity of managing connections to the
>ZooKeeper cluster and retrying operations. Curator Recipes consists of
>implementations of some of the common ZooKeeper "recipes". Additionally,
>Curator Test is included which includes utilities to help with unit
>testing ZooKeeper-based applications.
>
>Background
>
>Curator was initially developed by Netflix to make writing
>ZooKeeper-based applications easier and more reliable. Curator was
>open-sourced by Netflix on GitHub as an Apache 2.0 licensed project in
>July 2011. During this time Curator has been formally released many times
>and has gained widespread adoption.
>
>Rationale
>
>New users of ZooKeeper are surprised to learn that a significant amount
>of connection management must be done manually. For example, when the
>ZooKeeper client connects to the ensemble it must negotiate a new
>session, etc. This takes some time. If you use a ZooKeeper client API
>before the connection process has completed, ZooKeeper will throw an
>exception. These types of exceptions are referred to as "recoverable"
>errors. Curator automatically handles connection management, greatly
>simplifying client code. Instead of directly using the ZooKeeper APIs you
>use Curator APIs that internally check for connection completion and wrap
>each ZooKeeper API in a retry loop. Curator uses a retry mechanism to
>handle recoverable errors and automatically retry operations. The method
>of retry is customizable. Curator comes bundled with several
>implementations (ExponentialBackoffRetry, etc.) or custom implementations
>can be written.
>
>The ZooKeeper documentation describes many possible uses for ZooKeeper
>calling each a "recipe". While the distribution comes bundled with a few
>implementations of these recipes, most ZooKeeper users will need to
>manually implement one or more of the recipes. Implementing a ZooKeeper
>recipe is not trivial. Besides the connection handling issues, there are
>numerous edge cases that are not well documented that must be considered.
>For example, many recipes require that an ephemeral-sequential node be
>created. New users of ZooKeeper will not know that there is an edge case
>in ephemeral-sequential node creation that requires you to put a special
>"marker" in the node¹s name so that you can search for the created node
>if an I/O failure occurs. This is but one of many edge cases that are not
>well documented but are handled by Curator.
>
>Current Status
>
>Meritocracy
>
>Curator was initially developed by Jordan Zimmerman in 2011 at Netflix.
>Developers external to Netflix provided feedback, suggested features and
>fixes and implemented extensions of Curator. Netflix's engineering team
>has since maintained the project and has been dedicated towards its
>improvement. Contributors to Curator include developers from multiple
>organizations around the world. Curator will be a meritocracy as it
>enters the Incubator and beyond.
>
>Community
>
>Curator is currently used by a number of organizations all over the
>world. Curator has an active and growing user and developer community
>with active participation in the
>http://groups.google.com/group/curator-users mailing list and at its
>GitHub home: https://github.com/Netflix/curator.
>
>Since open sourcing the project, there have been fifteen individuals from
>various organizations who have contributed code.
>
>Core Developers
>
>The core developers for Curator are:
>
>	€ Jordan Zimmerman
>	€ Jay Zarfoss
>Jordan has contributed towards Apache ZooKeeper and both Jordan and Jay
>are familiar with Apache principles and philosophy for community driven
>software development.
>
>Alignment
>
>Curator is a natural complement for Apache ZooKeeper. Java users of
>ZooKeeper will naturally want to use Curator. When Curator graduates from
>Incubator it may be useful to distribute Curator artifacts as part of
>ZooKeeper releases as the preferred/recommended client side library.
>Further, at graduation a determination can be made as to whether Curator
>should become a Top Level Project or be merged into ZooKeeper itself.
>That being said, some IPMC members feel that Curator should grow into its
>own TLP rather than be a part of ZooKeeper.
>
>Known Risks
>
>Orphaned Products
>
>Curator is already deployed in production at multiple companies and they
>are actively participating in creating new features. Curator is getting
>traction with developers and thus the risks of it being orphaned are
>minimal.
>
>Inexperience with Open Source
>
>All code developed for Curator has been open sourced by Netflix under
>Apache 2.0 license. All committers to Curator are intimately familiar
>with the Apache model for open-source development and are experienced
>with working with new contributors.
>
>Homogeneous Developers
>
>The initial committers are from a single organization. However, we expect
>that once approved for incubation, the project will attract new
>contributors from diverse organizations and will thus grow organically.
>The submission of patches from developers from several different
>organizations is a strong indication that Curator will be widely adopted.
>
>Reliance on Salaried Developers
>
>It is expected that Curator will be developed on salaried and volunteer
>time, although all of the initial developers will work on it mainly on
>salaried time.
>
>Relationships with Other Apache Products
>
>Curator depends upon other Apache Projects: Apache ZooKeeper, Apache
>Log4J, and multiple Apache Commons components. Its build depends upon
>Apache Maven. Notably, there is interest from other Apache Projects such
>as HBase in adopting Curator as the client library for ZooKeeper. Apache
>James Mailbox has already incorporated Curator.
>
>An Excessive Fascination with the Apache Brand
>
>We would like Curator to become an Apache project to further foster a
>healthy community of contributors and consumers around the project. Since
>Curator directly interacts with Apache ZooKeeper and solves an important
>problem of many ZooKeeper users, residing in the Apache Software
>Foundation will increase interaction with the larger community.
>
>Documentation
>
>	€ Curator wiki at GitHub: https://github.com/Netflix/curator/wiki
>	€ Curator issues at GitHub: https://github.com/Netflix/curator/issues
>	€ Curator javadoc at GitHub: http://netflix.github.com/curator/doc/
>Initial Source
>
>	€ git://github.com/Netflix/curator.git
>Source and Intellectual Property Submission Plan
>
>	€ The initial source is already licensed under the Apache License,
>Version 2.0. https://github.com/Netflix/curator/blob/master/LICENSE.txt
>External Dependencies
>
>The required external dependencies are all Apache License or compatible
>licenses. Following components with non-Apache licenses are enumerated:
>
>	€ org.slf4j: MIT-like License
>	€ org.mockito: MIT-like License
>Cryptography
>
>Curator contains no known cryptography.
>
>Required Resources
>
>Mailing lists
>
>	€ curator-private (with moderated subscriptions)
>	€ curator-dev
>	€ curator-commits
>	€ curator-user
>GitHub Repositories
>
>http://github.com/apache/curator git://git.apache.org/curator.git
>
>Issue Tracking
>
>JIRA Curator (CURATOR)
>
>Other Resources
>
>The existing code already has unit and integration tests so we would like
>a Jenkins instance to run them whenever a new patch is submitted. This
>can be added after project creation.
>
>Initial Committers
>
>	€ Jordan Zimmerman (jzimmerman at netflix dot com)
>	€ Jay Zarfoss (jzarfoss at netflix dot com)
>Affiliations
>
>	€ Jordan Zimmerman, Netflix
>	€ Jay Zarfoss, Netflix
>Sponsors
>
>Champion
>
>	€ Patrick Hunt
>Nominated Mentors
>
>	€ Patrick Hunt
>	€ Enis Söztutar
>	€ Mahadev Konar
>	€ Luciano Resende
>Sponsoring Entity
>
>	€ Apache Incubator PMC
>


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org