+1 (binding)

--Chris Nauroth




On 1/28/16, 6:28 AM, "Jean-Baptiste Onofré" <j...@nanthrax.net> wrote:

>Hi,
>
>the Beam proposal (initially Dataflow) was proposed last week.
>
>The complete discussion thread is available here:
>
>http://mail-archives.apache.org/mod_mbox/incubator-general/201601.mbox/%3C
>CA%2B%3DKJmvj4wyosNTXVpnsH8PhS7jEyzkZngc682rGgZ3p28L42Q%40mail.gmail.com%3
>E
>
>As reminder the BeamProposal is here:
>
>https://wiki.apache.org/incubator/BeamProposal
>
>Regarding all the great feedbacks we received on the mailing list, we
>think it's time to call a vote to accept Beam into the Incubator.
>
>Please cast your vote to:
>[] +1 - accept Apache Beam as a new incubating project
>[]  0 - not sure
>[] -1 - do not accept the Apache Beam project (because: ...)
>
>Thanks,
>Regards
>JB
>----
>## page was renamed from DataflowProposal
>= Apache Beam =
>
>== Abstract ==
>
>Apache Beam is an open source, unified model and set of
>language-specific SDKs for defining and executing data processing
>workflows, and also data ingestion and integration flows, supporting
>Enterprise Integration Patterns (EIPs) and Domain Specific Languages
>(DSLs). Dataflow pipelines simplify the mechanics of large-scale batch
>and streaming data processing and can run on a number of runtimes like
>Apache Flink, Apache Spark, and Google Cloud Dataflow (a cloud service).
>Beam also brings DSL in different languages, allowing users to easily
>implement their data integration processes.
>
>== Proposal ==
>
>Beam is a simple, flexible, and powerful system for distributed data
>processing at any scale. Beam provides a unified programming model, a
>software development kit to define and construct data processing
>pipelines, and runners to execute Beam pipelines in several runtime
>engines, like Apache Spark, Apache Flink, or Google Cloud Dataflow. Beam
>can be used for a variety of streaming or batch data processing goals
>including ETL, stream analysis, and aggregate computation. The
>underlying programming model for Beam provides MapReduce-like
>parallelism, combined with support for powerful data windowing, and
>fine-grained correctness control.
>
>== Background ==
>
>Beam started as a set of Google projects (Google Cloud Dataflow) focused
>on making data processing easier, faster, and less costly. The Beam
>model is a successor to MapReduce, FlumeJava, and Millwheel inside
>Google and is focused on providing a unified solution for batch and
>stream processing. These projects on which Beam is based have been
>published in several papers made available to the public:
>
>  * MapReduce - http://research.google.com/archive/mapreduce.html
>  * Dataflow model  - http://www.vldb.org/pvldb/vol8/p1792-Akidau.pdf
>  * FlumeJava - http://research.google.com/pubs/pub35650.html
>  * MillWheel - http://research.google.com/pubs/pub41378.html
>
>Beam was designed from the start to provide a portable programming
>layer. When you define a data processing pipeline with the Beam model,
>you are creating a job which is capable of being processed by any number
>of Beam processing engines. Several engines have been developed to run
>Beam pipelines in other open source runtimes, including a Beam runner
>for Apache Flink and Apache Spark. There is also a ³direct runner², for
>execution on the developer machine (mainly for dev/debug purposes).
>Another runner allows a Beam program to run on a managed service, Google
>Cloud Dataflow, in Google Cloud Platform. The Dataflow Java SDK is
>already available on GitHub, and independent from the Google Cloud
>Dataflow service. Another Python SDK is currently in active development.
>
>In this proposal, the Beam SDKs, model, and a set of runners will be
>submitted as an OSS project under the ASF. The runners which are a part
>of this proposal include those for Spark (from Cloudera), Flink (from
>data Artisans), and local development (from Google); the Google Cloud
>Dataflow service runner is not included in this proposal. Further
>references to Beam will refer to the Dataflow model, SDKs, and runners
>which are a part of this proposal (Apache Beam) only. The initial
>submission will contain the already-released Java SDK; Google intends to
>submit the Python SDK later in the incubation process. The Google Cloud
>Dataflow service will continue to be one of many runners for Beam, built
>on Google Cloud Platform, to run Beam pipelines. Necessarily, Cloud
>Dataflow will develop against the Apache project additions, updates, and
>changes. Google Cloud Dataflow will become one user of Apache Beam and
>will participate in the project openly and publicly.
>
>The Beam programming model has been designed with simplicity,
>scalability, and speed as key tenants. In the Beam model, you only need
>to think about four top-level concepts when constructing your data
>processing job:
>
>  * Pipelines - The data processing job made of a series of computations
>including input, processing, and output
>  * PCollections - Bounded (or unbounded) datasets which represent the
>input, intermediate and output data in pipelines
>  * PTransforms - A data processing step in a pipeline in which one or
>more PCollections are an input and output
>  * I/O Sources and Sinks - APIs for reading and writing data which are
>the roots and endpoints of the pipeline
>
>== Rationale ==
>
>With Google Dataflow, Google intended to develop a framework which
>allowed developers to be maximally productive in defining the
>processing, and then be able to execute the program at various levels of
>latency/cost/completeness without re-architecting or re-writing it. This
>goal was informed by Google¹s past experience  developing several
>models, frameworks, and tools useful for large-scale and distributed
>data processing. While Google has previously published papers describing
>some of its technologies, Google decided to take a different approach
>with Dataflow. Google open-sourced the SDK and model alongside
>commercialization of the idea and ahead of publishing papers on the
>topic. As a result, a number of open source runtimes exist for Dataflow,
>such as the Apache Flink and Apache Spark runners.
>
>We believe that submitting Beam as an Apache project will provide an
>immediate, worthwhile, and substantial contribution to the open source
>community. As an incubating project, we believe Dataflow will have a
>better opportunity to provide a meaningful contribution to OSS and also
>integrate with other Apache projects.
>
>In the long term, we believe Beam can be a powerful abstraction layer
>for data processing. By providing an abstraction layer for data
>pipelines and processing, data workflows can be increasingly portable,
>resilient to breaking changes in tooling, and compatible across many
>execution engines, runtimes, and open source projects.
>
>== Initial Goals ==
>
>We are breaking our initial goals into immediate (< 2 months),
>short-term (2-4 months), and intermediate-term (> 4 months).
>
>Our immediate goals include the following:
>
>  * Plan for reconciling the Dataflow Java SDK and various runners into
>one project
>  * Plan for refactoring the existing Java SDK for better extensibility
>by SDK and runner writers
>  * Validating all dependencies are ASL 2.0 or compatible
>  * Understanding and adapting to the Apache development process
>
>Our short-term goals include:
>
>  * Moving the newly-merged lists, and build utilities to Apache
>  * Start refactoring codebase and move code to Apache Git repo
>  * Continue development of new features, functions, and fixes in the
>Dataflow Java SDK, and Dataflow runners
>  * Cleaning up the Dataflow SDK sources and crafting a roadmap and plan
>for how to include new major ideas, modules, and runtimes
>  * Establishment of easy and clear build/test framework for Dataflow
>and associated runtimes; creation of testing, rollback, and validation
>policy
>  * Analysis and design for work needed to make Beam a better data
>processing abstraction layer for multiple open source frameworks and
>environments
>
>Finally, we have a number of intermediate-term goals:
>
>  * Roadmapping, planning, and execution of integrations with other OSS
>and non-OSS projects/products
>  * Inclusion of additional SDK for Python, which is under active
>development
>
>== Current Status ==
>
>=== Meritocracy ===
>
>Dataflow was initially developed based on ideas from many employees
>within Google. As an ASL OSS project on GitHub, the Dataflow SDK has
>received contributions from data Artisans, Cloudera Labs, and other
>individual developers. 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 Dataflow come from a broad mix of
>organizations through a merit-based decision process during incubation.
>We believe strongly in the Beam model and are committed to growing an
>inclusive community of Beam contributors.
>
>=== Community ===
>
>The core of the Dataflow Java SDK has been developed by Google for use
>with Google Cloud Dataflow. Google has active community engagement in
>the SDK GitHub repository
>(https://github.com/GoogleCloudPlatform/DataflowJavaSDK), on Stack
>Overflow 
>(http://stackoverflow.com/questions/tagged/google-cloud-dataflow) and
>has had contributions from a number of organizations and indivuduals.
>
>Everyday, Cloud Dataflow is actively used by a number of organizations
>and institutions for batch and stream processing of data. We believe
>acceptance will allow us to consolidate existing Dataflow-related work,
>grow the Dataflow community, and deepen connections between Dataflow and
>other open source projects.
>
>=== Core Developers ===
>
>The core developers for Dataflow and the Dataflow runners are:
>
>  * Frances Perry
>  * Tyler Akidau
>  * Davor Bonaci
>  * Luke Cwik
>  * Ben Chambers
>  * Kenn Knowles
>  * Dan Halperin
>  * Daniel Mills
>  * Mark Shields
>  * Craig Chambers
>  * Maximilian Michels
>  * Tom White
>  * Josh Wills
>  * Robert Bradshaw
>
>=== Alignment ===
>
>The Beam SDK can be used to create Beam pipelines which can be executed
>on Apache Spark or Apache Flink. Beam is also related to other Apache
>projects, such as Apache Crunch. We plan on expanding functionality for
>Beam runners, support for additional domain specific languages, and
>increased portability so Beam is a powerful abstraction layer for data
>processing.
>
>== Known Risks ==
>
>=== Orphaned Products ===
>
>The Dataflow SDK is presently used by several organizations, from small
>startups to Fortune 100 companies, to construct production pipelines
>which are executed in Google Cloud Dataflow. Google has a long-term
>commitment to advance the Dataflow SDK; moreover, Dataflow is seeing
>increasing interest, development, and adoption from organizations
>outside of Google.
>
>=== Inexperience with Open Source ===
>
>Google believes strongly in open source and the exchange of information
>to advance new ideas and work. Examples of this commitment are active
>OSS projects such as Chromium (https://www.chromium.org) and Kubernetes
>(http://kubernetes.io/). With Dataflow, we have tried to be increasingly
>open and forward-looking; we have published a paper in the VLDB
>conference describing the Dataflow model
>(http://www.vldb.org/pvldb/vol8/p1792-Akidau.pdf) and were quick to
>release the Dataflow SDK as open source software with the launch of
>Cloud Dataflow. Our submission to the Apache Software Foundation is a
>logical extension of our commitment to open source software.
>
>=== Homogeneous Developers ===
>
>The majority of committers in this proposal belong to Google due to the
>fact that Dataflow has emerged from several internal Google projects.
>This proposal also includes committers outside of Google who are
>actively involved with other Apache projects, such as Hadoop, Flink, and
>Spark.  We expect our entry into incubation will allow us to expand the
>number of individuals and organizations participating in Dataflow
>development. Additionally, separation of the Dataflow SDK from Google
>Cloud Dataflow allows us to focus on the open source SDK and model and
>do what is best for this project.
>
>=== Reliance on Salaried Developers ===
>
>The Dataflow SDK and Dataflow runners have been developed primarily by
>salaried developers supporting the Google Cloud Dataflow project. While
>the Dataflow SDK and Cloud Dataflow have been developed by different
>teams (and this proposal would reinforce that separation) we expect our
>initial set of developers will still primarily be salaried. Contribution
>has not been exclusively from salaried developers, however. For example,
>the contrib directory of the Dataflow SDK
>(https://github.com/GoogleCloudPlatform/DataflowJavaSDK/tree/master/contri
>b) 
>contains items from free-time contributors. Moreover, seperate projects,
>such as ScalaFlow (https://github.com/darkjh/scalaflow) have been
>created around the Dataflow model and SDK. We expect our reliance on
>salaried developers will decrease over time during incubation.
>
>=== Relationship with other Apache products ===
>
>Dataflow directly interoperates with or utilizes several existing Apache
>projects.
>
>  * Build
>   * Apache Maven
>  * Data I/O, Libraries
>   * Apache Avro
>   * Apache Commons
>  * Dataflow runners
>   * Apache Flink
>   * Apache Spark
>
>Beam when used in batch mode shares similarities with Apache Crunch;
>however, Beam is focused on a model, SDK, and abstraction layer beyond
>Spark and Hadoop (MapReduce.) One key goal of Beam is to provide an
>intermediate abstraction layer which can easily be implemented and
>utilized across several different processing frameworks.
>
>=== An excessive fascination with the Apache brand ===
>
>With this proposal we are not seeking attention or publicity. Rather, we
>firmly believe in the Beam model, SDK, and the ability to make Beam a
>powerful yet simple framework for data processing. While the Dataflow
>SDK and model have 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 Beam SDK and model are truly
>community-driven, positively impactful, and innovative open source
>software. While Google has taken a number of steps to advance its
>various open source projects, we believe Beam is a great fit for the
>Apache Software Foundation due to its focus on data processing and its
>relationships to existing ASF projects.
>
>== Documentation ==
>
>The following documentation is relevant to this proposal. Relevant
>portion of the documentation will be contributed to the Apache Beam
>project.
>
>  * Dataflow website: https://cloud.google.com/dataflow
>  * Dataflow programming model:
>https://cloud.google.com/dataflow/model/programming-model
>  * Codebases
>   * Dataflow Java SDK:
>https://github.com/GoogleCloudPlatform/DataflowJavaSDK
>   * Flink Dataflow runner: https://github.com/dataArtisans/flink-dataflow
>   * Spark Dataflow runner: https://github.com/cloudera/spark-dataflow
>  * Dataflow Java SDK issue tracker:
>https://github.com/GoogleCloudPlatform/DataflowJavaSDK/issues
>  * google-cloud-dataflow tag on Stack Overflow:
>http://stackoverflow.com/questions/tagged/google-cloud-dataflow
>
>== Initial Source ==
>
>The initial source for Beam which we will submit to the Apache
>Foundation will include several related projects which are currently
>hosted on the GitHub repositories:
>
>  * Dataflow Java SDK
>(https://github.com/GoogleCloudPlatform/DataflowJavaSDK)
>  * Flink Dataflow runner (https://github.com/dataArtisans/flink-dataflow)
>  * Spark Dataflow runner (https://github.com/cloudera/spark-dataflow)
>
>These projects have always been Apache 2.0 licensed. We intend to bundle
>all of these repositories since they are all complimentary 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 ==
>
>The source for the Dataflow SDK and the three runners (Spark, Flink,
>Google Cloud Dataflow) are already licensed under an Apache 2 license.
>
>  * Dataflow SDK -
>https://github.com/GoogleCloudPlatform/DataflowJavaSDK/blob/master/LICENSE
>  * Flink runner -
>https://github.com/dataArtisans/flink-dataflow/blob/master/LICENSE
>  * Spark runner -
>https://github.com/cloudera/spark-dataflow/blob/master/LICENSE
>
>Contributors to the Dataflow SDK have also signed the Google Individual
>Contributor License Agreement
>(https://cla.developers.google.com/about/google-individual) in order to
>contribute to the project.
>
>With respect to trademark rights, Google does not hold a trademark on
>the phrase ³Dataflow.² 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.
>
>== External Dependencies ==
>
>All external dependencies are licensed under an Apache 2.0 or
>Apache-compatible license. As we grow the Beam 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...@beam.incubator.apache.org
>  * u...@beam.incubator.apache.org
>  * priv...@beam.incubator.apache.org
>  * comm...@beam.incubator.apache.org
>
>=== Source Control ===
>
>The Dataflow team currently uses Git and would like to continue to do
>so. We request a Git repository for Beam with mirroring to GitHub enabled.
>
>  * https://git-wip-us.apache.org/repos/asf/incubator-beam.git
>
>=== Issue Tracking ===
>
>We request the creation of an Apache-hosted JIRA. The Dataflow project
>is currently using both a public GitHub issue tracker and internal
>Google issue tracking. We will migrate and combine from these two
>sources to the Apache JIRA.
>
>  * Jira ID: BEAM
>
>== Initial Committers ==
>
>  * Aljoscha Krettek        [aljos...@apache.org]
>  * Amit Sela               [amitsel...@gmail.com]
>  * Ben Chambers            [bchamb...@google.com]
>  * Craig Chambers          [chamb...@google.com]
>  * Dan Halperin            [dhalp...@google.com]
>  * Davor Bonaci            [da...@google.com]
>  * Frances Perry           [f...@google.com]
>  * James Malone            [jamesmal...@google.com]
>  * Jean-Baptiste Onofré    [jbono...@apache.org]
>  * Josh Wills              [jwi...@apache.org]
>  * Kostas Tzoumas          [kos...@data-artisans.com]
>  * Kenneth Knowles         [k...@google.com]
>  * Luke Cwik               [lc...@google.com]
>  * Maximilian Michels      [m...@apache.org]
>  * Stephan Ewen            [step...@data-artisans.com]
>  * Tom White               [t...@cloudera.com]
>  * Tyler Akidau            [taki...@google.com]
>  * Robert Bradshaw         [rober...@google.com]
>
>== Additional Interested Contributors ==
>
>  * Debo Dutta              [dedu...@cisco.com]
>  * Henry Saputra           [hsapu...@apache.org]
>  * Taylor Goetz            [ptgo...@gmail.com]
>  * James Carman            [ja...@carmanconsulting.com]
>  * Joe Witt                [joew...@apache.org]
>  * Vaibhav Gumashta        [vgumas...@hortonworks.com]
>  * Prasanth Jayachandran   [pjayachand...@hortonworks.com]
>  * Johan Edstrom           [seij...@gmail.com]
>  * Hugo Louro              [hmclo...@gmail.com]
>  * Krzysztof Sobkowiak     [krzys.sobkow...@gmail.com]
>  * Jeff Genender           [jgenen...@apache.org]
>  * Edward J. Yoon          [edward.y...@samsung.com]
>  * Hao Chen                [h...@apache.org]
>  * Byung-Gon Chun          [bgc...@gmail.com]
>  * Charitha Elvitigala     [charit...@apache.org]
>  * Alexander Bezzubov      [b...@apache.org]
>  * Tsuyoshi Ozawa          [oz...@apache.org]
>  * Mayank Bansal           [maban...@gmail.com]
>  * Supun Kamburugamuve     [su...@apache.org]
>  * Matthias Wessendorf     [mat...@apache.org]
>  * Felix Cheung            [felixche...@apache.org]
>  * Ajay Yadava             [ajay.ya...@inmobi.com]
>  * Liang Chen              [chenliang...@huawei.com]
>  * Renaud Richardet        [renaud (at) apache (dot) org]
>  * Bakey Pan               [bakey1...@gmail.com]
>  * Andreas Neumann         [a...@apache.org]
>  * Suresh Marru            [sma...@apache.org]
>  * Hadrian Zbarcea         [hzbar...@gmail.com]
>
>== Affiliations ==
>
>The initial committers are from six organizations. Google developed
>Dataflow and the Dataflow SDK, data Artisans developed the Flink runner,
>and Cloudera (Labs) developed the Spark runner.
>
>  * Cloudera
>   * Tom White
>  * Data Artisans
>   * Aljoscha Krettek
>   * Kostas Tzoumas
>   * Maximilian Michels
>   * Stephan Ewen
>  * Google
>   * Ben Chambers
>   * Dan Halperin
>   * Davor Bonaci
>   * Frances Perry
>   * James Malone
>   * Kenneth Knowles
>   * Luke Cwik
>   * Tyler Akidau
>   * Robert Bradshaw
>  * PayPal
>   * Amit Sela
>  * Slack
>   * Josh Wills
>  * Talend
>   * Jean-Baptiste Onofré
>
>== Sponsors ==
>
>=== Champion ===
>
>  * Jean-Baptiste Onofre         [jbono...@apache.org]
>
>=== Nominated Mentors ===
>
>  * Jean-Baptiste Onofre       [jbono...@apache.org]
>  * Jim Jagielski              [j...@apache.org]
>  * Venkatesh Seetharam        [venkat...@apache.org]
>  * Bertrand Delacretaz        [bdelacre...@apache.org]
>  * Ted Dunning                [tdunn...@apache.org]
>
>=== Sponsoring Entity ===
>
>The Apache Incubator
>----
>
>---------------------------------------------------------------------
>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

Reply via email to