Thanks kou.

I think the TODO action list looks good.

The one point I think could use some additional discussion is around the
release cadence: it IS desirable to be able to release more frequently than
the parent repo 3-4 month cadence. But we also haven't had the frequency of
commits to necessarily warrant a release every 2 weeks. I can think of two
possible options, not sure if one or the other would be more compatible
with the apache release process:

1) Allow for release-on-demand; this is idiomatic for most Julia packages
I'm aware of. When a particular bug is fixed, or feature added, a user can
request a release, a little discussion happens, and a new release is made.
This approach would work well for the "bursty" kind of contributions we've
seen to Arrow.jl where development by certain people will happen frequently
for a while, then take a break for other things. This also avoids having
"scheduled" releases (every 2 weeks, 3 months, etc.) where there hasn't
been significant updates to necessarily warrant a new release. This
approach may also facilitate differentiating between bugfix (patch)
releases vs. new functionality releases (minor), since when a release is
requested, it could be specified whether it should be patch or minor (or
major).

2) Commit to a scheduled release pattern like every 2 weeks, once a month,
etc. This has the advantage of consistency and clearer expectations for
users/devs involved. A release also doesn't need to be requested, because
we can just wait for the scheduled time to release. In terms of the
"unnecessary releases" mentioned above, it could be as simple as
"cancelling" a release if there hasn't been significant updates in the
elapsed time period.

My preference would be for 1), but that's influenced from what I'm familiar
with in the Julia package ecosystem. It seems like it would still fit in
the apache way since we would formally request a new release, wait the
elapsed amount of time for voting (24 hours would be preferrable), then at
the end of the voting period, a new release could be made.

Thanks again kou for helping support the Julia implementation here.

-Jacob

2)

On Sun, Sep 5, 2021 at 3:25 PM Sutou Kouhei <k...@clear-code.com> wrote:

> Hi,
>
> Sorry for the delay. This is a continuation of the "Status
> of Arrow Julia implementation?" thread:
>
>
> https://lists.apache.org/x/thread.html/r6d91286686d92837fbe21dd042801a57e3a7b00b5903ea90a754ac7b%40%3Cdev.arrow.apache.org%3E
>
> I summarize the current status, the next actions and items
> to be discussed.
>
> The current status:
>
>   * The Julia Arrow implementation uses
>     https://github.com/JuliaData/Arrow.jl as a "dev branch"
>     instead of creating a branch in
>     https://github.com/apache/arrow
>   * The Julia Arrow implementation wants to use GitHub
>     for the main issue management platform
>   * The Julia Arrow implementation wants to release
>     more frequency than 1 release per 3-4 months
>   * The current workflow of the Rust Arrow implementation
>     will also fit the Julia Arrow implementation
>
> The current workflow of the Rust Arrow implementation:
>
>
> https://docs.google.com/document/d/1TyrUP8_UWXqk97a8Hvb1d0UYWigch0HAephIjW7soSI/edit#heading=h.kv1hwbhi3cmi
>
>     * Uses apache/arrow-rs and apache/arrow-datafusion instead
>       of apache/arrow for repository
>
>     * Uses GitHub instead of JIRA for issue management
>       platform
>
>
> https://docs.google.com/document/d/1tMQ67iu8XyGGZuj--h9WQYB9inCk6c2sL_4xMTwENGc/edit
>
>     * Releases a new minor and patch version every 2 weeks
>       in addition to the quarterly release of the other releases
>
> The next actions after we get a consensus about this
> discussion:
>
>   1. Start voting the Julia Arrow implementation move like
>      the Rust's one:
>
>
> https://lists.apache.org/x/thread.html/r44390a18b3fbb08ddb68aa4d12f37245d948984fae11a41494e5fc1d@%3Cdev.arrow.apache.org%3E
>
>   2. Create apache/arrow-julia
>
>   3. Start IP clearance process to import JuliaData/Arrow.jl
>      to apache/arrow-julia
>
>      (We don't use julia/Arrow/ in apache/arrow.)
>
>   4. Import JuliaData/Arrow.jl to apache/arrow-julia
>
>   5. Prepare integration tests CI in apache/arrow-julia and apache/arrow
>
>   6. Prepare releasing tools in apache/arrow-julia and apache/arrow
>
>   7. Remove julia/... from apache/arrow and leave
>      julia/README.md pointing to apache/arrow-julia
>
>
> Items to be discussed:
>
>   * Interval of minor and patch releases
>
>     * The Rust Arrow implementation uses 2 weeks.
>
>     * Does the Julia Arrow implementation also wants to use
>       2 weeks?
>
>   * Can we accordance with the Apache way with this workflow
>     without pain?
>
>     The Rust Arrow implementation workflow includes the
>     following for this:
>
>
> https://docs.google.com/document/d/1TyrUP8_UWXqk97a8Hvb1d0UYWigch0HAephIjW7soSI/edit#heading=h.kv1hwbhi3cmi
>
>       > Contributors will be required to write issues for
>       > planned features and bug fixes so that we have
>       > visibility and opportunities for collaboration
>       > before a PR shows up.
>
>   * More items?
>
>
> Thanks,
> --
> kou
>

Reply via email to