incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Deepak Nair <deepak.n...@gmail.com>
Subject Re: [VOTE] Accept Zipkin into the Apache Incubator
Date Mon, 27 Aug 2018 17:10:42 GMT
+1 Accept

On Mon, Aug 27, 2018, 10:04 AM Arpit Agarwal <aagarwal@hortonworks.com>
wrote:

> +1 (non-binding)
>
>
> On 8/26/18, 8:14 PM, "Mick Semb Wever" <mck@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, mck@apache.org
>
>     = Mentors =
>      * Michael Semb Wever, mck@apache.org
>      * Andriy Redko, reta@apache.org
>      * John D. Ament, johndament@apache.org
>      * Willem Ning Jiang, ningjiang@apache.org
>
>     = Sponsoring Entity =
>     We are requesting the Apache Incubator to sponsor this project.
>
>     ---------------------------------------------------------------------
>     To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
>     For additional commands, e-mail: general-help@incubator.apache.org
>
>
>
>
> ---------------------------------------------------------------------
> 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