Hi,

Based on the google document I see one actual problem and two actions
not explicitly solving the real issue.

# Issue: Decouple release process to enable independent releases

This is something the whole project requires, not just the rust
implementation. Eventually every implementation should have its own
release cycle not blocked on others.
Even if we want to tackle this just for the rust implementation in the
first iteration, we need to figure out the right versioning scheme,
voting process and integration testing. Note that we have already
decided to decouple the source release process from the release of the
binaries. We also need to figure out how to handle the source release
itself once we provide different artifacts for different
implementations.

# Action 1: Maintain the rust implementation in additional apache repositories

Pros:
- presumably would make it easier to define the dependencies between
the rust crates (though cargo should support multiple crates in a
single repository)
Cons:
- inconsistent: if there is apache/arrow-rs why isn't there apache/arrow-js
- decrease project visibility: having all of the implementations in a
single repository makes other implementations trivial to find
- introduces a lot of complexity for the CI/CD processes, and not just
for the rust folks
- will make harder to interface/link between different implementations

This seems unreasonable to me.

# Action 2: Use github for issue tracking

Pros:
- easier for new contributors
- more flexible in certain ways
Cons:
- not the apache way of issue tracking
- doubtful outcome for large number of issues

I don't like either JIRA but I can live with it, though I understand
the frustration around it.
Since GH issues vs. JIRA seems like a hot topic lately we could try to
experiment with a less radical change: enable github issues for the
whole project and sync them to JIRA (either by using an existing
service or by developing a github action for it). We may end up
preferring github issues eventually.

All in all, I find this proposal way too invasive. It sounds more like
starting a new project with its own governance rather than making
releases more accessible to users.

Thanks, Krisztian


On Fri, Apr 9, 2021 at 5:18 PM Andy Grove <andygrov...@gmail.com> wrote:
>
> Following on from the email thread "Rust sync meeting" I would like to
> start a new discussion about moving the Rust components out to new GitHub
> repositories and using a new process for issues and release management.
>
> I have started a Google document [1] with details and to track the work
> required for this effort but I will summarize the key points of the
> proposal here:
>
>
>    -
>
>    Move existing Rust code into two new repositories
>    -
>
>       apache/arrow-rs
>       -
>
>          Arrow + Parquet crates
>          -
>
>       apache/datafusion
>       -
>
>          DataFusion + Ballista crates (which are expected to merge to some
>          degree over time)
>          -
>
>          TPC-H benchmarks
>          -
>
>       Use GitHub issues for issue tracking
>       -
>
>    Decouple release process
>    -
>
>       Crates are released individually
>       -
>
>       A vote on the source release of the released crate is held over the
>       mailing list as usual.
>       -
>
>       Rust does not need to release a new version when the rest of Arrow
>       releases; we bundle our latest released crates to the signed tar.
>       -
>
>       Crates can depend on GitHub commit hashes between releases
>
>
> The Google document may be the best place to collaborate on the proposal
> but I can update the document based on any comments in this email thread as
> well.
>
> Note that I have excluded discussion about arrow2/parquet2 from this
> proposal and I believe we should discuss that separately as a follow-on
> discussion.
>
> I look forward to hearing opinions on this both from current Rust
> maintainers and contributors and also from the wider Arrow community.
>
> Thanks,
>
> Andy.
>
> [1]
> https://docs.google.com/document/d/1TyrUP8_UWXqk97a8Hvb1d0UYWigch0HAephIjW7soSI/edit?usp=sharing

Reply via email to