+1 Accept Zipkin into the Apache Incubator On Sun, Aug 26, 2018 at 8:14 PM 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 >
-- thanks ashish Blog: http://www.ashishpaliwal.com/blog My Photo Galleries: http://www.pbase.com/ashishpaliwal --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org