Histograms (specifically the persistence of detailed information about the distributions of sampled data) have become increasingly important in the monitoring and observability industry. They are powerful tools that afford robust analysis while maintaining excellent economic value. However, there are a few challenges that are awkwardly technical in nature, but almost all of these challenges come down to compatibility of representations.
If I have a histogram and you have a histogram, and then someone decides that they want to do analysis on the aggregate of our two histograms, then they must be compatible or you require a PhD in statistics to not only answer the questions posed, but also to interpret those answers. This has to do, largely, with the introduction of error due to misaligned representations. That might sound complicated, but the solution is easy — use a single approach.
Circonus developed powerful, mergeable, highly-efficient histogram technology in 2011 and has both patents and pending patents on that technology. We also have an open source implementation of our solution that has been independently tested and evaluated and has out-paced other approaches in the realms of performance, accuracy, correctness, and (most importantly) usability. We licensed the technology under the 3-Clause Modified BSD license and held our patents for a purpose and have finally found a way to make that purpose more clear.
Many software integrators have reached out to us and inquired with concern about patent issues around integrating our technology. Suffice it to say, if there are patent issues leveraging our technology, it is very likely those same issues are present adopting one of the alternative solutions or inventing your own. We want the world to leverage the power of histograms, but most importantly we want that power to be in the hands of the people with the data, not the vendors. That power is neutered if vendors use incompatible representations.
Circonus is issuing a patent grant via copyright license to make our position clear. We are releasing libcircllhist, our reference implementation used throughout our product stack, as OpenHistogram. OpenHistogram will be released under two open source licenses — one officially open source and one we believe is open source. The first is the 3-Clause BSD License which affords absolutely no patent rights. The second license, called the OpenHistogram License, is derived from the Apache-2.0 License and affords patent rights if and only if the exact histogram representation remains unchanged. The changes to the Apache-2.0 License are surgical, small, and easy to understand and, in our opinion, still qualify as open source.
Why? We have patents and we want to leverage it for the benefit of the people with the data: the end user. We intend to leverage our patent to ensure that end-users who are faced with the challenge of digesting and analyzing massive amounts of distribution data can rely on a consistent, interchangeable, and stable representation of that data. For free. Forever.
This relatively unique approach to Open Sourcing patented technology is for the public good to establish an open, safe, and free industry standard. If you use histograms and elect for a different binning strategy, the patent affordances do not apply.
We welcome software integrators to integrate our histogram technology with the knowledge that there will be no patent issues from us here at Circonus. We welcome other vendors to adopt our histogram representation. We welcome everyone in the world to leverage this technology.