Hi,

I would like to propose splitting Java release process.

Motivation:

* We want to reduce needless major releases because major
  releases require users' change
* We want to reduce apache/arrow's release cost

Approach:

1. Extract java/ in apache/arrow to apache/arrow-java like
   apache/arrow-go
   * Filter java/ related commits from apache/arrow and create
     apache/arrow-java with them like we did for apache/arrow-go
   * Remove java/ related codes from apache/arrow
2. Prepare integration test CI like apache/arrow-go does:
   https://github.com/apache/arrow-go/blob/main/.github/workflows/test.yml
3. Prepare release script based on apache/arrow-go
   * We may try sharing release related tools by creating a
     new apache/arrow-SOMETHING (apache/arrow-release?)
     repository

New release process:

* apache/arrow-java will be released separated from
  apache/arrow
* Gang or David will be a release manager of apache/arrow-java
  * Other committers and PMC members including me help a
    release manager
* apache/arrow releases a new major version per 3-4 months
  but apache/arrow-java will use more longer major release
  cycle
  * apache/arrow-java will use more minor/patch releases than
    apache/arrow


See also the discussion of this:
https://lists.apache.org/thread/b99wp2f3rjhy09sx7jqvrfqjkqn9lnyy


The vote will be open for at least 72 hours.

[ ] +1 Accept this proposal
[ ] +0
[ ] -1 Do not accept this proposal because...


Thanks,
-- 
kou

Reply via email to