At Google we have been importing the Apache Beam code base and integrating it with the Google portion of the codebase that supports the Dataflow worker. This process is painful as we regularly are making breaking API changes to support libraries related to running portable pipelines (and sometimes in other places as well). This has made it sometimes difficult for PR changes to make changes without either breaking something for Google or waiting for a Googler to make the change internally (e.g. dependency updates).
This code is very similar to the other integrations that exist for runners such as Flink/Spark/Apex/Samza. It is an adaption layer that sits on top of an execution engine. There is no super secret awesome stuff as this code was already publicly visible in the past when it was part of the Google Cloud Dataflow github repo[1]. Process wise the code will need to get approval from Google to be donated and for it to go through the code donation process but before we attempt to do that, I was wondering whether the community would object to adding this code to the master branch? The up side is that people can make breaking changes and fix it for all runners. It will also help Googlers contribute more to the portability story as it will remove the burden of doing the code import (wasted time) and it will allow people to develop in master (can have the whole project loaded in a single IDE). The downsides are that this will represent more code and unit tests to support. 1: https://github.com/GoogleCloudPlatform/DataflowJavaSDK/tree/hotfix_v1.2/sdk/src/main/java/com/google/cloud/dataflow/sdk/runners/worker
