+1 (non-binding) On Mon, Aug 27, 2018 at 3:29 PM Kevin A. McGrail <kmcgr...@apache.org> wrote:
> +1 (binding) > On 8/27/2018 3:27 PM, Josh Elser wrote: > > +1 (binding) > > > > On 8/26/18 11:14 PM, Mick Semb Wever wrote: > >> After a brief discussion¹ I would like to call a VOTE to accept > >> Zipkin into the Apache Incubator. > >> The full proposal is available on the wiki² and is pasted below in > >> text form as well. > >> > >> This vote will run at least 72 hours. Please VOTE as follows: > >> > >> [ ] +1 Accept Zipkin into the Apache Incubator > >> [ ] +0 No opinion > >> [ ] -1 Do not accept Zipkin into the Apache Incubator because… > >> > >> regards, > >> Mick > >> > >> [1] > >> > https://lists.apache.org/thread.html/54798a5059db1d5716ed9910a15c92945509a25ec3b7ccb6b1215c53@%3Cgeneral.incubator.apache.org%3E > >> [2] https://wiki.apache.org/incubator/ZipkinProposal > >> > >> > >> > >> = Abstract = > >> Zipkin is a distributed tracing system. It helps gather timing data > >> needed to troubleshoot latency problems in microservice > >> architectures. It manages both the collection and lookup of this > >> data. Zipkin’s design is based on the Google Dapper paper. > >> > >> = Proposal = > >> Zipkin provides a defined data model and payload type for distributed > >> trace data collection. It also provides an UI and http api for > >> querying the data. Its server implements this api and includes > >> abstractions for storage and transport of trace payloads. The > >> combination of these parts avoid lock-in to a specific tracing > >> backend. For example, Zipkin includes integration with different open > >> source storage mechanisms like Apache Cassandra and Elasticsearch. It > >> also includes bridges to convert collected data and forward it to > >> service offerings such as Amazon X-Ray and Google Stackdriver. > >> Ecosystem offering extend this portability further. > >> > >> While primarily focused on the system, Zipkin also includes tracing > >> libraries which applications use to report timing information. > >> Zipkin's core organization includes tracer libraries written in Java, > >> Javascript, Go, PHP and Ruby. These libraries use the formats > >> mentioned above to report data, as well "B3" which is a header format > >> needed to send trace identifiers along with production requests. Many > >> Zipkin libraries can also send data directly to other services such > >> as Amazon X-Ray and Google Stackdriver, skipping any Zipkin > >> infrastructure. There are also more Zipkin tracing libraries outside > >> the core organization than inside it. This is due to the "OpenZipkin" > >> culture of promoting ecosystem work. > >> > >> = Background = > >> Zipkin began in 2012 at Twitter during a time they were investigating > >> performance problems underlying the "fail whale" seen by users. The > >> name Zipkin is from the Turkish word for harpoon: the harpoon that > >> will kill the failures! Incidentally, Zipkin was not the first > >> tracing system, it had roots in a former system at Twitter named > >> BigBrotherBird. It is due to BigBrotherBird that the de-facto tracing > >> headers we still use today include the prefix "X-B3". > >> > >> In 2015, a community of users noticed the project was not healthy in > >> so far as it hadn't progressed and often didn't accept pull requests, > >> and the Cassandra backend was stuck on an unmaintained library. For > >> example, the Apache Incubator H-Trace project started in some ways as > >> a reaction to the inability to customize the code. The root cause of > >> this was Twitter moving to internal storage (Manhattan) and also the > >> project not being managed as a product. By mid 2015, the community > >> regrouped as OpenZipkin and the codebase moved from Twitter to an org > >> also named OpenZipkin. This led to fast progress on concerns > >> including initially a server rewrite and Docker based deployment. > >> > >> In 2018, the second version of the data model completed, and along > >> the way, many new libraries became standard, including javascript, > >> golang and PHP. The community is dramatically larger than 2015, and > >> Zipkin remains the most popular tracing system despite heavy > >> competition. > >> > >> = Rationale = > >> Zipkin is a de-facto distributed tracing system, which is more > >> important as architectures become more fine grained due to popularity > >> of microservice or even serverless architectures. Applications > >> transition to use more complex communication including asynchronous > >> code and service mesh, increasing the need for tools that visualize > >> the behavior of requests as they map across an architecture. > >> > >> Zipkin's server is focused only on distributed tracing. It is meant > >> to be used alongside existing logging and metrics systems. Generally, > >> the community optimizes brown field concerns such as interop over > >> breaking changes such as experimental features. The combination of > >> code and community make Zipkin a safe and easier choice for various > >> sites to introduce or grow their observability practice. > >> > >> = Initial Goals = > >> The initial goals are to mature OpenZipkin's community process. For > >> example, while OpenZipkin has a good collaborative process, it lacks > >> formality around project management functions defined in the Apache > >> Software Foundation (ASF). We also seek out help with brand abuse > >> which is becoming common practice in the competitive landscape, yet > >> demotivates volunteers. Towards volunteers, help with on boarding > >> summer of code and funding for those who cannot afford to get to > >> conferences on their own would be nice. Finally, we occasionally have > >> organizations who are constrained to only work with foundation > >> projects: ASF is often mentioned, and being in the ASF removes this > >> collaboration roadblock. > >> > >> Zipkin will not move all existing code into Apache. In fact, most > >> Zipkin ecosystem exists outside our org! The goal is to start with > >> the data formats and server code. Possibly the java client-side > >> libraries can move initially as well, depending on community feedback. > >> > >> = Current Status = > >> == Meritocracy == > >> Zipkin is an active community of contributors who are encouraged to > >> become committers. A Zipkin committer understands the importance of > >> seeking community feedback, and the gravity of brown field concerns. > >> Committers express diverse interest by contributing beyond their > >> sites immediate needs and acknowledging features require diverse need > >> before being merged into the core repositories. A camaraderie between > >> committers and not yet committers exists and is re-inforced with face > >> to face meetups where possible. We expect this to continue and build > >> with incubation and ideally acceptance into the Apache Software > >> Foundation (ASF). > >> > >> Zipkin encourages involvement from its community members, and the > >> issues are open and available to any developers who wish to > >> contribute to the project. The Zipkin team currently seeks help and > >> asks for suggestions utilizing zipkin-user and zipkin-dev Google > >> groups and Gitter chat on https://gitter.im/openzipkin/zipkin. While > >> all contributions are reviewed, generally a "rule of three" policy on > >> diverse need must be met before a feature is considered standard. > >> > >> == Community == > >> Zipkin has a highly active and growing community of users and > >> developers. The community is currently fostered on chat > >> https://gitter.im/openzipkin/zipkin and issues in their respective > >> GitHub repositories, notably the main server: > >> https://github.com/openzipkin/zipkin > >> > >> There are well over 1000 users in the chat room and hundreds who > >> contributed code to code in the main OpenZipkin GitHub org. Interest > >> metrics have grown dramatically: For example, in three years and a > >> month from when Zipkin began until the time OpenZipkin formed, its > >> main repository accumulated 2400 GitHub stars. In the same time > >> after, it accumulated over 6700. Other metrics such as blog count and > >> community meetings have similarly gone way up. We expect further > >> growth as more learn about Zipkin and can engage with Zipkin through > >> the guidance of the Apache Software Foundation (ASF). > >> > >> == Core Developers == > >> The core contributors are a diverse group comprised of both > >> unaffiliated developers and those hailing from small to large > >> companies. They are scattered geographically, and some are highly > >> experienced industry as well as open source developers. Though their > >> backgrounds may be diverse, the contributors are united in their > >> belief in community driven software development. > >> > >> More detailed information on the core developers and contributors in > >> general can be found under the section on homogeneous developers. > >> > >> == Alignment == > >> Zipkin adoption is growing, and it is no longer feasible for it to > >> remain as an isolated project. Apache is experienced in dealing with > >> software that is very widely accepted and has a growing audience. The > >> proposers believe that the Zipkin team can benefit from the ASF's > >> experience and its broad array of users and developers. > >> > >> Zipkin supports several Apache projects and options exist for > >> integration with others. Apache CXF, Apache Camel, Apache Incubator > >> SkyWalking and Apache Incubator HTrace all utilize Zipkin APIs in > >> their core repositories. Many more do via community extensions. > >> Apache Maven is primarily use by Zipkin, and can be used by projects > >> who build upon Zipkin projects. > >> > >> == Known Risks == > >> === Orphaned products === > >> Zipkin is already being utilized at multiple companies that are > >> actively participating in improving the code. The thriving community > >> centered around Zipkin has seen steady growth, and the project is > >> gaining traction with developers. The risks of the code being > >> abandoned are minimal. > >> > >> === Inexperience with Open Source === > >> Zipkin rebooted its community in July 2015 and grown there for over > >> three years. Additionally, many of the committers have extensive > >> experience with other open source projects. Zipkin fosters a > >> collaborative and community-driven environment. > >> > >> In the interest of openly sharing technology and attracting more > >> community members, several of our developers also regularly attend > >> conferences in North America and Europe to give talks about Zipkin. > >> Zipkin meetups are also planned every few months for developers and > >> community members to come together in person and discuss ideas. > >> > >> === Homogenous Developers === > >> At the time of the writing, OpenZipkin's core 12 developers all work > >> at different companies around the globe. Most operate their own > >> tracing sites, but some no longer operate sites at all: staying for > >> the community we've built. Our ASF champion, Mick Semb Wever, is both > >> a committer and an experienced ASF member. > >> > >> The Zipkin developers thrive upon the diversity of the community. The > >> Zipkin gitter channel is always active, and the developers often > >> collaborate on fixes and changes in the code. They are always happy > >> to answer users' questions as well. > >> > >> Zipkin is interested in continuing to expand and strengthen its > >> network of developers and community members through the ASF. > >> > >> === Reliance on Salaried Developers === > >> Zipkin has one full time salaried developer, Adrian Cole. Though some > >> of the developers are paid by their employer to contribute to Zipkin, > >> many Zipkin developers contribute code and documentation on their own > >> time and have done so for a lengthy period. Given the current stream > >> of development requests and the committers' sense of ownership of the > >> Zipkin code, this arrangement is expected to continue with Zipkin' > >> induction into the ASF. > >> > >> === Relationships with Other Apache Products === > >> Zipkin, Apache Incubator Skywalking and Apache Incubator HTrace > >> address similiar use cases. Most similarities are between Zipkin and > >> HTrace: Zipkin hopes to help serve the community formerly served by > >> HTrace, but understands the data services focus of HTrace may require > >> different tooling. SkyWalking addresses more feature surface than > >> Zipkin. For example, metrics collection is not a goal of Zipkin, yet > >> it is a goal of SkyWalking. SkyWalking accepts Zipkin formats and can > >> be used as a replacement server. SkyWalking PPMC member, Sheng Wu, > >> has been a routine member of Zipkin design discussions and has > >> offered to help Zipkin through ASF process. > >> > >> While Zipkin does not directly rely upon any Apache project, zipkin > >> supports several Apache projects. Apache CXF, Apache Camel, Apache > >> Incubator SkyWalking, Apache Incubator Dubbo, Apache Incubator > >> ServiceComb and Apache Incubator HTrace all utilize Zipkin APIs in > >> their core repositories. Many more do via community extensions. > >> Apache Maven is primarily use by Zipkin, and can be used by projects > >> who build upon Zipkin projects. > >> > >> === A Excessive Fascination with the Apache Brand === > >> Zipkin recognizes the fortitude of the Apache brand, but the > >> motivation for becoming an Apache project is to strengthen and expand > >> the Zipkin community and its user base. While the Zipkin community > >> has seen steady growth over the past several years, association with > >> the ASF is expected to expedite this pattern of growth. Development > >> is expected to continue on Zipkin under the Apache license whether or > >> not it is supported by the ASF. > >> > >> == Documentation == > >> The Zipkin project documentation is publicly available at the > >> following sites: > >> > >> * https://zipkin.io: project overview > >> * http://zipkin.io/zipkin-api/#/: swagger specification > >> * https://github.com/openzipkin/b3-propagation: header formats > >> * https://zipkin.io/zipkin/: Javadocs for the Zipkin server > >> > >> == Initial Source == > >> The initial source is located on GitHub in the following repositories: > >> > >> * git://github.com/OpenZipkin/zipkin.git > >> * git://github.com/OpenZipkin/zipkin-dependencies.git > >> * git://github.com/OpenZipkin/zipkin-api.git > >> * git://github.com/OpenZipkin/b3-propagation.git > >> * git://github.com/OpenZipkin/docker-zipkin.git > >> * git://github.com/OpenZipkin/docker-zipkin-dependencies.git > >> * git://github.com/openzipkin/zipkin-reporter-java > >> * git://github.com/openzipkin/brave > >> * git://github.com/openzipkin/zipkin-aws > >> * git://github.com/openzipkin/docker-zipkin-aws > >> * git://github.com/openzipkin/zipkin-azure > >> * git://github.com/openzipkin/docker-zipkin-azure > >> * git://github.com/openzipkin/zipkin-gcp > >> * git://github.com/openzipkin/docker-zipkin-gcp > >> * git://github.com/openzipkin/brave-cassandra > >> * git://github.com/openzipkin/docker-jre-full > >> * git://github.com/openzipkin/brave-karaf > >> > >> Depending on community progress, other repositories may be moved as well > >> > >> == Source and Intellectual Property Submission Plan == > >> Zipkin's initial source is licensed under the Apache License, Version > >> 2.0. https://github.com/openzipkin/zipkin/blob/master/LICENSE > >> > >> All source code is copyrighted to 'The OpenZipkin Authors', to which > >> the existing core community(members list in Initial Committers) has > >> the rights to re-assign to the ASF. > >> > >> == External Dependencies == > >> This is a listing of Maven coordinates for all of the external > >> dependencies Zipkin uses. All of the dependencies are in Sonatype and > >> their licenses should be accessible. > >> > >> == Cryptography == > >> Zipkin contains no cryptographic algorithms. > >> > >> = Required Resources = > >> == Mailing Lists == > >> * Zipkin-dev: for development discussions > >> * Zipkin-user: for community discussions > >> * Zipkin-private: for PPMC discussions > >> * Zipkin-commits: for code changes > >> > >> == Git Repositories == > >> The Zipkin team is experienced in git and requests to transfer GitHub > >> repositories(list in Initial Source) to Apache. > >> > >> == Issue Tracking == > >> The community would like to continue using GitHub Issues. > >> > >> = Initial Committers = > >> * Zoltán Nagy > >> * Adrian Cole, Pivotal > >> * Bas van Beek > >> * Brian Devins > >> * Eirik Sletteberg > >> * Jeanneret Pierre-Hugues > >> * Jordi Polo Carres > >> * José Carlos Chávez > >> * Kristof Adriaenssens > >> * Lance Linder > >> * Mick Semb Wever, > >> * Tommy Ludwig > >> > >> = Champion = > >> * Michael Semb Wever, m...@apache.org > >> > >> = Mentors = > >> * Michael Semb Wever, m...@apache.org > >> * Andriy Redko, r...@apache.org > >> * John D. Ament, johndam...@apache.org > >> * Willem Ning Jiang, ningji...@apache.org > >> > >> = Sponsoring Entity = > >> We are requesting the Apache Incubator to sponsor this project. > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org > >> For additional commands, e-mail: general-h...@incubator.apache.org > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org > > For additional commands, e-mail: general-h...@incubator.apache.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org > For additional commands, e-mail: general-h...@incubator.apache.org > >