incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Amol Kekre <a...@datatorrent.com>
Subject Re: [VOTE] Accept Gossip into the Apache Incubator
Date Mon, 25 Apr 2016 18:23:27 GMT
+1

Thks,
Amol

On Mon, Apr 25, 2016 at 11:22 AM, Josh Elser <elserj@apache.org> wrote:

> +1 (binding)
>
> P. Taylor Goetz wrote:
>
>> Following the discussion thread [1], I would like to call a VOTE to
>> accept Gossip into the Apache Incubator.
>>
>> The Gossip proposal can be found here [2] and is also listed below.
>>
>> [ ] +1 Accept Gossip into the Apache Incubator
>> [ ] +0 Abstain.
>> [ ] -1 Do not accept Gossip into the Apache Incubator because…
>>
>> This vote will be open for at least 72 hours.
>>
>> Obviously I am +1 (binding).
>>
>> -Taylor
>>
>> [1] https://s.apache.org/gossip-discuss
>> [2] https://wiki.apache.org/incubator/GossipProposal
>>
>> --------------------
>> = Abstract =
>>
>> Apache Gossip will be an implementation of the Gossip Protocol based on
>> code available here: https://github.com/edwardcapriolo/gossip/ which is
>> already licenced using the glorious Apache V2 License.
>>
>> = Proposal =
>>
>> Apache Gossip aims to provide a gossip based consensus protocol written
>> in Java for peer-to-peer communication to the Apache Incubator
>> (http://incubator.apache.org/). This implementation will effectively
>> scale from one to one-thousand node clusters. In addition to the code
>> implementation, the project should produce specifications of the wire
>> protocol, features, and expected behavior of the system such that
>> compatible implementations can communicate.
>>
>> = Background =
>>
>> The gossip protocol has been implemented to varying levels of rigor by a
>> number of entities. In particular, Apache Cassandra uses an
>> implementation of gossip to locate peers and transmit up/down state.
>> Apache Spark leverages tooling in Akka which provides peer-to-peer node
>> discovery capabilities.
>>
>> *
>>
>> http://highscalability.com/blog/2011/11/14/using-gossip-protocols-for-failure-detection-monitoring-mess.html
>>
>> * https://en.wikipedia.org/wiki/Gossip_protocol
>>
>> = Rationale =
>>
>> With distributed computing becoming extremely widespread, and the growth
>> of the buzz-factor of ‘the-internet-of-things’ it is increasingly
>> important that networks of IP addressable devices can form a
>> peer-to-peer network. Applications of peer-to-peer networks include
>> generating crypto currency, managing hardware such as solar power
>> micro-grids, and more traditional roles like grid/High Performance
>> Computing and distributed storage systems. Different implementations of
>> gossip based consensus protocols have been implemented in numerous
>> languages or as part of more complex software stacks. The Apache
>> Software Foundation should lead the effort of producing a purpose built
>> tool that can be used by downstream projects to form peer-to-peer
>> networks.
>>
>> = Initial Goals =
>>
>> * Migration of current code https://github.com/edwardcapriolo/gossip and
>> existing community to the Apache Software Foundation infrastructure
>> * Secure communications
>> * Transport security using a pre-shared key
>> * Public Key Infrastructure
>> * Introduce a cluster name to wire protocol to avoid misconfigurations
>> * Effectively operate when systems have multiple network interfaces by
>> controlling IP binding settings
>> * Effectively operate when systems have Network Address Translations
>> devices between them using a broadcast IP settings
>> * Develop advanced integration testing from cluster sizes of 1-1000 nodes
>> * Test convergence times
>> * Demonstrate the tradeoffs of different settings in regard to
>> bandwidth/cpu/convergence time/accuracy
>> * Gossip data other than cluster state such as application/user data
>> * Provide detailed specifications such that others can implement the
>> protocol in other programming languages
>> * Explore HTTP transport as an alternative to UDP
>>
>> = Current Status =
>>
>> The current code has been around for some time. Previously it was a
>> Google code project. Since the fork in January 2015 there have been 55
>> commits and 4 releases.
>>
>> == Meritocracy ==
>>
>> We believe in meritocracy. All suggestions are taken seriously. We enjoy
>> helping new people become part of process. For other projects available
>> on our Github, once a user shows enough activity we grant them
>> collaborator status.
>>
>> == Community ==
>>
>> In a relatively short amount of time, with a small amount of promotion
>> on twitter and through blogging, we have 50+ followers on Github and
>> several forks of the project. With the Apache brand we should be able to
>> attract more. Once we have entered the incubator we believe it will be
>> easier to attempt to unify with other similar implementations.
>>
>> == Core Developers ==
>>
>> The code was forked on Jan 9th 2015, since then there have been 4
>> releases and 55 commits. Since that period, the majority of the work was
>> undertaken by Edward Capriolo. Several people are interested in the
>> features of this proposal and have indicated they will volunteer their
>> time.
>>
>> == Alignment ==
>>
>> Apache is the perfect organization to take on the Gossip project.
>> Besides benefiting a number of projects directly, the active development
>> and outreach will increase adoption of Gossip with the aim of it
>> becoming a leader in the space.
>>
>> = Known Risks =
>>
>> Several existing implementations of similar cluster membership systems
>> (gossip based and otherwise) exist. A key challenge is moving from a
>> relatively niche technical audience to a more general tool for solving a
>> common problem. Differentiating when Apache Gossip may be the optimal
>> solution versus a clouded landscape of coordination services such as
>> etcd or zookeeper, and distributed data stores via feature set will also
>> be key. We believe that users be attracted to the peer-to-peer
>> distributed service toolkit that gossip will provide.
>>
>> == Orphaned products ==
>>
>> We plan on building on the current code by developing discrete features
>> with a focus on testing. Up until this point the project has been
>> maintained by a single person. However the project currently releases
>> artifacts to maven central, is tested using travis CI, and follows
>> controlled development practice. This level of dedication will see the
>> process through the initial stages.
>>
>> == Inexperience with Open Source ==
>> We are very familiar with Open Source development and the Apache
>> Foundation. The current code base already carries an Apache V2 Licence.
>>
>> == Homogenous Developers ==
>> Multiple people have made contributions to the current code base. This
>> proposal has generated more interest and several more are offering to
>> volunteer time. These volunteers are from diverse corporate entities and
>> many of them are also affiliated with existing Apache projects (both top
>> level and incubating) so there is a already experience and degree of
>> incubating knowledge within the proposed incubating community.
>>
>> == Reliance on Salaried Developers ==
>> We wish to create Apache Gossip for the challenge of producing great
>> software. Initially all members of the project will volunteer their time
>> and no one will be expressly salaried to work only on this project.
>>
>> == Relationships with Other Apache Products ==
>> If the Apache Gossip project is successful, other products in Apache
>> such as Storm or Cassandra could adopt it. However, adoption by those
>> specific projects is not our criteria for success. There are a large
>> number of applications for this system. One example is Apache JMeter
>> could be built with Apache Gossip as a backend for distributed testing.
>> Another example is a polyglot registry of thrift services with gossip
>> based discovery.
>> == A Excessive Fascination with the Apache Brand ==
>> We care about the Apache foundation. Having the recognition of the
>> Apache incubator will undoubtedly help the project. We do not seek the
>> Apache brand to be used as legal shield or personal glory. We believe in
>> the Apache foundation and will manage the project with espirit de corps,
>> welcoming all through meritocracy while using bylaws as guiding values.
>>
>> = Initial Source =
>> The initial source for https://github.com/edwardcapriolo/gossip was
>> forked from https://code.google.com/p/java-gossip/. The code base always
>> Apache V2 licensed.
>>
>> = Source and Intellectual Property Submission Plan =
>> During the course of proposal development, the two original authors of
>> the software were contacted to see if they would be interested in
>> joining the project as initial committers, and if they are willing to
>> submit an SGA to the ASF. The first author has responded positively and
>> has been added as an initial committer. We would prefer to have an SGA
>> from both authors, but given second author has not contributed to the
>> codebase in 6 years, the ability to obtain an SGA is not certain. If we
>> do not hear back from the second author within a reasonable time frame,
>> we intend to proceed with the Incubator IP Clearance process.
>>
>> 1. Make final commit on the gossip GitHub project explaining the move to
>> ASF.
>> 1. Complete the Incubator IP Clearance process.
>> 1. Move code into ASF repo.
>> 1. Rename references to old name.
>> 1. Apply Apache V2 licence to all source files.
>>
>> = External Dependencies =
>> Currently the project encodes messages into JSON for network
>> transmission. This is done using JSONorg, but will switch to jackson
>> (potentially before the move to the ASF).
>> = Cryptography =
>> The current code is not using cryptography. It is on the road map to add
>> security through transport encryption (SSL) and transport encryption.
>> = Required Resources =
>> == Mailing lists ==
>> * dev@gossip.incubator.apache.org <mailto:dev@gossip.incubator.apache.org
>> >
>> * commits@gossip.incubator.apache.org
>> <mailto:commits@gossip.incubator.apache.org>
>> * private@gossip.incubator.apache.org
>> <mailto:private@gossip.incubator.apache.org>
>>
>> The user list will be added when we have broader adoption.
>> == Git Repository ==
>> https://git-wip-us.apache.org/repos/asf/incubator-gossip.git
>> == Issue Tracking ==
>> JIRA tracker: GOSSIP
>> = Initial Committers =
>> * Edward Capriolo (ecapriolo at apache dot org)
>> * Josh Clemm (clemm22 at gmail dot com)
>> * P. Taylor Goetz (ptgoetz at apache dot org)
>> * Gary Dusbabek (gdusbabek at apache dot org)
>> * Dorian Ellerbe (Doellerbe06 at gmail dot com)(requires CLA)
>> * Sathish Dhinakaran (requires CLA)
>> * Joe Price (pricejosephd at gmail dot com)(requires CLA)
>> = Affiliations =
>> * Edward Capriolo - The Huffington Post
>> * P. Taylor Goetz - Hortonworks
>> * Gary Dusbabek - Silicon Valley Data Science
>> * Dorian Ellerbe - Dstillery
>> * Sathish Dhinakaran - Dstillery
>> * Sean Busbey - Cloudera
>> * Josh Elser - Hortonworks
>>
>> = Additional Interested Contributors =
>>
>> Those interested in getting involved with the project as it starts are
>> encourage to list themselves here.
>>
>> * Suneel Marthi (smarthi at apache dot org) - Red hat Inc.
>> * Debo Dutta (ddutta at apache dot org) - Cisco
>>
>> = Sponsors =
>> == Champion ==
>> P. Taylor Goetz (ASF Member, IPMC)
>>
>> == Proposed Mentors ==
>> * Sean Busbey (ASF Member, IPMC)
>> * Josh Elser (ASF Member, IPMC)
>> * P. Taylor Goetz (ASF Member, IPMC)
>> = Sponsoring Entity =
>> The Apache Incubator
>>
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
> For additional commands, e-mail: general-help@incubator.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message