Hi,

This is a similar discussion to the "[DISCUSS] Split Go
release process" thread:
https://lists.apache.org/thread/fstyfvzczntt9mpnd4f0b39lzb8cxlyf

How about splitting Java release process from other
apache/arrow components like apache/arrow-go? Here are
some reasons of this proposal:

* The Java implementation is a native implementation not
  bindings
  * Some modules are the bindings of the C++ implementation
    but we can support multiple C++ version if needed like
    the R implementation does
* We can simplify apache/arrow release by splitting the Java
  implementation
* We'll be able to use more minor/patch releases for the
  Java implementation instead of major releases like the Go
  implementation

Here is my idea how to proceed this:

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 can reuse some release scripts in dev/release/ in
apache/arrow like we did in apache/arrow-adbc.

Cons of this idea:

* There is only one active Java focused PMC member and
  committer: David Li
  * We need to increase active Java focused PMC members and
    committers for stable maintenance


What do you think about this?


Thanks,
-- 
kou

Reply via email to