+1 binding > On Aug 26, 2018, at 8:26 PM, Adrian Cole <adrian.f.c...@gmail.com> wrote: > > +1 Accept Zipkin (non binding) >> On Mon, Aug 27, 2018 at 10:14 AM Mick Semb Wever <m...@apache.org> 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