+1 Thks, Amol
On Mon, Apr 25, 2016 at 11:22 AM, Josh Elser <els...@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 == >> * d...@gossip.incubator.apache.org <mailto:d...@gossip.incubator.apache.org >> > >> * comm...@gossip.incubator.apache.org >> <mailto:comm...@gossip.incubator.apache.org> >> * priv...@gossip.incubator.apache.org >> <mailto:priv...@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-unsubscr...@incubator.apache.org > For additional commands, e-mail: general-h...@incubator.apache.org > >