I am also in favor of this idea in general and in the principle, but
(somewhat repeating others) I think we should be aware that this will
create _more_ work overall for releasing (refactoring release scripts
(at least initially), deciding which version to use for which
component, etc), and not less, given that easing the burden of the
release managers was mentioned as a goal.
So we if pursue this, it should be for other benefits that we think this has:
1) because separate versions would be beneficial for users? (have a
clearer messaging in the version number (eg no major new version if
there were hardly any changes in a certain component, or use a
versioning scheme more common in a certain language's ecosystem, ..?)
2) because it would actually allow separate releases, even though when
initially always releasing in batch (eg being able to just do a bug
fix for go, without having to also add a tag for all others)
3) because it would make the release process more manageable / easier
to delegate? (and thus potentially easing the burden for an
_individual_ release manager, although requiring more work overall)
4) .. other things I am missing?

> We could simply release C++, R, Python and C/GLib together.
> ...
> > I think that versioning will require additional thinking for libraries like 
> > PyArrow
> I think we should maybe focus on a few more obvious cases. [i.e. not C++ and 
> Python]

Yes, agreed to not focus on those. At least for PyArrow, speaking as
one of its maintainers, I am personally (at this moment) not really
interested in dealing with the complexity of allowing a decoupled
Arrow C++ and PyArrow build.

Related to the docs:

> There is a dedicated documentation page for this... though the
> versioning of the docs themselves would become ill-defined:
> https://arrow.apache.org/docs/status.html
...
> I think it would be best to hold off on Java also, in part because
> of how the Java docs are integrated with the C++ and Python docs and
> controlled by the version selector menu.

We should indeed consider how to handle the current documentation
site. Previously, we actually did some work to split the sphinx docs
(used for the format, dev docs, and for the Python/C++/(part of the)
Java docs) into multiple sphinx projects that could be built
separately (https://github.com/apache/arrow/issues/30627,
https://github.com/apache/arrow/pull/11980), but we abandoned that
work last year because not seeming worthwhile. But we could certainly
revive that idea, for example to at least split the format docs (and
let that have its own versioning based on the Format Version
(currently 1.4)? or just only host a single, latest version?)

Joris

Reply via email to