As primary author, can I be given the ability to directly edit? 
On 2019/02/26 05:37:22, Kenneth Knowles <k...@apache.org> wrote: 
> It isn't too much work, so I've done it:
> https://s.apache.org/datasketches-proposal-draft
> 
> Kenn
> 
> On Mon, Feb 25, 2019 at 9:31 PM leerho <lee...@gmail.com> wrote:
> 
> > Yes, I thought of that.  But it’s not like I’m being overwhelmed with
> > requests to comment ... so far it has been only 3 or 4, and the requested
> > changes have been minor.  I’m assuming that if there are no more
> > substantive changes after this week that the document would be moved to the
> > wiki archive, where, I presume, changes could still be made.
> >
> > I want to do the right thing here, so if you feel that the document would
> > get much better feedback on an unrestricted gDoc site, I will set it up.
> >
> >
> >
> > On Mon, Feb 25, 2019 at 8:32 PM Jim Apple <jbap...@cloudera.com.invalid>
> > wrote:
> >
> > > You could use a Google account that is not under Yahoo’s control, then
> > let
> > > anyone in the world add a comment, maybe.
> > >
> > > On Mon, Feb 25, 2019 at 3:26 PM leerho <lee...@gmail.com> wrote:
> > >
> > > > Ken,
> > > > Yahoo does not allow me to create a shared link outside our company,
> > > except
> > > > to individual email addresses.  So attempting to share it to the email
> > > > general@incubator.apache.org may not work.  Nonetheless, several
> > > > individuals were able to request access using their individual email
> > > > accounts and I was able to add them.  I will try to add you using
> > > > k...@apache.org, but if that doesn't work, I may need a gmail or
> > > > equivalent
> > > > account for you.
> > > >
> > > > Lee.
> > > >
> > > >
> > > > On Mon, Feb 25, 2019 at 2:59 PM Kenneth Knowles <k...@apache.org>
> > wrote:
> > > >
> > > > > I could not access that document. I suggest you need to turn on link
> > > > > sharing.
> > > > >
> > > > > Kenn
> > > > >
> > > > > On Mon, Feb 25, 2019 at 12:00 PM lee...@gmail.com <lee...@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > Try this link:
> > > > > >
> > > > >
> > > >
> > >
> > https://docs.google.com/document/d/19JKevzFQNcaLA51LFLUlP1hzdFDW7oDJrJO8N6weDv8/edit?usp=sharing
> > > > > >
> > > > > >
> > > > > > On 2019/02/25 05:55:50, leerho <lee...@gmail.com> wrote:
> > > > > > > Yes I will try that tomorrow.
> > > > > > >
> > > > > > > On Sun, Feb 24, 2019 at 7:34 PM Kenneth Knowles <k...@apache.org
> > >
> > > > > wrote:
> > > > > > >
> > > > > > > > Can you share the Google doc with the proposal? Per Ted's
> > advice,
> > > > we
> > > > > > can
> > > > > > > > iterate quickly there and move it to the wiki when it becomes a
> > > bit
> > > > > > more
> > > > > > > > stable.
> > > > > > > >
> > > > > > > > Kenn
> > > > > > > >
> > > > > > > > On Fri, Feb 22, 2019 at 10:21 PM lee...@gmail.com <
> > > > lee...@gmail.com>
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > Thanks for the offer.  i am a neophyte at this process and
> > > email
> > > > > > app!   I
> > > > > > > > > could use a lot of help getting this off the ground!  Also,
> > I'm
> > > > not
> > > > > > sure
> > > > > > > > > that Mr. Chen and Mr. Onofré have fully accepted taking this
> > on
> > > > :)
> > > > > > > > >
> > > > > > > > > Lee.
> > > > > > > > >
> > > > > > > > > On 2019/02/23 06:03:58, Kenneth Knowles <k...@apache.org>
> > > wrote:
> > > > > > > > > > Nice.
> > > > > > > > > >
> > > > > > > > > > I would very much like to help mentor this project, though
> > > you
> > > > > > already
> > > > > > > > > have
> > > > > > > > > > a couple good ones.
> > > > > > > > > >
> > > > > > > > > > I concur with incubator as sponsoring entity.
> > > > > > > > > >
> > > > > > > > > > Kenn (VP Apache Beam)
> > > > > > > > > >
> > > > > > > > > > On Fri, Feb 22, 2019 at 9:45 PM leerho <lee...@gmail.com>
> > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > I didn't realize that this mail list does not accept PDF
> > > > files,
> > > > > > > > > apparently
> > > > > > > > > > > only text.  So let me try one more time ... :)  Please
> > let
> > > me
> > > > > > know if
> > > > > > > > > > > this works!
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > = Apache DataSketches Proposal[1] =
> > > > > > > > > > >
> > > > > > > > > > > == Abstract ==
> > > > > > > > > > >
> > > > > > > > > > > DataSketches.GitHub.io is an open source,
> > high-performance
> > > > > > library
> > > > > > > > of
> > > > > > > > > > > stochastic streaming algorithms commonly called
> > "sketches"
> > > in
> > > > > the
> > > > > > > > data
> > > > > > > > > > > sciences. Sketches are small, stateful programs that
> > > process
> > > > > > massive
> > > > > > > > > data
> > > > > > > > > > > as a stream and can provide approximate answers, with
> > > > > > mathematical
> > > > > > > > > > > guarantees, to computationally difficult queries
> > > > > > orders-of-magnitude
> > > > > > > > > faster
> > > > > > > > > > > than traditional, exact methods.
> > > > > > > > > > >
> > > > > > > > > > > This proposal is to move DataSketches to the Apache
> > > Software
> > > > > > > > > > > Foundation(ASF) transferring ownership of its copyright
> > > > > > intellectual
> > > > > > > > > > > property to the ASF.  Thereafter, DataSketches would be
> > > > > > officially
> > > > > > > > > known as
> > > > > > > > > > > Apache DataSketches and its evolution and governance
> > would
> > > > come
> > > > > > under
> > > > > > > > > the
> > > > > > > > > > > rules and guidance of the ASF.
> > > > > > > > > > >
> > > > > > > > > > > == Introduction ==
> > > > > > > > > > >
> > > > > > > > > > > The DataSketches library contains carefully crafted
> > > > > > implementations
> > > > > > > > of
> > > > > > > > > > > sketch algorithms that meet rigorous standards of quality
> > > and
> > > > > > > > > performance
> > > > > > > > > > > and provide capabilities required for large-scale
> > > production
> > > > > > systems
> > > > > > > > > that
> > > > > > > > > > > must process and analyze massive data. The DataSketches
> > > core
> > > > > > > > > repository is
> > > > > > > > > > > written in Java with a parallel core repository written
> > in
> > > > C++
> > > > > > that
> > > > > > > > > > > includes Python wrappers. The DataSketches library also
> > > > > includes
> > > > > > > > > special
> > > > > > > > > > > repositories for extending the core library for Apache
> > Hive
> > > > and
> > > > > > > > Apache
> > > > > > > > > Pig.
> > > > > > > > > > > The sketches developed in the different languages share a
> > > > > common
> > > > > > > > binary
> > > > > > > > > > > storage format so that sketches created and stored in
> > Java,
> > > > for
> > > > > > > > > example,
> > > > > > > > > > > can be fully used in C++, and visa versa.  Because the
> > > stored
> > > > > > sketch
> > > > > > > > > > > "images" are just a "blob" of bytes (similar to picture
> > > > > images),
> > > > > > they
> > > > > > > > > can
> > > > > > > > > > > be shared across many different systems, languages and
> > > > > platforms.
> > > > > > > > > > >
> > > > > > > > > > > The DataSketches documentation website,
> > > > > > > > https://datasketches.github.io
> > > > > > > > > ,
> > > > > > > > > > > includes general tutorials, a comprehensive research
> > > section
> > > > > with
> > > > > > > > > > > references to relevant academic papers, extensive
> > examples
> > > > for
> > > > > > using
> > > > > > > > > the
> > > > > > > > > > > core library directly as well as examples for accessing
> > the
> > > > > > library
> > > > > > > > in
> > > > > > > > > > > Hive, Pig, and Apache Spark.
> > > > > > > > > > >
> > > > > > > > > > > The DataSketches library also includes a characterization
> > > > > > repository
> > > > > > > > > for
> > > > > > > > > > > long running test programs that are used for studying
> > > > accuracy
> > > > > > and
> > > > > > > > > > > performance of these sketches over wide ranges of input
> > > > > > variables.
> > > > > > > > The
> > > > > > > > > data
> > > > > > > > > > > produced by these programs is used for generating the
> > many
> > > > > > > > performance
> > > > > > > > > > > plots contained in the documentation website and for
> > > academic
> > > > > > > > > > > publications.
> > > > > > > > > > >
> > > > > > > > > > > The code repositories used for production are versioned
> > and
> > > > > > published
> > > > > > > > > to
> > > > > > > > > > > Maven Central on periodic intervals as the library
> > evolves.
> > > > > > > > > > >
> > > > > > > > > > > The DataSketches library also includes several
> > experimental
> > > > > > > > > repositories
> > > > > > > > > > > for use-cases outside the large-scale systems
> > environments,
> > > > > such
> > > > > > as
> > > > > > > > > > > sketches for mobile, IoT devices (Android), command-line
> > > > access
> > > > > > of
> > > > > > > > the
> > > > > > > > > > > sketch library, and an experimental repository for
> > > > vector-based
> > > > > > > > > sketches
> > > > > > > > > > > that performs approximate Singular Value Decomposition
> > > (SVD)
> > > > > > analysis
> > > > > > > > > that
> > > > > > > > > > > could potentially be used in Machine Learning (ML)
> > > > > applications.
> > > > > > > > > > >
> > > > > > > > > > > == Background ==
> > > > > > > > > > >
> > > > > > > > > > > The DataSketches library was started in 2012 as internal
> > > > Yahoo
> > > > > > > > project
> > > > > > > > > to
> > > > > > > > > > > dramatically reduce time and resources required for
> > > distinct
> > > > > > (unique)
> > > > > > > > > > > counting.  An extensive search on the Internet at the
> > time
> > > > > > yielded a
> > > > > > > > > number
> > > > > > > > > > > of theoretical papers on stochastic streaming algorithms
> > > with
> > > > > > > > > pseudocode
> > > > > > > > > > > examples, but we did not find any usable open-source code
> > > of
> > > > > the
> > > > > > > > > quality we
> > > > > > > > > > > felt we needed for our internal production systems.  So
> > we
> > > > > > started a
> > > > > > > > > small
> > > > > > > > > > > project (one person) to develop our own sketches working
> > > > > directly
> > > > > > > > from
> > > > > > > > > > > published theoretical papers.
> > > > > > > > > > >
> > > > > > > > > > > The DataSketches library was designed from the start with
> > > the
> > > > > > > > > objective of
> > > > > > > > > > > making these algorithms, usually only described in
> > > > theoretical
> > > > > > > > papers,
> > > > > > > > > > > easily accessible to systems developers for use in our
> > > > internal
> > > > > > > > > production
> > > > > > > > > > > systems. By necessity, the code had to be of the highest
> > > > > quality
> > > > > > and
> > > > > > > > > > > thoroughly tested. The wide variety of our internal
> > > > production
> > > > > > > > systems
> > > > > > > > > > > drove the requirement that the sketch implementations had
> > > to
> > > > > > have an
> > > > > > > > > > > absolute minimum of external, run-time dependencies in
> > > order
> > > > to
> > > > > > > > > simplify
> > > > > > > > > > > integration and troubleshooting.
> > > > > > > > > > >
> > > > > > > > > > > Our internal experiments demonstrated dramatic positive
> > > > impact
> > > > > > on the
> > > > > > > > > > > performance of our systems.  As a result, the
> > DataSketches
> > > > > > library
> > > > > > > > > quickly
> > > > > > > > > > > evolved to include different types of sketches for
> > > different
> > > > > > types of
> > > > > > > > > > > queries, such as frequent-items (a.k.a, heavy-hitters)
> > > > > > algorithms,
> > > > > > > > > > > quantile/histogram algorithms, and weighted and
> > unweighted
> > > > > > sampling
> > > > > > > > > > > algorithms.
> > > > > > > > > > >
> > > > > > > > > > > We quickly discovered that developing these sketch
> > > algorithms
> > > > > to
> > > > > > be
> > > > > > > > > truly
> > > > > > > > > > > robust in production environments is quite difficult and
> > > > > requires
> > > > > > > > deep
> > > > > > > > > > > understanding of the underlying mathematics and
> > statistics
> > > as
> > > > > > well as
> > > > > > > > > > > extensive experience in developing high quality code for
> > > 24/7
> > > > > > > > > production
> > > > > > > > > > > systems. This is a difficult combination of skills for
> > any
> > > > one
> > > > > > > > > organization
> > > > > > > > > > > to collect and maintain over time. It became clear that
> > > this
> > > > > > > > technology
> > > > > > > > > > > needed a community larger than Yahoo to evolve.  In
> > > November,
> > > > > > 2015,
> > > > > > > > > this
> > > > > > > > > > > factor, along with Yahoo’s strong experience and support
> > of
> > > > > open
> > > > > > > > > source,
> > > > > > > > > > > led to the decision to open source this technology under
> > an
> > > > > > Apache
> > > > > > > > 2.0
> > > > > > > > > > > license on GitHub. Since that time our community has
> > > expanded
> > > > > > > > > considerably
> > > > > > > > > > > and the key contributors to this effort includes leading
> > > > > research
> > > > > > > > > > > scientists from a number of universities as well as
> > > > > > practitioners and
> > > > > > > > > > > researchers from a number of major corporations. The core
> > > of
> > > > > this
> > > > > > > > > group is
> > > > > > > > > > > very active as we meet weekly to discuss research
> > > directions
> > > > > and
> > > > > > > > > > > engineering priorities.
> > > > > > > > > > >
> > > > > > > > > > > It is important to note that our internal systems at
> > Yahoo
> > > > use
> > > > > > the
> > > > > > > > > current
> > > > > > > > > > > public GitHub open source DataSketches library and not an
> > > > > > internal
> > > > > > > > > version
> > > > > > > > > > > of the code.
> > > > > > > > > > >
> > > > > > > > > > > The close collaboration of scientific research and
> > > > engineering
> > > > > > > > > development
> > > > > > > > > > > experience with actual massive-data processing systems
> > has
> > > > also
> > > > > > > > > produced
> > > > > > > > > > > new research publications in the field of stochastic
> > > > streaming
> > > > > > > > > algorithms,
> > > > > > > > > > > for example:
> > > > > > > > > > >
> > > > > > > > > > > * Daniel Anderson, Pryce Bevan, Kevin J. Lang, Edo
> > Liberty,
> > > > Lee
> > > > > > > > > Rhodes, and
> > > > > > > > > > > Justin Thaler. A high-performance algorithm for
> > identifying
> > > > > > frequent
> > > > > > > > > items
> > > > > > > > > > > in data streams. In ACM IMC 2017.
> > > > > > > > > > >
> > > > > > > > > > > * Anirban Dasgupta, Kevin J. Lang, Lee Rhodes, and Justin
> > > > > > Thaler. A
> > > > > > > > > > > framework for estimating stream expression cardinalities.
> > > In
> > > > > > > > *EDBT/ICDT
> > > > > > > > > > > Proceedings ‘16 *, pages 6:1–6:17, 2016.
> > > > > > > > > > >
> > > > > > > > > > > * Mina Ghashami, Edo Liberty, Jeff M. Phillips. Efficient
> > > > > > Frequent
> > > > > > > > > > > Directions Algorithm for Sparse Matrices. In ACM SIGKDD
> > > > > > Proceedings
> > > > > > > > > ‘16,
> > > > > > > > > > > pages 845-854, 2016.
> > > > > > > > > > >
> > > > > > > > > > > * Zohar S. Karnin, Kevin J. Lang, and Edo Liberty.
> > Optimal
> > > > > > quantile
> > > > > > > > > > > approximation in streams. In IEEE FOCS Proceedings ‘16,
> > > pages
> > > > > > 71–78,
> > > > > > > > > 2016.
> > > > > > > > > > >
> > > > > > > > > > > * Kevin J Lang. Back to the future: an even more nearly
> > > > optimal
> > > > > > > > > cardinality
> > > > > > > > > > > estimation algorithm. arXiv preprint
> > > > > > > > https://arxiv.org/abs/1708.06839,
> > > > > > > > > > > 2017.
> > > > > > > > > > >
> > > > > > > > > > > * Edo Liberty. Simple and deterministic matrix sketching.
> > > In
> > > > > ACM
> > > > > > KDD
> > > > > > > > > > > Proceedings ‘13, pages 581– 588, 2013.
> > > > > > > > > > >
> > > > > > > > > > > * Edo Liberty, Michael Mitzenmacher, Justin Thaler, and
> > > > > Jonathan
> > > > > > > > > Ullman.
> > > > > > > > > > > Space lower bounds for itemset frequency sketches. In ACM
> > > > PODS
> > > > > > > > > Proceedings
> > > > > > > > > > > ‘16, pages 441–454, 2016.
> > > > > > > > > > >
> > > > > > > > > > > * Michael Mitzenmacher, Thomas Steinke, and Justin
> > Thaler.
> > > > > > > > Hierarchical
> > > > > > > > > > > heavy hitters with the space saving algorithm. In SIAM
> > > ALENEX
> > > > > > > > > Proceedings
> > > > > > > > > > > ‘12, pages 160–174, 2012.
> > > > > > > > > > >
> > > > > > > > > > > == The Rationale for Sketches ==
> > > > > > > > > > >
> > > > > > > > > > > In the analysis of big data there are often problem
> > queries
> > > > > that
> > > > > > > > don’t
> > > > > > > > > > > scale because they require huge compute resources and
> > time
> > > to
> > > > > > > > generate
> > > > > > > > > > > exact results. Examples include count distinct,
> > quantiles,
> > > > most
> > > > > > > > > frequent
> > > > > > > > > > > items, joins, matrix computations, and graph analysis.
> > > > > > > > > > >
> > > > > > > > > > > If we can loosen the requirement of “exact” results from
> > > our
> > > > > > queries
> > > > > > > > > and be
> > > > > > > > > > > satisfied with approximate results, within some well
> > > > understood
> > > > > > > > bounds
> > > > > > > > > of
> > > > > > > > > > > error, there is an entire branch of mathematics and data
> > > > > science
> > > > > > that
> > > > > > > > > has
> > > > > > > > > > > evolved around developing algorithms that can produce
> > > > > approximate
> > > > > > > > > results
> > > > > > > > > > > with mathematically well-defined error properties.
> > > > > > > > > > >
> > > > > > > > > > > With the additional requirements that these algorithms
> > must
> > > > be
> > > > > > small
> > > > > > > > > > > (compared to the size of the input data), sublinear (the
> > > size
> > > > > of
> > > > > > the
> > > > > > > > > sketch
> > > > > > > > > > > must grow at a slower rate than the size of the input
> > > > stream),
> > > > > > > > > streaming
> > > > > > > > > > > (they can only touch each data item once), and mergeable
> > > > > > (suitable
> > > > > > > > for
> > > > > > > > > > > distributed processing), defines a class of algorithms
> > that
> > > > can
> > > > > > be
> > > > > > > > > > > described as small, stochastic, streaming, sublinear
> > > > mergeable
> > > > > > > > > algorithms,
> > > > > > > > > > > commonly called sketches (they also have other names, but
> > > we
> > > > > > will use
> > > > > > > > > the
> > > > > > > > > > > term sketches from here on).
> > > > > > > > > > >
> > > > > > > > > > > To be truly streaming and be able to process data in a
> > > single
> > > > > > pass,
> > > > > > > > > > > sketches must make absolute minimum assumptions about the
> > > > input
> > > > > > > > stream.
> > > > > > > > > > > This is critically important, as there is no “second
> > > chance”
> > > > to
> > > > > > > > > process the
> > > > > > > > > > > data.
> > > > > > > > > > >
> > > > > > > > > > > For example, sketches should not make assumptions about
> > the
> > > > > > order of
> > > > > > > > > stream
> > > > > > > > > > > items, the stream length, the dynamic range of values, or
> > > the
> > > > > > > > > distribution
> > > > > > > > > > > of item occurrence frequencies. Sketches should be
> > tolerant
> > > > of
> > > > > > NaNs,
> > > > > > > > > Nulls
> > > > > > > > > > > and empty objects. About the only thing that the sketch
> > > needs
> > > > > to
> > > > > > know
> > > > > > > > > about
> > > > > > > > > > > the stream is how to extract items from it and what type
> > > the
> > > > > > item is,
> > > > > > > > > e.g.,
> > > > > > > > > > > is it a numeric value or a string.
> > > > > > > > > > >
> > > > > > > > > > > As far as the sketch is concerned, the input stream is a
> > > > > > sequence of
> > > > > > > > > items
> > > > > > > > > > > in some unknown random order with unknown random values.
> > > > > > > > > > >
> > > > > > > > > > > The sketch is essentially a complex state machine and
> > > > combined
> > > > > > with
> > > > > > > > the
> > > > > > > > > > > random input stream defines a stochastic process. We then
> > > > apply
> > > > > > > > > > > probabilistic methods to interpret the states of the
> > > > stochastic
> > > > > > > > > process in
> > > > > > > > > > > order to extract useful information about the input
> > stream
> > > > > > itself.
> > > > > > > > The
> > > > > > > > > > > resulting information will be approximate, but we also
> > use
> > > > > > additional
> > > > > > > > > > > probabilistic methods to extract an estimate of the
> > likely
> > > > > > > > probability
> > > > > > > > > > > distribution of error.
> > > > > > > > > > >
> > > > > > > > > > > There is a significant scientific contribution here that
> > is
> > > > > > defining
> > > > > > > > > the
> > > > > > > > > > > state machine, understanding the resulting stochastic
> > > > process,
> > > > > > > > > developing
> > > > > > > > > > > the probabilistic methods, and proving mathematically,
> > that
> > > > it
> > > > > > all
> > > > > > > > > works!
> > > > > > > > > > > This is why the scientific contributors to this project
> > > are a
> > > > > > > > critical
> > > > > > > > > and
> > > > > > > > > > > strategic component to our success.  The development
> > > > engineers
> > > > > > > > > translate
> > > > > > > > > > > the concepts of the proposed state machine and
> > > probabilistic
> > > > > > methods
> > > > > > > > > into
> > > > > > > > > > > production-quality code. Even more important, they work
> > > > closely
> > > > > > with
> > > > > > > > > the
> > > > > > > > > > > scientists, feeding back system and user requirements,
> > > which
> > > > > > leads
> > > > > > > > not
> > > > > > > > > only
> > > > > > > > > > > to superior product design, but to new science as well.
> > A
> > > > > > number of
> > > > > > > > > > > scientific papers our members have published (see above)
> > > is a
> > > > > > direct
> > > > > > > > > result
> > > > > > > > > > > of this close collaboration.
> > > > > > > > > > >
> > > > > > > > > > > Because sketches are small they can be processed
> > extremely
> > > > > fast,
> > > > > > > > often
> > > > > > > > > many
> > > > > > > > > > > orders-of-magnitude faster than traditional exact
> > > > computations.
> > > > > > For
> > > > > > > > > > > interactive queries there may not be other viable
> > > > alternatives,
> > > > > > and
> > > > > > > > in
> > > > > > > > > the
> > > > > > > > > > > case of real-time analysis, sketches are the only known
> > > > > solution.
> > > > > > > > > > >
> > > > > > > > > > > For any system that needs to extract useful information
> > > from
> > > > > > massive
> > > > > > > > > data
> > > > > > > > > > > sketches are essential tools that should be tightly
> > > > integrated
> > > > > > into
> > > > > > > > the
> > > > > > > > > > > system’s analysis capabilities. This technology has
> > helped
> > > > > Yahoo
> > > > > > > > > > > successfully reduce data processing times from days to
> > > hours
> > > > or
> > > > > > > > > minutes on
> > > > > > > > > > > a number of its internal platforms and has enabled
> > > subsecond
> > > > > > queries
> > > > > > > > on
> > > > > > > > > > > real-time platforms that would have been infeasible
> > without
> > > > > > sketches.
> > > > > > > > > > > The Rationale for Apache DataSketches
> > > > > > > > > > > Other open source implementations of sketch algorithms
> > can
> > > be
> > > > > > found
> > > > > > > > on
> > > > > > > > > the
> > > > > > > > > > > Internet. However, we have not yet found any open source
> > > > > > > > > implementations
> > > > > > > > > > > that are as comprehensive, engineered with the quality
> > > > required
> > > > > > for
> > > > > > > > > > > production systems, and with usable and guaranteed error
> > > > > > properties.
> > > > > > > > > Large
> > > > > > > > > > > Internet companies, such as Google and Facebook, have
> > > > published
> > > > > > > > papers
> > > > > > > > > on
> > > > > > > > > > > sketching, however, their implementations of their
> > > published
> > > > > > > > > algorithms are
> > > > > > > > > > > proprietary and not available as open source.
> > > > > > > > > > >
> > > > > > > > > > > The DataSketches library already provides integrations
> > > with a
> > > > > > number
> > > > > > > > of
> > > > > > > > > > > major Apache data processing platforms such as Apache
> > Hive,
> > > > > > Apache
> > > > > > > > Pig,
> > > > > > > > > > > Apache Spark and Apache Druid, and is also integrated
> > with
> > > a
> > > > > > number
> > > > > > > > of
> > > > > > > > > > > other open source data processing platforms such as
> > Splice
> > > > > > Machine,
> > > > > > > > > GCHQ
> > > > > > > > > > > Gaffer and PostgreSQL.
> > > > > > > > > > >
> > > > > > > > > > > We believe that having DataSketches as an Apache project
> > > will
> > > > > > provide
> > > > > > > > > an
> > > > > > > > > > > immediate, worthwhile, and substantial contribution to
> > the
> > > > open
> > > > > > > > source
> > > > > > > > > > > community, will have a better opportunity to provide a
> > > > > meaningful
> > > > > > > > > > > contribution to both the science and engineering of
> > > sketching
> > > > > > > > > algorithms,
> > > > > > > > > > > and integrate with other Apache projects.  In addition,
> > > this
> > > > > is a
> > > > > > > > > > > significant opportunity for Apache to be the "go-to"
> > > > > destination
> > > > > > for
> > > > > > > > > users
> > > > > > > > > > > that want to leverage this exciting technology.
> > > > > > > > > > >
> > > > > > > > > > > == Initial Goals ==
> > > > > > > > > > >
> > > > > > > > > > > We are breaking our initial goals into short-term (2-6
> > > > months)
> > > > > > and
> > > > > > > > > > > intermediate to long-term ( 6 months to 2 years):
> > > > > > > > > > >
> > > > > > > > > > > Our short-term goals include:
> > > > > > > > > > >
> > > > > > > > > > > * Understanding and adapting to the Apache development
> > > > process
> > > > > > and
> > > > > > > > > > > structures.
> > > > > > > > > > >
> > > > > > > > > > > * Start refactoring codebase and move various
> > DataSketches
> > > > > > > > repositories
> > > > > > > > > > > code to Apache Git repository.
> > > > > > > > > > >
> > > > > > > > > > > * Continue development of new features, functions, and
> > > fixes.
> > > > > > > > > > >
> > > > > > > > > > > * Specific sub-projects (e.g., C++ and Python) will
> > > continue
> > > > to
> > > > > > be
> > > > > > > > > > > developed and expanded.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > The intermediate to long term goals include:
> > > > > > > > > > >
> > > > > > > > > > > * Completing the design and implementation of the C++
> > > > sketches
> > > > > to
> > > > > > > > > > > complement what is already available in Java, and the
> > > Python
> > > > > > wrappers
> > > > > > > > > of
> > > > > > > > > > > those C++ sketches.
> > > > > > > > > > >
> > > > > > > > > > > * Expanding the C++ build framework to include Windows
> > and
> > > > the
> > > > > > > > popular
> > > > > > > > > > > Linux variants.
> > > > > > > > > > >
> > > > > > > > > > > * Continued engagement with the scientific research
> > > community
> > > > > on
> > > > > > the
> > > > > > > > > > > development of new algorithms for computationally
> > difficult
> > > > > > problems
> > > > > > > > > that
> > > > > > > > > > > heretofore have not had a sketching solution.
> > > > > > > > > > >
> > > > > > > > > > > == Current Status ==
> > > > > > > > > > >
> > > > > > > > > > > The DataSketches GitHub project has been quite
> > successful.
> > > > As
> > > > > of
> > > > > > > > this
> > > > > > > > > > > writing (Feb, 2019) the number of downloads measured by
> > the
> > > > > Nexus
> > > > > > > > > > > Repository Manager at https://oss.sonatype.org has grown
> > > by
> > > > > > nearly a
> > > > > > > > > > > factor
> > > > > > > > > > > of 10 over the past year to about 55 thousand per month.
> > > The
> > > > > > > > > > > DataSketches/sketches-core repository has about 560 stars
> > > and
> > > > > 141
> > > > > > > > > forks,
> > > > > > > > > > > which is pretty good for a highly specialized library.
> > > > > > > > > > >
> > > > > > > > > > > === Development Practices ===
> > > > > > > > > > >
> > > > > > > > > > > ==== Source Control ====
> > > > > > > > > > >
> > > > > > > > > > > All of our developers have extensive experience with Git
> > > > > version
> > > > > > > > > control
> > > > > > > > > > > and follow accepted practices for use of Pull Requests
> > > (PRs),
> > > > > > code
> > > > > > > > > reviews
> > > > > > > > > > > and commits to master, for example.
> > > > > > > > > > >
> > > > > > > > > > > ==== Testing ====
> > > > > > > > > > >
> > > > > > > > > > > Sketches, by their nature are probabilistic programs and
> > > > don’t
> > > > > > > > > necessarily
> > > > > > > > > > > behave deterministically.  For some of the sketches we
> > > > > > intentionally
> > > > > > > > > insert
> > > > > > > > > > > random noise into the code as this gives us the
> > > mathematical
> > > > > > > > properties
> > > > > > > > > > > that we need to guarantee accuracy.  This can make the
> > > > behavior
> > > > > > of
> > > > > > > > > these
> > > > > > > > > > > algorithms quite unintuitive and provides significant
> > > > > challenges
> > > > > > to
> > > > > > > > the
> > > > > > > > > > > developer who wishes to test these algorithms for
> > > > correctness.
> > > > > > As a
> > > > > > > > > result,
> > > > > > > > > > > our testing strategy includes two major components: unit
> > > > tests,
> > > > > > and
> > > > > > > > > > > characterization tests.
> > > > > > > > > > >
> > > > > > > > > > > ===== Unit Testing =====
> > > > > > > > > > >
> > > > > > > > > > > Our unit tests are primarily quick tests to make sure
> > that
> > > we
> > > > > > > > exercise
> > > > > > > > > all
> > > > > > > > > > > critical paths in the code and that key branches are
> > > executed
> > > > > > > > > correctly. It
> > > > > > > > > > > is important that they execute relatively fast as they
> > are
> > > > > > generally
> > > > > > > > > run on
> > > > > > > > > > > every code build. The sketches-core repository alone has
> > > > about
> > > > > 22
> > > > > > > > > thousand
> > > > > > > > > > > statements, over 1300 unit tests and code coverage of
> > about
> > > > > > 98.2% as
> > > > > > > > > > > measured by Atlassian/Clover.  It is our goal for all of
> > > our
> > > > > code
> > > > > > > > > > > repositories that are used in production that they have
> > > code
> > > > > > coverage
> > > > > > > > > > > greater than 90%.
> > > > > > > > > > >
> > > > > > > > > > > ===== Characterization Testing =====
> > > > > > > > > > >
> > > > > > > > > > > In order to test the probabilistic methods that are used
> > to
> > > > > > interpret
> > > > > > > > > the
> > > > > > > > > > > stochastic behaviors of our sketches we have a separate
> > > > > > > > > characterization
> > > > > > > > > > > repository that is dedicated to this.  To measure
> > accuracy,
> > > > for
> > > > > > > > > example,
> > > > > > > > > > > requires running thousands of trials at each of many
> > > > different
> > > > > > points
> > > > > > > > > along
> > > > > > > > > > > the domain axis. Each trial compares its estimated
> > results
> > > > > > against a
> > > > > > > > > known
> > > > > > > > > > > exact result producing an error for that trial.  These
> > > error
> > > > > > > > > measurements
> > > > > > > > > > > are then fed into our Quantiles sketch to capture the
> > > actual
> > > > > > > > > distribution
> > > > > > > > > > > of error at that point along the axis. We then select
> > > > quantile
> > > > > > > > contours
> > > > > > > > > > > across all the distributions at points along the axis.
> > > These
> > > > > > > > contours
> > > > > > > > > can
> > > > > > > > > > > then be plotted to reveal the shape of the actual error
> > > > > > distribution.
> > > > > > > > > These
> > > > > > > > > > > distributions are not at all Gaussian, in fact they can
> > be
> > > > > quite
> > > > > > > > > complex.
> > > > > > > > > > > Nonetheless, these distributions are then checked against
> > > our
> > > > > > > > > statistical
> > > > > > > > > > > guarantees inherent to the specific sketch algorithm and
> > > its
> > > > > > > > > parameters.
> > > > > > > > > > > There are many examples of these characterization error
> > > > > > distributions
> > > > > > > > > on
> > > > > > > > > > > our website. The runtimes of these tests can be very long
> > > and
> > > > > can
> > > > > > > > range
> > > > > > > > > > > from many minutes to hours, and some can run for days.
> > > > > > Currently, we
> > > > > > > > > have
> > > > > > > > > > > separate characterization repositories for Java and C++ /
> > > > > Python.
> > > > > > > > > > >
> > > > > > > > > > > It is our goal that we perform this characterization
> > > analysis
> > > > > > for all
> > > > > > > > > of
> > > > > > > > > > > our sketches.  By definition, the code that runs these
> > > > > > > > characterization
> > > > > > > > > > > tests is open-source so others can run these tests as
> > well.
> > > > We
> > > > > > do
> > > > > > > > not
> > > > > > > > > have
> > > > > > > > > > > formal releases of this code (because it is not
> > production
> > > > > code)
> > > > > > and
> > > > > > > > > it is
> > > > > > > > > > > not published to Maven Central.
> > > > > > > > > > >
> > > > > > > > > > > === Meritocracy ===
> > > > > > > > > > >
> > > > > > > > > > > DataSketches was initially developed based on
> > requirements
> > > > > within
> > > > > > > > > Yahoo. As
> > > > > > > > > > > a project on GitHub, DataSketches has received
> > > contributions
> > > > > from
> > > > > > > > > numerous
> > > > > > > > > > > individual developers from around the world, dedicated
> > > > research
> > > > > > work
> > > > > > > > > from
> > > > > > > > > > > senior scientists at Amazon and Visa, and academic
> > > > researchers
> > > > > > from
> > > > > > > > > > > Georgetown University, Princeton, and MIT.
> > > > > > > > > > >
> > > > > > > > > > > As a project under incubation, we are committed to
> > > expanding
> > > > > our
> > > > > > > > > effort to
> > > > > > > > > > > build an environment which supports a meritocracy. We are
> > > > > > focused on
> > > > > > > > > > > engaging the community and other related projects for
> > > support
> > > > > and
> > > > > > > > > > > contributions. Moreover, we are committed to ensure
> > > > > contributors
> > > > > > and
> > > > > > > > > > > committers to DataSketches come from a broad mix of
> > > > > organizations
> > > > > > > > > through a
> > > > > > > > > > > merit-based decision process during incubation. We
> > believe
> > > > > > strongly
> > > > > > > > in
> > > > > > > > > the
> > > > > > > > > > > DataSketches premise that fulfills the concept of a well
> > > > > > engineered
> > > > > > > > and
> > > > > > > > > > > scientifically rigorous library that implements these
> > > > powerful
> > > > > > > > > algorithms
> > > > > > > > > > > and are committed to growing an inclusive community of
> > > > > > DataSketches
> > > > > > > > > > > contributors and users.
> > > > > > > > > > >
> > > > > > > > > > > === Community ===
> > > > > > > > > > >
> > > > > > > > > > > Yahoo has a long history and active engagement in the
> > Open
> > > > > Source
> > > > > > > > > > > community. Major projects include: Vespa.ai, Bullet,
> > > Moloch,
> > > > > > > > Panoptes,
> > > > > > > > > > > Screwdriver.cd, Athenz, HaloDB, Maha, Mendel,
> > > > > TensorFlowOnSpark,
> > > > > > > > > gifshot,
> > > > > > > > > > > fluxible, as well as the creation, contribution and
> > > > incubation
> > > > > of
> > > > > > > > many
> > > > > > > > > > > Apache projects such as Apache Hadoop, Pig, Bookkeeper,
> > > > Oozie,
> > > > > > > > > Zookeeper,
> > > > > > > > > > > Omid, Pulsar, Traffic Server, Storm, Druid, and many
> > more.
> > > > > > > > > > >
> > > > > > > > > > > Every day, DataSketches is actively used by a
> > organizations
> > > > and
> > > > > > > > > > > institutions around the world for batch and stream
> > > processing
> > > > > of
> > > > > > > > data.
> > > > > > > > > We
> > > > > > > > > > > believe acceptance will allow us to consolidate existing
> > > > > > > > > > > DataSketches-related work, grow the DataSketches
> > community,
> > > > and
> > > > > > > > deepen
> > > > > > > > > > > connections between DataSketches and other open source
> > > > > projects.
> > > > > > > > > > >
> > > > > > > > > > > === Introduction to the Core Developers & Contributors
> > ===
> > > > > > > > > > >
> > > > > > > > > > > The core developers and contributors for DataSketches are
> > > > from
> > > > > > > > diverse
> > > > > > > > > > > backgrounds, but primarily are scientists that love
> > > > engineering
> > > > > > and
> > > > > > > > > > > engineers that love science. A large part of the value we
> > > > bring
> > > > > > comes
> > > > > > > > > from
> > > > > > > > > > > this synthesis.  These individuals have already
> > contributed
> > > > > > > > > substantially
> > > > > > > > > > > to the code, algorithms, and/or mathematical proofs that
> > > form
> > > > > the
> > > > > > > > > basis of
> > > > > > > > > > > the library.
> > > > > > > > > > >
> > > > > > > > > > > This core group also form the Initial Committers with
> > write
> > > > > > > > > permissions to
> > > > > > > > > > > the repository. Those marked with (*) Meet weekly to plan
> > > the
> > > > > > > > research
> > > > > > > > > and
> > > > > > > > > > > engineering direction of the project.
> > > > > > > > > > >
> > > > > > > > > > > ==== Scientists That Love Engineering ====
> > > > > > > > > > >
> > > > > > > > > > > * Eshcar Hillel: Senior Research Scientist, Yahoo Labs,
> > > > Israel.
> > > > > > > > > Interests:
> > > > > > > > > > > distributed systems, scalable systems and platforms for
> > big
> > > > > data
> > > > > > > > > > > processing, concurrent algorithms and data structures,
> > > > > > > > > > >
> > > > > > > > > > > * Kevin Lang: (*) Distinguished Research Scientist, Yahoo
> > > > Labs,
> > > > > > > > > Sunnyvale,
> > > > > > > > > > > California. Interests: algorithms, theoretical and
> > applied
> > > > > > > > mathematics,
> > > > > > > > > > > encoding and compression theory, theoretical and applied
> > > > > > performance
> > > > > > > > > > > optimization.
> > > > > > > > > > >
> > > > > > > > > > > * Edo Liberty: (*) Director of Research, Head of Amazon
> > AI
> > > > > Labs,
> > > > > > Palo
> > > > > > > > > Alto,
> > > > > > > > > > > California. Manages the algorithms group at Amazon AI. We
> > > > build
> > > > > > > > > scalable
> > > > > > > > > > > machine learning systems and algorithms which are used
> > both
> > > > > > > > internally
> > > > > > > > > and
> > > > > > > > > > > externally by customers of SageMaker, AWS's flagship
> > > machine
> > > > > > learning
> > > > > > > > > > > platform.
> > > > > > > > > > >
> > > > > > > > > > > * Jon Malkin: (*) Senior Scientist, Yahoo Labs,
> > Sunnyvale.
> > > > > > Interests:
> > > > > > > > > > > Computational advertising, machine learning, speech
> > > > > recognition,
> > > > > > > > > > > data-driven analysis, large scale experimentation, big
> > > data,
> > > > > > > > > stream/complex
> > > > > > > > > > > event processing
> > > > > > > > > > >
> > > > > > > > > > > * Justin Thaler: (*) Assistant Professor, Department of
> > > > > Computer
> > > > > > > > > Science,
> > > > > > > > > > > Georgetown University, Washington D.C. Interests:
> > > algorithms
> > > > > and
> > > > > > > > > > > computational complexity, complexity theory, quantum
> > > > > algorithms,
> > > > > > > > > private
> > > > > > > > > > > data analysis, and learning theory, developing efficient
> > > > > > streaming
> > > > > > > > and
> > > > > > > > > > > sketching algorithms
> > > > > > > > > > >
> > > > > > > > > > > ==== Engineers That Love Science ====
> > > > > > > > > > >
> > > > > > > > > > > * Roman Leventov: Senior Software Engineer,  Metamarkets
> > /
> > > > > Snap.
> > > > > > > > > Interests:
> > > > > > > > > > > design and implementation of data storing and data
> > > processing
> > > > > > > > > (distributed)
> > > > > > > > > > > systems, performance optimization, CPU performance,
> > > > mechanical
> > > > > > > > > sympathy,
> > > > > > > > > > > JVM performance, API design, databases, (concurrent) data
> > > > > > structures,
> > > > > > > > > > > memory management, garbage collection algorithms,
> > language
> > > > > > design and
> > > > > > > > > > > runtimes (their tradeoffs), distributed systems (cloud)
> > > > > > efficiency,
> > > > > > > > > Linux,
> > > > > > > > > > > code quality, code transformation, pure functional
> > > > programming
> > > > > > > > models,
> > > > > > > > > > > Haskell.
> > > > > > > > > > >
> > > > > > > > > > > * Lee Rhodes: (*) Distinguished Architect, lead developer
> > > and
> > > > > > founder
> > > > > > > > > of
> > > > > > > > > > > the DataSketches project, Yahoo, Sunnyvale, California.
> > > > > > Interests:
> > > > > > > > > > > streaming algorithms, mathematics, computer science, high
> > > > > > quality and
> > > > > > > > > high
> > > > > > > > > > > performance code for the analysis of massive data,
> > bridging
> > > > the
> > > > > > > > divide
> > > > > > > > > > > between theory and practice.
> > > > > > > > > > >
> > > > > > > > > > > * Alexander Saydakov: (*) Senior Software Engineer,
> > Yahoo,
> > > > > > Sunnyvale,
> > > > > > > > > > > California. Interests: applied mathematics, computer
> > > science,
> > > > > big
> > > > > > > > data,
> > > > > > > > > > > distributed systems.
> > > > > > > > > > >
> > > > > > > > > > > === Introduction to Additional Interested Contributors
> > ===
> > > > > > > > > > >
> > > > > > > > > > > These folks have been intermittently involved and
> > > > contributed,
> > > > > > but
> > > > > > > > are
> > > > > > > > > > > strong supporters of this project.
> > > > > > > > > > >
> > > > > > > > > > > * Frank Grimes: GitHub ID: frankgrimes97
> > > > > > > > > > >
> > > > > > > > > > > * Mina Ghashami: [mina.ghashami at gmail dot com] Ph.D.
> > > > > Computer
> > > > > > > > > Science,
> > > > > > > > > > > Univ of Utah. Interests: Machine Learning, Data Mining,
> > > > matrix
> > > > > > > > > > > approximation, streaming algorithms, randomized linear
> > > > algebra.
> > > > > > > > > > >
> > > > > > > > > > > * Christopher Musco: [christopher.musco at gmail dot com]
> > > > Ph.D.
> > > > > > > > > Computer
> > > > > > > > > > > Science, Research Instructor, Princeton University.
> > > > Interests:
> > > > > > > > > algorithmic
> > > > > > > > > > > foundations of data science and machine learning,
> > efficient
> > > > > > methods
> > > > > > > > for
> > > > > > > > > > > processing and understanding large datasets, often
> > working
> > > at
> > > > > the
> > > > > > > > > > > intersection of theoretical computer science, numerical
> > > > linear
> > > > > > > > > algebra, and
> > > > > > > > > > > optimization.
> > > > > > > > > > >
> > > > > > > > > > > * Graham Cormode: [g.cormode at warwick.ac dot uk] Ph.D.
> > > > > > Computer
> > > > > > > > > Science,
> > > > > > > > > > > Professor, Warwick University, Warwick, England.
> > Interests:
> > > > all
> > > > > > > > > aspects of
> > > > > > > > > > > the "data lifecycle", from data collection and cleaning,
> > > > > through
> > > > > > > > > mining and
> > > > > > > > > > > analytics. (Professor Cormode is one of the world’s
> > leading
> > > > > > > > scientists
> > > > > > > > > in
> > > > > > > > > > > sketching algorithms)
> > > > > > > > > > >
> > > > > > > > > > > === Alignment ===
> > > > > > > > > > >
> > > > > > > > > > > The DataSketches library already provides integrations
> > and
> > > > > > example
> > > > > > > > > code for
> > > > > > > > > > > Apache Hive, Apache Pig, Apache Spark and is deeply
> > > > integrated
> > > > > > into
> > > > > > > > > Apache
> > > > > > > > > > > Druid.
> > > > > > > > > > >
> > > > > > > > > > > == Known Risks ==
> > > > > > > > > > >
> > > > > > > > > > > The following subsections are specific risks that have
> > been
> > > > > > > > identified
> > > > > > > > > by
> > > > > > > > > > > the ASF that need to be addressed.
> > > > > > > > > > >
> > > > > > > > > > > === Risk: Orphaned Products ===
> > > > > > > > > > >
> > > > > > > > > > > The DataSketches library is presently used by a number of
> > > > > > > > > organizations,
> > > > > > > > > > > from small startups to Fortune 100 companies, to
> > construct
> > > > > > production
> > > > > > > > > > > pipelines that must process and analyze massive data.
> > Yahoo
> > > > > has a
> > > > > > > > > long-term
> > > > > > > > > > > commitment to continue to advance the DataSketches
> > library;
> > > > > > moreover,
> > > > > > > > > > > DataSketches is seeing increasing interest, development,
> > > and
> > > > > > adoption
> > > > > > > > > from
> > > > > > > > > > > many diverse organizations from around the world. Due to
> > > its
> > > > > > growing
> > > > > > > > > > > adoption, we feel it is quite unlikely that this project
> > > > would
> > > > > > become
> > > > > > > > > > > orphaned.
> > > > > > > > > > >
> > > > > > > > > > > === Risk: Inexperience with Open Source ===
> > > > > > > > > > >
> > > > > > > > > > > Yahoo believes strongly in open source and the exchange
> > of
> > > > > > > > information
> > > > > > > > > to
> > > > > > > > > > > advance new ideas and work. Examples of this commitment
> > are
> > > > > > active
> > > > > > > > open
> > > > > > > > > > > source projects such as those mentioned above. With
> > > > > > DataSketches, we
> > > > > > > > > have
> > > > > > > > > > > been increasingly open and forward-looking; we have
> > > > published a
> > > > > > > > number
> > > > > > > > > of
> > > > > > > > > > > papers about breakthrough developments in the science of
> > > > > > streaming
> > > > > > > > > > > algorithms (mentioned above) that also reference the
> > > > > DataSketches
> > > > > > > > > library.
> > > > > > > > > > > Our submission to the Apache Software Foundation is a
> > > logical
> > > > > > > > > extension of
> > > > > > > > > > > our commitment to open source software.
> > > > > > > > > > >
> > > > > > > > > > > Key committers at Yahoo with strong open source
> > backgrounds
> > > > > > include
> > > > > > > > > Aaron
> > > > > > > > > > > Gresch, Alan Carroll, Alessandro Bellina, Anastasia
> > > > Braginsky,
> > > > > > > > Andrews
> > > > > > > > > > > Sahaya Albert, Arun S A G, Atul Mohan, Brad McMillen,
> > Bryan
> > > > > Call,
> > > > > > > > Daryn
> > > > > > > > > > > Sharp, Dav Glass, David Carlin, Derek Dagit, Eric Payne,
> > > > Eshcar
> > > > > > > > Hillel,
> > > > > > > > > > > Ethan Li, Fei Deng, Francis Christopher Liu, Francisco
> > > > > > > > Perez-Sorrosal,
> > > > > > > > > Gil
> > > > > > > > > > > Yehuda. Govind Menon, Hang Yang, Jacob Estelle, Jai
> > Asher,
> > > > > James
> > > > > > > > > Penick,
> > > > > > > > > > > Jason Kenny, Jay Pipes, Jim Rollenhagen, Joe Francis, Jon
> > > > > Eagles,
> > > > > > > > > Kihwal
> > > > > > > > > > > Lee, Kishorkumar Patil, Koji Noguchi, Kuhu Shukla,
> > Michael
> > > > > > Trelinski,
> > > > > > > > > > > Mithun Radhakrishnan, Nathan Roberts, Ohad Shacham, Olga
> > L.
> > > > > > > > Natkovich,
> > > > > > > > > > > Parth Kamlesh Gandhi, Rajan Dhabalia, Rohini Palaniswamy,
> > > > Ruby
> > > > > > Loo,
> > > > > > > > > Ryan
> > > > > > > > > > > Bridges, Sanket Chintapalli, Satish Subhashrao Saley, Shu
> > > Kit
> > > > > > Chan,
> > > > > > > > Sri
> > > > > > > > > > > Harsha Mekala, Susan Hinrichs, Yonatan Gottesman, and
> > many
> > > > > more.
> > > > > > > > > > >
> > > > > > > > > > > All of our core developers are committed to learn about
> > the
> > > > > > Apache
> > > > > > > > > process
> > > > > > > > > > > and to give back to the community.
> > > > > > > > > > >
> > > > > > > > > > > === Risk: Homogeneous Developers ===
> > > > > > > > > > >
> > > > > > > > > > > The majority of committers in this proposal belong to
> > Yahoo
> > > > due
> > > > > > to
> > > > > > > > the
> > > > > > > > > fact
> > > > > > > > > > > that DataSketches has emerged from an internal Yahoo
> > > project.
> > > > > > This
> > > > > > > > > proposal
> > > > > > > > > > > also includes developers and contributors from other
> > > > companies,
> > > > > > and
> > > > > > > > > who are
> > > > > > > > > > > actively involved with other Apache projects, such as
> > > Druid.
> > > > > We
> > > > > > > > > expect our
> > > > > > > > > > > entry into incubation will allow us to expand the number
> > of
> > > > > > > > > individuals and
> > > > > > > > > > > organizations participating in DataSketches development.
> > > > > > > > > > >
> > > > > > > > > > > === Risk: Reliance on Salaried Developers ===
> > > > > > > > > > >
> > > > > > > > > > > Because the DataSketches library originated within Yahoo,
> > > it
> > > > > has
> > > > > > been
> > > > > > > > > > > developed primarily by salaried Yahoo developers and we
> > > > expect
> > > > > > that
> > > > > > > > to
> > > > > > > > > > > continue to be the case near term. However, since we
> > placed
> > > > > this
> > > > > > > > > library
> > > > > > > > > > > into open-source we have had a number of significant
> > > > > > contributions
> > > > > > > > from
> > > > > > > > > > > engineers and scientists from outside of Yahoo. We expect
> > > our
> > > > > > > > reliance
> > > > > > > > > on
> > > > > > > > > > > Yahoo salaried developers will decrease over time.
> > > > Nonetheless,
> > > > > > Yahoo
> > > > > > > > > is
> > > > > > > > > > > committed to continue its strong support of this
> > important
> > > > > > project.
> > > > > > > > > > >
> > > > > > > > > > > === Risk: Lack of Relationship to other Apache Products
> > ===
> > > > > > > > > > >
> > > > > > > > > > > DataSketches already directly interoperates with or
> > > utilizes
> > > > > > several
> > > > > > > > > > > existing Apache projects.
> > > > > > > > > > >
> > > > > > > > > > > * Build
> > > > > > > > > > >    * Apache Maven
> > > > > > > > > > >
> > > > > > > > > > > * Integrations and adaptors for the following projects
> > > > > naturally
> > > > > > have
> > > > > > > > > them
> > > > > > > > > > > as dependencies
> > > > > > > > > > >    * Apache Hive
> > > > > > > > > > >    * Apache Pig
> > > > > > > > > > >    * Apache Druid
> > > > > > > > > > >    * Apache Spark
> > > > > > > > > > >
> > > > > > > > > > > * Additional dependencies for the above integrations and
> > > > > adaptors
> > > > > > > > > include
> > > > > > > > > > >    * Apache Hadoop
> > > > > > > > > > >    * Apache Commons (Math)
> > > > > > > > > > >
> > > > > > > > > > > There is no other Apache project that we are aware of
> > that
> > > > > > duplicates
> > > > > > > > > the
> > > > > > > > > > > functionality of the DataSketches library.
> > > > > > > > > > >
> > > > > > > > > > > === Risk: An Excessive Fascination with the Apache Brand
> > > ===
> > > > > > > > > > >
> > > > > > > > > > > With this proposal we are not seeking attention or
> > > publicity.
> > > > > > Rather,
> > > > > > > > > we
> > > > > > > > > > > firmly believe in the DataSketches library and concept
> > and
> > > > the
> > > > > > > > ability
> > > > > > > > > to
> > > > > > > > > > > make the DataSketches library a powerful, yet
> > simple-to-use
> > > > > > toolkit
> > > > > > > > for
> > > > > > > > > > > data processing. While the DataSketches library has been
> > > open
> > > > > > source,
> > > > > > > > > we
> > > > > > > > > > > believe putting code on GitHub can only go so far. We see
> > > the
> > > > > > Apache
> > > > > > > > > > > community, processes, and mission as critical for
> > ensuring
> > > > the
> > > > > > > > > DataSketches
> > > > > > > > > > > library is truly community-driven, positively impactful,
> > > and
> > > > > > > > innovative
> > > > > > > > > > > open source software. While Yahoo has taken a number of
> > > steps
> > > > > to
> > > > > > > > > advance
> > > > > > > > > > > its various open source projects, we believe the
> > > DataSketches
> > > > > > library
> > > > > > > > > > > project is a great fit for the Apache Software Foundation
> > > due
> > > > > to
> > > > > > its
> > > > > > > > > focus
> > > > > > > > > > > on data processing and its relationships to existing ASF
> > > > > > projects.
> > > > > > > > > > >
> > > > > > > > > > > === Risk: Cryptography ===
> > > > > > > > > > >
> > > > > > > > > > > DataSketches does not contain any cryptographic code and
> > is
> > > > > not a
> > > > > > > > > > > cryptographic product.
> > > > > > > > > > >
> > > > > > > > > > > == Documentation ==
> > > > > > > > > > >
> > > > > > > > > > > The following documentation is relevant to this proposal.
> > > > > > Relevant
> > > > > > > > > portions
> > > > > > > > > > > of the documentation will be contributed to the Apache
> > > > > > DataSketches
> > > > > > > > > > > project.
> > > > > > > > > > >
> > > > > > > > > > > * DataSketches website: https://datasketches.github.io.
> > > > > > > > > > >
> > > > > > > > > > > * DataSketches website repository:
> > > > > > > > > > > https://github.com/DataSketches/DataSketches.github.io
> > > > > > > > > > >
> > > > > > > > > > > We will need an apache website for this documentation
> > > similar
> > > > > to
> > > > > > > > > > >
> > > > > > > > > > > * https://datasketches.apache.org
> > > > > > > > > > >
> > > > > > > > > > > == Initial Source ==
> > > > > > > > > > >
> > > > > > > > > > > The initial source for DataSketches which we will submit
> > to
> > > > the
> > > > > > > > Apache
> > > > > > > > > > > Foundation will include a number of repositories which
> > are
> > > > > > currently
> > > > > > > > > hosted
> > > > > > > > > > > under the GitHub.com/datasketches organization:
> > > > > > > > > > >
> > > > > > > > > > > All github.com/datasketches repositories including:
> > > > > > > > > > >
> > > > > > > > > > > * Java
> > > > > > > > > > >    * sketches-core: This repository has the core
> > sketching
> > > > > > classes,
> > > > > > > > > which
> > > > > > > > > > > are leveraged by some of the other repositories. This
> > > > > repository
> > > > > > has
> > > > > > > > no
> > > > > > > > > > > external dependencies outside of the DataSketches/memory
> > > > > > repository,
> > > > > > > > > Java
> > > > > > > > > > > and TestNG for unit tests. This code is versioned and the
> > > > > latest
> > > > > > > > > release
> > > > > > > > > > > can be obtained from Maven Central.
> > > > > > > > > > >    * memory: Low level, high-performance memory
> > > > data-structure
> > > > > > > > > management
> > > > > > > > > > > primarily for off-heap.
> > > > > > > > > > >    * sketches-android: This is a new repository dedicated
> > > to
> > > > > > sketches
> > > > > > > > > > > designed to be run in a mobile client, such as a cell
> > > phone.
> > > > It
> > > > > > is
> > > > > > > > > still in
> > > > > > > > > > > development and should be considered experimental.
> > > > > > > > > > >    * sketches-hive: This repository contains Hive UDFs
> > and
> > > > > UDAFs
> > > > > > for
> > > > > > > > > use
> > > > > > > > > > > within Hadoop grid environments. This code has
> > dependencies
> > > > on
> > > > > > > > > > > sketches-core as well as Hadoop and Hive. Users of this
> > > code
> > > > > are
> > > > > > > > > advised to
> > > > > > > > > > > use Maven to bring in all the required dependencies. This
> > > > code
> > > > > is
> > > > > > > > > versioned
> > > > > > > > > > > and the latest release can be obtained from Maven
> > Central.
> > > > > > > > > > >    * sketches-pig: This repository contains Pig User
> > > Defined
> > > > > > > > Functions
> > > > > > > > > > > (UDF) for use within Hadoop grid environments. This code
> > > has
> > > > > > > > > dependencies
> > > > > > > > > > > on sketches-core as well as Hadoop and Pig. Users of this
> > > > code
> > > > > > are
> > > > > > > > > advised
> > > > > > > > > > > to use Maven to bring in all the required dependencies.
> > > This
> > > > > > code is
> > > > > > > > > > > versioned and the latest release can be obtained from
> > Maven
> > > > > > Central.
> > > > > > > > > > >    * sketches-vector: This is a new repository dedicated
> > to
> > > > > > sketches
> > > > > > > > > for
> > > > > > > > > > > vector and matrix operations. It is still somewhat
> > > > > experimental.
> > > > > > > > > > >    * characterization: This relatively new repository is
> > > for
> > > > > code
> > > > > > > > that
> > > > > > > > > we
> > > > > > > > > > > use to characterize the accuracy and speed performance of
> > > the
> > > > > > > > sketches
> > > > > > > > > in
> > > > > > > > > > > the library and is constantly being updated. Examples of
> > > the
> > > > > job
> > > > > > > > > command
> > > > > > > > > > > files used for various tests can be found in the
> > > > > > src/main/resources
> > > > > > > > > > > directory. Some of these tests can run for hours
> > depending
> > > on
> > > > > its
> > > > > > > > > > > configuration.
> > > > > > > > > > >    * experimental: This repository is an experimental
> > > staging
> > > > > > area
> > > > > > > > for
> > > > > > > > > code
> > > > > > > > > > > that will eventually end up in another repository. This
> > > code
> > > > is
> > > > > > not
> > > > > > > > > > > versioned and not registered with Maven Central.
> > > > > > > > > > >    * sketches-misc: Demos and other code not related to
> > > > > > production
> > > > > > > > > > > deployment
> > > > > > > > > > >
> > > > > > > > > > > * C++ and Python
> > > > > > > > > > >    * sketches-core-cpp: This is the C++/Python companion
> > to
> > > > the
> > > > > > Java
> > > > > > > > > > > sketches-core. These implementations are binary
> > compatible
> > > > with
> > > > > > their
> > > > > > > > > > > counterparts in Java. In other words, a sketch created
> > and
> > > > > > stored in
> > > > > > > > > C++
> > > > > > > > > > > can be opened and read in Java and visa-versa. This site
> > > also
> > > > > > has our
> > > > > > > > > > > Python adaptors that basically wrap the C++
> > > implementations,
> > > > > > making
> > > > > > > > the
> > > > > > > > > > > high performance C++ implementations available from
> > Python.
> > > > > > > > > > >    * sketches-postgres: This site provides the
> > > > > postgres-specific
> > > > > > > > > adaptors
> > > > > > > > > > > that wrap the C++ implementations making them available
> > to
> > > > the
> > > > > > > > Postgres
> > > > > > > > > > > database users.
> > > > > > > > > > >    * characterization-cpp: This is the C++/Python
> > companion
> > > > to
> > > > > > the
> > > > > > > > Java
> > > > > > > > > > > characterization repository.
> > > > > > > > > > >    * experimental-cpp: This repository is an experimental
> > > > > staging
> > > > > > > > area
> > > > > > > > > for
> > > > > > > > > > > C++ code that will eventually end up in another
> > repository.
> > > > > > > > > > >
> > > > > > > > > > > * Command-Line Tools
> > > > > > > > > > >    * sketches-cmd
> > > > > > > > > > >    * homebrew-sketches
> > > > > > > > > > >    * homebrew-sketches-cmd
> > > > > > > > > > >
> > > > > > > > > > > These projects have always been Apache 2.0 licensed. We
> > > > intend
> > > > > to
> > > > > > > > > bundle
> > > > > > > > > > > all of these repositories since they are all
> > complementary
> > > > and
> > > > > > should
> > > > > > > > > be
> > > > > > > > > > > maintained in one project. Prior to our submission, we
> > will
> > > > > > combine
> > > > > > > > > all of
> > > > > > > > > > > these projects into a new git repository.
> > > > > > > > > > >
> > > > > > > > > > > == Source and Intellectual Property Submission Plan ==
> > > > > > > > > > >
> > > > > > > > > > > Contributors to the DataSketches project have also signed
> > > the
> > > > > > Yahoo
> > > > > > > > > > > Individual Contributor License Agreement (
> > > > > > > > > https://yahoocla.herokuapp.com/
> > > > > > > > > > > in order to contribute to the project.
> > > > > > > > > > >
> > > > > > > > > > > With respect to trademark rights, Yahoo does not hold a
> > > > > > trademark on
> > > > > > > > > the
> > > > > > > > > > > phrase “DataSketches.” Based on feedback and guidance we
> > > > > receive
> > > > > > > > > during the
> > > > > > > > > > > incubation process, we are open to renaming the project
> > if
> > > > > > necessary
> > > > > > > > > for
> > > > > > > > > > > trademark or other concerns, but we would prefer not to
> > > have
> > > > to
> > > > > > do
> > > > > > > > > that.
> > > > > > > > > > >
> > > > > > > > > > > == External Dependencies ==
> > > > > > > > > > >
> > > > > > > > > > > All external dependencies are licensed under an Apache
> > 2.0
> > > or
> > > > > > > > > > > Apache-compatible license. As we grow the DataSketches
> > > > > community
> > > > > > we
> > > > > > > > > will
> > > > > > > > > > > configure our build process to require and validate all
> > > > > > contributions
> > > > > > > > > and
> > > > > > > > > > > dependencies are licensed under the Apache 2.0 license or
> > > are
> > > > > > under
> > > > > > > > an
> > > > > > > > > > > Apache-compatible license.
> > > > > > > > > > >
> > > > > > > > > > > == Required Resources ==
> > > > > > > > > > >
> > > > > > > > > > > === Mailing Lists ===
> > > > > > > > > > >
> > > > > > > > > > > We currently use a mix of mailing lists. We will migrate
> > > our
> > > > > > existing
> > > > > > > > > > > mailing lists to the following:
> > > > > > > > > > >
> > > > > > > > > > > * d...@datasketches.incubator.apache.org
> > > > > > > > > > >
> > > > > > > > > > > * u...@datasketches.incubator.apache.org
> > > > > > > > > > >
> > > > > > > > > > > * priv...@datasketches.incubator.apache.org
> > > > > > > > > > >
> > > > > > > > > > > * comm...@datasketches.incubator.apache.org
> > > > > > > > > > >
> > > > > > > > > > > === Source Control ===
> > > > > > > > > > >
> > > > > > > > > > > The DataSketches team currently uses Git and would like
> > to
> > > > > > continue
> > > > > > > > to
> > > > > > > > > do
> > > > > > > > > > > so. We request a Git repository for DataSketches with
> > > > mirroring
> > > > > > to
> > > > > > > > > GitHub
> > > > > > > > > > > enabled similar the following:
> > > > > > > > > > >
> > > > > > > > > > > * https://github.com/apache/incubator-datasketches.git
> > > > > > > > > > >
> > > > > > > > > > > === Issue Tracking ===
> > > > > > > > > > >
> > > > > > > > > > > We request the creation of an Apache-hosted JIRA. The
> > > > > > DataSketches
> > > > > > > > > project
> > > > > > > > > > > is currently using the public GitHub issue tracker and
> > the
> > > > > public
> > > > > > > > > Google
> > > > > > > > > > > Groups forum/sketches-user for issue tracking and
> > > > discussions.
> > > > > We
> > > > > > > > will
> > > > > > > > > > > migrate and combine from these two sources to the Apache
> > > > JIRA.
> > > > > > > > > > >
> > > > > > > > > > > Proposed Jira ID: DATASKETCHES
> > > > > > > > > > >
> > > > > > > > > > > == Initial Committers ==
> > > > > > > > > > >
> > > > > > > > > > > The following list of individuals have been extremely
> > > active
> > > > in
> > > > > > our
> > > > > > > > > > > community and should have write (commit) permissions to
> > the
> > > > > > > > repository.
> > > > > > > > > > >
> > > > > > > > > > > * Eshcar Hillel                      [eshcar at
> > > verizonmedia
> > > > > dot
> > > > > > com]
> > > > > > > > > > >
> > > > > > > > > > > * Kevin Lang                    [langk at verizonmedia
> > dot
> > > > com]
> > > > > > > > > > >
> > > > > > > > > > > * Roman Leventov              [roman.leventov at
> > > > c.metamarkets
> > > > > > dot
> > > > > > > > com]
> > > > > > > > > > >
> > > > > > > > > > > * Edo Liberty                   [libertye at amazon dot
> > > com]
> > > > > > > > > > >
> > > > > > > > > > > * Jon Malkin                    [jmalkin at verizonmedia
> > > dot
> > > > > com]
> > > > > > > > > > >
> > > > > > > > > > > * Lee Rhodes                  [lrhodes at verizonmedia
> > dot
> > > > > com] &
> > > > > > > > > [leerho
> > > > > > > > > > > at gmail dot com]
> > > > > > > > > > >
> > > > > > > > > > > * Alexander Saydakov         [saydakov at verizonmedia
> > dot
> > > > com]
> > > > > > > > > > >
> > > > > > > > > > > * Justin Thaler                 [justin.thaler at
> > > georgetown
> > > > > dot
> > > > > > edu]
> > > > > > > > > > >
> > > > > > > > > > > == Affiliations ==
> > > > > > > > > > >
> > > > > > > > > > > The initial committers are from four organizations:
> > Yahoo,
> > > > > > Amazon,
> > > > > > > > > > > Georgetown University, and Metamarkets/Snap.
> > > > > > > > > > >
> > > > > > > > > > > === Champion ===
> > > > > > > > > > > (Recommended to me: )
> > > > > > > > > > >
> > > > > > > > > > > Liang Chen, Vice President of Apache CarbonData,
> > > > [chenliang613
> > > > > at
> > > > > > > > > apache
> > > > > > > > > > > dot org]
> > > > > > > > > > > Jean-Baptiste Onofré,[[jb at nanthrax dot net]
> > > > > > > > > > >
> > > > > > > > > > > === Nominated Mentors ===
> > > > > > > > > > > (Recommended to me: )
> > > > > > > > > > >
> > > > > > > > > > > Liang Chen, Vice President of Apache CarbonData,
> > > > [chenliang613
> > > > > at
> > > > > > > > > apache
> > > > > > > > > > > dot org]
> > > > > > > > > > > Jean-Baptiste Onofré, jb at nanthrax dot net
> > > > > > > > > > > Gil Yehuda, gyehuda at verizonmedia dot com
> > > > > > > > > > >
> > > > > > > > > > > === Sponsoring Entity ===
> > > > > > > > > > >
> > > > > > > > > > > * The Apache Incubator    **** This is our 1st choice
> > ****
> > > > > > > > > > >
> > > > > > > > > > > * Apache Druid. The incubating Apache Druid project might
> > > > also
> > > > > > be a
> > > > > > > > > logical
> > > > > > > > > > > sponsor. However, DataSketches has applications in many
> > > areas
> > > > > of
> > > > > > > > > computing
> > > > > > > > > > > outside of Druid so our preference and recommendation is
> > > that
> > > > > > > > > DataSketches
> > > > > > > > > > > would ultimately be a top-level Apache project.
> > > > > > > > > > >
> > > > > > > > > > > ________________
> > > > > > > > > > > [1] In 2017 Verizon acquired Yahoo and merged it with
> > > > > previously
> > > > > > > > > acquired
> > > > > > > > > > > AOL. The merged entity was originally called Oath, Inc.,
> > > but
> > > > > has
> > > > > > > > > recently
> > > > > > > > > > > been renamed Verizon Media, Inc., a wholly-owned
> > subsidiary
> > > > of
> > > > > > > > Verizon,
> > > > > > > > > > > Inc.  Since Yahoo is the more recognized name, references
> > > in
> > > > > this
> > > > > > > > > document
> > > > > > > > > > > to Yahoo, are also a reference to Verizon Media, Inc.
> > > > > > > > > > >
> > > > > > > > > > > On Fri, Feb 22, 2019 at 9:35 PM Kenneth Knowles <
> > > > > k...@apache.org
> > > > > > >
> > > > > > > > > wrote:
> > > > > > > > > > >
> > > > > > > > > > > > The subject line has me interested already. Follow
> > > examples
> > > > > > like
> > > > > > > > this
> > > > > > > > > > > > maybe?
> > > > > > > > > > > >
> > > > > > > > > > > > 1.
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> > https://lists.apache.org/thread.html/a5db74cc9e5ae89b3bfa5f4b07bfcc18dae84b7098232fb897cd47b7@%3Cgeneral.incubator.apache.org%3E
> > > > > > > > > > > > 2.
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> > https://lists.apache.org/thread.html/5a7f6a218b11a1cac61fbd53f4c995fd7716f8ad3751cf9f171ebd57@%3Cgeneral.incubator.apache.org%3E
> > > > > > > > > > > >
> > > > > > > > > > > > Kenn
> > > > > > > > > > > >
> > > > > > > > > > > > On Fri, Feb 22, 2019 at 8:05 PM leerho <
> > lee...@gmail.com
> > > >
> > > > > > wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > > I'll try again ... :)
> > > > > > > > > > > > >
> > > > > > > > > > > > > On Fri, Feb 22, 2019 at 8:00 PM Ted Dunning <
> > > > > > > > ted.dunn...@gmail.com
> > > > > > > > > >
> > > > > > > > > > > > wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > >> It didn't make it again
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> On Fri, Feb 22, 2019, 8:35 PM leerho <
> > > lee...@gmail.com>
> > > > > > wrote:
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> > I'm not sure the attached document made it
> > through.
> > > > > > > > > > > > >> >
> > > > > > > > > > > > >> > On Fri, Feb 22, 2019 at 7:28 PM leerho <
> > > > > lee...@gmail.com>
> > > > > > > > > wrote:
> > > > > > > > > > > > >> >
> > > > > > > > > > > > >> > >
> > > > > > > > > > > > >> > >
> > > > > > > > > > > > >> >
> > > > > > > > > > > > >>
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > >
> > > > > ---------------------------------------------------------------------
> > > > > > > > > > > > > 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
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > --
> > > > > > > From my cell phone.
> > > > > > >
> > > > > >
> > > > > >
> > ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
> > > > > > For additional commands, e-mail: general-h...@incubator.apache.org
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> > --
> > From my cell phone.
> >
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org

Reply via email to