API Snapshots: Java Core, Memory, Pig, Hive,

Apache DataSketches Community

Transitioning From Our Previous GitHub Site

How We Communicate

There are many ways that are available for our community to communicate with each other and directly with our developers. Please review the following for methods that meet your needs.

Users Mailing List

This is a great place for all users (new and experienced) to ask general questions about the library, its general capabilities, and where to get help and find more information. This is also a great place to give the developers general feedback about the library. If you like what you see, please give us a Star (Java) and/or Star (C++/Python) If you have general suggestions on how we can improve we would like to hear from you. All of our developers follow this list and all sincere questions and comments will get a response.

Developers Mailing List

This is where the developers, committers, and contributors congregate to discuss, vote and establish priorities on addressing issues and opportunities with the library. The issues discussed tend to apply across all the different components of the library (see below).

Slack

Chat with users and developers on Slack in the-asf.slack.com workspace.

  • Anyone with an apache.org email account can freely join via ASF Slack Signup.
  • Otherwise, please send an email to our developers mail list above and we will send you an invite to join our slack channel. Join the #datasketches channel when you receive notification.

Bugs and Issues

If you have a problem or issue with any aspect of the performance, accuracy or documentation in our library please file an issue with the relevant Component GitHub site.

Contributing

We are always open to contributions from our community. Contributions can be of many forms: documentation, testing, science as well as bug fixes, code enhancements, code reviews, feature suggestions, usability feedback, etc. Contributions usually take the form of a Pull Request (PR), but if you wish to contribute and not sure how, please contact us on our dev list.

We are also open to the submission of entirely new sketch algorithms. If you have a sketch algorithm (or a significant enhancement of our current algorithms), please read our Sketch Criteria and contact us on our dev list.

What to work on

  • GitHub Components: Our library is made up of components that are partitioned into GitHub repositories. If you have a specific issue or bug report that impacts only one of these components please open an issue on the respective component. If you are a developer and wish to submit a PR, please choose the appropriate repository.

  • We have three TODO lists for Java, C++ and the Website. Please check these out for potential contribution!

Getting your proposed changes accepted

Proposed changes to the code or documentation are usually done through GitHub Pull Requests (PRs).

  • Simple PRs, such as simple bug fixes, typos, and documentation corrections require one approval vote (+1) from a committer.
  • Major changes to the code such as API or architectural changes or new sketch algorithms must be discussed on dev or on a GitHub issue as these will require additional design and compatibility reviews. These changes must receive at least three (+1) votes from committers. If the author is already a committer, than two additional committers must vote (+1).

Becoming a committer

We welcome anyone who is eager to continue to contribute to the DataSketches mission of providing open source, production quality sketch algorithms and become part of our team. Please send us a message on dev where we can give you some guidance. After you have made some successful contributions, the current committers will discuss your candidacy for becoming a committer. You can also review the Apache policies on becoming a committer.

Governance

The Project Management Committee (PMC) is responsible for the administrative aspects of the DataSketches project.

The basic responsibilities of the PMC include:

  • Approving releases
  • Nominating new committers
  • Maintaining the project’s shared resources, including the github account, mailing lists, websites, social media channels, etc.
  • Maintaining guidelines for the project