Implementing this change may require us to reach a consensus on "[DISCUSS] 
Change Avro Rust cherry-picking policy." Please take a look at it first.

On Thu, Aug 8, 2024, at 13:42, Fokko Driesprong wrote:
> Thanks Xuanwo, appreciate that!
>
> Kind regards,
> Fokko
>
> Op do 8 aug 2024 om 04:06 schreef Xuanwo <xua...@apache.org>:
>
>> I like this idea and happy to implement this change.
>>
>> On Thu, Aug 8, 2024, at 00:54, Fokko Driesprong wrote:
>> > BTW, what would also really help is having the release as a Github Action
>> > workflow, similar to Iceberg-rust:
>> >
>> https://github.com/apache/iceberg-rust/blob/main/.github/workflows/publish.yml
>> >
>> > Kind regards,
>> > Fokko
>> >
>> > Op wo 7 aug 2024 om 18:53 schreef Fokko Driesprong <fo...@apache.org>:
>> >
>> >> Hey xxchan,
>> >>
>> >> Thanks for the quick response. You're right, this is specifically for
>> >> Rust, so sorry for the confusion. I'll raise a separate DISCUSS thread.
>> >>
>> >> Kind regards,
>> >> Fokko
>> >>
>> >> Op wo 7 aug 2024 om 18:25 schreef xxchan <xxchan...@gmail.com>:
>> >>
>> >>> Hi Fokko,
>> >>>
>> >>> Personally I think having a patch release for the CVE fix is totally
>> fine.
>> >>> But do you mean release separately for Java (like proposed here for
>> Rust),
>> >>> or doing a normal release for all languages?
>> >>>
>> >>> I'm not sure what are the current main pain points in the release
>> >>> procedure,
>> >>> but I guess doing the former can help save maintainers' effort, as the
>> >>> same
>> >>> rationale raised by Xuanwo. I think an approach that helps reduce
>> >>> maintenance
>> >>> effort and increase release frequency will be beneficial to the
>> community.
>> >>>
>> >>> BTW, I think many people in this thread are more interested in the Rust
>> >>> package.
>> >>> Should we just drive another VOTE for the new release directly?
>> >>> Besides, also want to hear Martin's input about why to cherry-pick Rust
>> >>> PRs, and
>> >>> what's the release plan in his mind.
>> >>>
>> >>> xxchan
>> >>>
>> >>> On Wed, Aug 7, 2024 at 10:41 PM Fokko Driesprong <fo...@apache.org>
>> >>> wrote:
>> >>>
>> >>> > Hey everyone,
>> >>> >
>> >>> > A CVE fix has been backported
>> >>> > <https://github.com/apache/avro/pull/2980/files> to the 1.11 branch.
>> >>> The
>> >>> > 1.12.0 branch drops Java 8 support, and it would be good to have a
>> >>> version
>> >>> > released that Java 8 users can update to. How about doing this as a
>> >>> > separate release? It looks like
>> >>> > <https://github.com/apache/avro/commits/branch-1.11/> there are not
>> >>> many
>> >>> > backports for other languages (except for Rust).
>> >>> >
>> >>> > Let me know your thoughts
>> >>> >
>> >>> > Kind regards,
>> >>> > Fokko
>> >>> >
>> >>> > Op vr 2 aug 2024 om 10:44 schreef Renjie Liu <
>> liurenjie1...@apache.org
>> >>> >:
>> >>> >
>> >>> > > +1 to releasing Rust separately. Our experience in rust shows that
>> it
>> >>> > > benefits the project well and helps to grow rust version faster.
>> >>> > Different
>> >>> > > people have different expertise in different languages, and it's
>> >>> > difficult
>> >>> > > for maintainer to know understand all languages well.
>> >>> > >
>> >>> > > On 2024/08/01 13:38:58 Xuanwo wrote:
>> >>> > > > Hello, everyone
>> >>> > > >
>> >>> > > > I start this thread to discussion if it possible to release
>> package
>> >>> > > seperately, especially for some new language implemeantions like
>> rust
>> >>> > which
>> >>> > > is still at pre 1.0 stage.
>> >>> > > >
>> >>> > > > I understand this doesn't align with the community's current
>> >>> practices,
>> >>> > > and I didn't thoroughly research whether this has been discussed
>> >>> before.
>> >>> > > >
>> >>> > > > But I really think there are many benefits for this:
>> >>> > > >
>> >>> > > > - Users can receive updates more quickly and regularly. They
>> don't
>> >>> need
>> >>> > > to wait for the entire avro project to release.
>> >>> > > > - Rust implementers no longer need to cherry-pick commits,
>> >>> > significantly
>> >>> > > reducing their workload. The release process could be as simple as
>> >>> tag at
>> >>> > > main branch, vote and let CI to do publish.
>> >>> > > > - Given the current low activity of Avro Rust, most releases for
>> >>> Avro
>> >>> > > are merely dependency updates. We can save some effort by aligning
>> >>> with
>> >>> > > avro-java's own release schedule.
>> >>> > > > - The last point, which I believe is the most important, could
>> >>> attract
>> >>> > > more Avro Rust users to develop at upstream. The rust community has
>> >>> built
>> >>> > > avro[1], avro-rs[2], rsgen-avro[3], serde-avro-bytes[4],
>> >>> > > serde_avro_fast[5], avro-schema[6], struct-from-avro[7],
>> >>> serde-avro[8].
>> >>> > By
>> >>> > > combining our efforts, we can significantly accelerate
>> improvements in
>> >>> > Avro
>> >>> > > Rust.
>> >>> > > >
>> >>> > > > There are also some risks:
>> >>> > > >
>> >>> > > > - Implementing these changes requires extra effort from the
>> >>> community.
>> >>> > > > - Avro Rust releases may be less frequent because it doesn't
>> keep up
>> >>> > > with the main Avro repository.
>> >>> > > > - Release rust seperately doesn't change the fact that PMC
>> members
>> >>> > still
>> >>> > > need to do the work.
>> >>> > > >
>> >>> > > > I believe most issues can be addressed:
>> >>> > > >
>> >>> > > > - I have implemented the whole rust release process for
>> OpenDAL[9]
>> >>> and
>> >>> > > iceberg-rust[10]. I am also willing to help build the Rust release
>> >>> > process
>> >>> > > for Avro.
>> >>> > > > - That's possible, but I believe once we can get more developers
>> >>> > > involved in developing Avro Rust, we can release more frequently
>> >>> instead.
>> >>> > > > - That's true, but verify rust release should be super simple
>> with
>> >>> > > correct tools. My experience in this area can be helpful.
>> >>> > > >
>> >>> > > >
>> >>> > > > What do you think?
>> >>> > > >
>> >>> > > >
>> >>> > > > [1]: https://crates.io/crates/avro
>> >>> > > > [2]: https://crates.io/crates/avro-rs
>> >>> > > > [3]:https://crates.io/crates/rsgen-avro
>> >>> > > > [4]: https://crates.io/crates/serde-avro-bytes
>> >>> > > > [5]: https://crates.io/crates/serde_avro_fast
>> >>> > > > [6]: https://crates.io/crates/avro-schema
>> >>> > > > [7]: https://crates.io/crates/struct-from-avro
>> >>> > > > [8]: https://crates.io/crates/serde-avro
>> >>> > > > [9]: https://opendal.apache.org/community/release/
>> >>> > > > [10]: https://rust.iceberg.apache.org/release.html
>> >>> > > >
>> >>> > > > Xuanwo
>> >>> > > >
>> >>> > > > https://xuanwo.io/
>> >>> > > >
>> >>> > >
>> >>> >
>> >>>
>> >>
>>
>> --
>> Xuanwo
>>
>> https://xuanwo.io/
>>

-- 
Xuanwo

https://xuanwo.io/

Reply via email to