Hi Till, Thank you for picking up this topic. Explicit and consistent stability guarantees are important for our users as well as any downstream project of Apache Flink. Documenting the de-facto status quo and tackling existing inconsistencies sounds like a good first step. So, +1 from my side.
Two questions for clarity: * Are you planning to implement the required tests via ArchUnit? * Fixing existing "test failures" is in the scope of this FLIP, correct? Cheers, Konstantin On Thu, Dec 2, 2021 at 3:48 PM Till Rohrmann <trohrm...@apache.org> wrote: > Hi everyone, > > I would like to start a discussion about what kind of API stability > guarantees we want to provide to our users. The Flink community already > agreed on some stability guarantees, but these guarantees were only > communicated via the ML and not properly documented [2]. Moreover, I've > seen more and more complaints about breaking changes (some rightful and > others not) on the ML recently [3] because we rarely mark our APIs as > stable. This motivated this FLIP. > > The proposal first concentrates on source API stability guarantees. Binary > stability guarantees are explicitly left out for a follow-up discussion. > > In essence, the proposal follows our current stability guarantees while > updating the guarantees for @PublicEvolving that we are already providing > w/o having stated them. Moreover, this FLIP proposes some guidelines for > determining the stability guarantees for an API object, how to evolve them > and some additional requirements for the return and parameter types of > methods. > > All in all, I hope that this proposal is more reflecting our current > understanding of stability guarantees than being controversial. One of the > outcomes of this FLIP should be to properly document these guarantees so > that it is easily discoverable and understandable for our users. Moreover, > I hope that we can provide more stable APIs our users can rely and build > upon. > > There will be a follow-up FLIP discussing the problem of how to make sure > that APIs become stable over time. > > Looking forward to your feedback. > > [1] https://cwiki.apache.org/confluence/x/IJeqCw > [2] https://lists.apache.org/thread/5jm25783oq5svyk7rr8g1gly2ooxqhjr > [3] https://lists.apache.org/thread/kzhfc3t6omzo2kyo8zj9yxoh8twq5fzr > > Cheers, > Till > -- Konstantin Knauf https://twitter.com/snntrable https://github.com/knaufk