Hi,

I would like to propose splitting C# release process.

Motivation:

* We want to reduce needless major releases because major
  releases require users' change

Approach:

1. Extract csharp/ in apache/arrow to apache/arrow-csharp like
   apache/arrow-go
   * Filter csharp/ related commits from apache/arrow and create
     apache/arrow-csharp with them like we did for apache/arrow-go
   * Remove csharp/ related codes from apache/arrow
2. Prepare integration test CI like apache/arrow-go does:
   
https://github.com/apache/arrow-go/blob/21de5d0b84289a0d37974fa6bd0852407d2c0d00/.github/workflows/test.yml#L347-L402
3. Prepare release script based on apache/arrow-go and
   apache/arrow-java.

New release process:

* apache/arrow-csharp will be released separated from
  apache/arrow
* Curt will be a release manager of apache/arrow-csharp and
  there are some PMC members who help apache/arrow-csharp
  releases
* apache/arrow releases a new major version per 3-4 months
  but apache/arrow-csharp will use more longer major release
  cycle
  * apache/arrow-csharp will use more minor/patch releases
    than apache/arrow

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


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