I'm emailing after discussion with Wes at AnacondaCon today. I work for
Anaconda, and I've recently been trying to package Arrow for Anaconda. The
current CMake configuration seems to strongly impose a vendoring/hermetic
approach. We find that approach to be difficult to integrate with our
system, which relies on package modularity and basically anti-vendoring.
Specifically, imposing -Werror in Orc led to always failing builds for
Arrow on OSX, and because Arrow vendored Orc through CMake, my only option
was to attempt a build, let it fail, and then patch -Werror away for Orc
after the failed build, then rebuild. I would like to contribute patches
to Arrow's CMake files, and ideally also to Orc's CMake files that will
allow us to switch between the hermetic approach, and using externally
provided dependencies. Orc would become a separate package for us, and
Arrow would depend on it. This brings me to two questions:
1. Is this a welcome change, or should we just carry patches locally?
2. Assuming change is welcome, what is the preferred method for submitting
changes? Github PR(s)?