+1(non-binding) - Tsuyoshi
On Fri, Jan 29, 2016 at 12:32 PM, Johan Edstrom <seij...@gmail.com> wrote: > +1 > >> On Jan 28, 2016, at 6:34 PM, Naresh Agarwal <naresh.agar...@gmail.com> wrote: >> >> +1 (non-binding) >> >> Thanks >> Naresh >> On 29 Jan 2016 06:18, "Hadrian Zbarcea" <hzbar...@gmail.com> wrote: >> >>> +1 (binding) >>> >>> Man, congrats on a job fantastically well done. This is ASF incubator >>> participation at its best. >>> >>> Expectations are high now. I am looking forward to exemplary governance >>> and speedy graduation. >>> >>> Best of luck, >>> Hadrian >>> >>> On 01/28/2016 09:28 AM, Jean-Baptiste Onofré 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/%3CCA%2B%3DKJmvj4wyosNTXVpnsH8PhS7jEyzkZngc682rGgZ3p28L42Q%40mail.gmail.com%3E >>>> >>>> >>>> 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/contrib >>>> ) >>>> 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 >>> >>> > > > --------------------------------------------------------------------- > 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