Hi Colin,

Names are in the KIP. Level 1 to 4 are never meant to be used outside of
this discussion. It's my, apparently successful, attempt to focus on what
the levels mean instead of their names:

> Names

    "In Development"
    "Early Access"
    "Preview"
    "Production Ready"

Alternatively, if we want to be a bit more playful we could go with a theme
borrowed from the book industry (as an homage to Franz Kafka):

    "In Development"
    "Manuscript"
    "Pre-print"
    "Published"


Regarding level 2, it is intended to be usable up to some extent. For
example all the common flows are implemented but some corner cases might
not be built yet:
> Level 2
>
> The KIP is now usable, but it might not be completed yet.

So the main difference between Level 1 and 2 is that in level 1 the feature
can't be used. In level 2 let's say the common flows are. Level 3 all flows
(common and corner cases) are implemented.

Does that make sense?


Best,

------------------
Josep Prat
Open Source Engineering Director, Aiven
josep.p...@aiven.io   |   +10491715557497 | aiven.io
Aiven Deutschland GmbH
Alexanderufer 3-7, 10117 Berlin
Geschäftsführer: Oskari Saarenmaa, Hannu Valtonen,
Anna Richardson, Kenneth Chen
Amtsgericht Charlottenburg, HRB 209739 B

On Mon, Aug 26, 2024, 19:05 Colin McCabe <cmcc...@apache.org> wrote:

> On Mon, Aug 26, 2024, at 08:17, Viktor Somogyi-Vass wrote:
> > Hi all,
> >
> > A couple of additional questions/suggestions regarding the KIP:
> >
> > VS1. Testing: you wrote about testing only on level 4 but I think we
> should
> > add some testing criteria to each one to ensure that it meets
> > those requirements specified by the given level and it is gradually more
> > mature. For instance for level 1 I think we may not need to do any
> > integration testing. For level 2 I think we should at least have happy
> path
> > integration tests where applicable and do full integration testing on
> level
> > 3. Of course smaller KIPs may skip level 2 as you mentioned or have
> > different testing requirements, so it may not be applicable everywhere.
> >
> > VS2. Documentation: I think documentation and user resources (tutorial)
> is
> > also a bit similar. On level 1 and maybe 2 I wouldn't expect any
> > documentation but I would be happy with a feature doc on level 3 and
> level
> > 4 may also need to provide examples (if applicable). For instance in the
> > case of a KRaft or MM2 level feature, I would only consider it level 4
> > (among other things) if it had a very extensive documentation and
> > tutorials/examples for users.
> >
> > VS3. Checklist: I guess the bigger point of view of my previous points is
> > that we should create a checklist of a few items (not too many) that KIPs
> > graduating to that level should fulfill (besides the ones on the previous
> > level) to ensure it is really some sort of an objective graduation. In my
> > mind it looks like this:
> > Level 1:
> >   - the KIP has to be accepted
> > Level 2:
> >   - the feature is usable
> >   - has integration tests for the happy path
> >   - unit tests exists that cover the existing functionality
> >   - some minimal documentation exists for early adopters
>
> Hi Viktor,
>
> I don't think it makes sense to require that "the feature is usable" at
> level 2. As I understand it, this level just means that the feature is
> under devlopment. Most features are not usable on day 1 of development.
> Similarly, documentation is usually the thing that gets written last. It is
> not reasonable to expect it to be written during development, when the
> feature might be changing from week to week.
>
> > Level 3:
> >   - stable API
> >   - integration tests cover all paths
> >   - unit tests cover added functionality
> >   - documentation exists for users
> > Level 4:
> >   - extensive documentation exists for users with examples or tutorials
> if
> > needed
> >   - unit tests cover added functionality
> >   - integration test suites covering the KIPs functionality
> >   - system tests if needed
>
> I think we should avoid turning this into a code quality checklist. It
> really should be about when the feature is ready to be used by end-users.
> And a lot of KIPs don't involve code at all, like deprecating some
> configuration, changing the Scala version, changing the JDK version, etc.
>
> We already added a section about "Testing" to each KIP. Really the
> requirement to reach the last level should be that you did all the testing
> that you promised to do. If that testing was insufficient, then that
> problem should be identified during the KIP discussion.
>
> >
> > PS. I like the alternative names :)
> >
>
> Which names are "the alternative names" to you? :)
>
> As I said earlier, I'm not happy with the "level N" jargon since I don't
> think people outside this dev mailing list will understand it. Most users
> will react to "that feature is on level 2" with incomprehension. On the
> other hand, if you tell them that the feature is "alpha," they'll get what
> you're saying. Let's not add jargon that our users won't understand.
>
> best,
> Colin
>
>
> > Best,
> > Viktor
> >
> > On Mon, Aug 26, 2024 at 11:20 AM Josep Prat <josep.p...@aiven.io.invalid
> >
> > wrote:
> >
> >> Hi David,
> >>
> >> Thanks for the feedback!
> >>
> >> DA1. I'm fine not exposing level 1, but I think it was worth having it
> for
> >> completeness-sake as you mention. This level is probably more of a
> >> technicality but my state-machine brain needs the initial state.
> >>
> >> DA2. Yes, this is the key difference between level 3 and 4. Not all
> >> features need to go through level 3, for example, refactoring APIs or
> >> adding new public methods for convenience can directly go to level 4.
> So I
> >> see level 3 as the default "rest" level for "big" features until we gain
> >> certainty. While "simpler" features could go up to level 4 directly.
> >>
> >> DA3. This is a good suggestion. I don't know if we can be too
> prescriptive
> >> with this. It all would boil down to the amount and quality of feedback
> >> from the early adopters. Now the KIP mentions that levels can only be
> >> changed in minors and majors, this means that if we don't say anything
> >> else, the minimum "baking time" would be 1 minor release. This is the
> >> technical lower limit. We could mention that we encourage to gather
> >> feedback from the community for 2 minor releases (the one where the
> feature
> >> was released at level 3 and the next minor release). So a feature
> reaching
> >> level 3 in Kafka 4.0, could technically change to level 4.1, but it is
> >> encouraged to wait at least until 4.2.
> >>
> >> DA4. I see your point. I did some archeology to write this KIP and as I
> >> mention in the motivation, prior 2.8 all features were released as what
> we
> >> could assume would be production ready. If I'm not mistaken, the policy
> for
> >> critical bug backporting has always been 3 releases. I wouldn't change
> this
> >> in this KIP and leave it for further KIPs to raise this if it turns out
> to
> >> be necessary.
> >>
> >> DA5. We could potentially do the following state lifecycle: "Under
> >> Discussion", "Voting", "Rejected", "Accepted" (this would equal level
> 1),
> >> "level 2", "level 3", level 4". What do you think?
> >>
> >> DA6. This was my intention with the "Graduation Steps Log". Each KIP
> that
> >> needs in between states, would have this and users could see when each
> KIP
> >> transitioned to each level. If you want to have the reverse lookup (per
> >> release). We could add a new section in the "upgrading" documentation
> >> section. We could include all KIPs with their state in there.
> >>
> >> Let me know what you think!
> >>
> >> Best!
> >>
> >> On Sun, Aug 25, 2024 at 11:50 PM David Arthur <mum...@gmail.com> wrote:
> >>
> >> > Josep, thanks for the KIP! I think clear definitions of feature
> stability
> >> > will be a boon to our users and developers.
> >> >
> >> > DA1. I agree with others in this thread that three levels is probably
> >> > sufficient. Anything before "usable" is not really necessary to define
> >> from
> >> > a user's perspective. It's fine to include this definition in the KIP
> for
> >> > completeness-sake, but I don't think we should not expose it as part
> of
> >> the
> >> > "feature stability API".
> >> >
> >> > DA2. To me, one of the biggest differences between 3 and 4 is feedback
> >> from
> >> > production experience. We can do our best to test new things, but
> until
> >> > something is used "in anger" we will not really be able to say it's
> ready
> >> > for production. This is especially true for large features. I would
> say
> >> > level 3 is what we (Kafka) normally call a new feature. We can't
> really
> >> > promote a feature to level 4 until we (or our users) have gained
> >> production
> >> > experience with it. This means we will rely on early adopters for
> >> feedback
> >> > regarding new features.
> >> >
> >> > DA3. Related to the DA2, Should we consider a number of releases or
> >> amount
> >> > of time it takes for a feature to move from Level 3 to 4? Some minimum
> >> > "bake time" essentially
> >> >
> >> > DA4. I think we should also talk about bug backports in this KIP.
> Once we
> >> > announce something as level 4, what is our bug backport policy?
> >> > Unofficially, I think we do something like two minor releases. For
> >> example,
> >> > if we promoted a feature to level 4 in 4.1, and trunk is now on 4.7 --
> >> how
> >> > far back do we backport critical fixes? Every release since the level
> 4
> >> > promotion, or only a few?
> >> >
> >> > DA5. Should we add new states for our KIPs? Today, we end at Adopted.
> It
> >> > might make sense to have new states corresponding to the feature
> >> stability.
> >> > It would also be good to capture this information in the KIP itself
> >> under a
> >> > new "History" section.
> >> >
> >> > DA6. How will we convey this information to our users? Right now,
> >> > announcements of features are scattered across release notes. It
> would be
> >> > really nice if we could come up with a way to easily look up the state
> >> of a
> >> > feature/KIP at a particular version.
> >> >
> >> > Cheers,
> >> > David A
> >> >
> >> > On Fri, Aug 23, 2024 at 1:08 PM Colin McCabe <cmcc...@apache.org>
> wrote:
> >> >
> >> > > On Thu, Aug 22, 2024, at 07:36, Andrew Schofield wrote:
> >> > > > Hi Josep,
> >> > > > Thanks for creating this KIP. It looks like a good proposal. A few
> >> > > comments.
> >> > > >
> >> > > > AS1: I don’t think features should be able to progress between the
> >> > > levels in
> >> > > > patch releases. Yes, there may be some bug fixes which mean that
> >> > > > the usability of a feature has progressed markedly, but given that
> >> > > > Kafka releases are so frequent, it doesn’t seem too much of a
> burden
> >> > > > making features wait until the next minor release to progress to
> the
> >> > > > next level.
> >> > > >
> >> > >
> >> > > Hi Andrew,
> >> > >
> >> > > I think that's fine going forward, but we need to clarify that it
> only
> >> > > applies to new features started after this KIP. One reason is
> because
> >> the
> >> > > plan for KIP-853 is to make it production-ready in one of the point
> >> > > releases of 3.9.
> >> > >
> >> > > > AS2: While I think that the Graduation Steps Log idea is a good
> >> > addition
> >> > > to
> >> > > > these more complicated KIPs, but I don’t like release managers
> having
> >> > > > to visit all of the KIPs to see what the state of play is. Each
> >> release
> >> > > has
> >> > > > a release plan on the wiki which people update to add in the KIPs.
> >> > > > I would prefer the KIP authors to use that as the way to signal to
> >> the
> >> > > > release manager that their KIPs have attained a particular level.
> >> > > > The Graduation Steps Log is more for the KIP reader to find out
> when
> >> > > > the interesting feature they are reading about was actually
> delivered
> >> > > > in a simple way. The KIP author would have to keep these in sync,
> >> > > > which is quite a small burden for something that only changes a
> few
> >> > times
> >> > > > at most in the life of a KIP.
> >> > >
> >> > > I think realistically, the release managers will have to check up on
> >> the
> >> > > status of KIPs... for example, by pinging the people working on
> them.
> >> > > Otherwise we'll have stuff stuck in an older state even after it's
> >> ready,
> >> > > because the devs forgot to update it. This is similar to the work
> >> release
> >> > > managers already do to update the release version of KIPs. I agree
> that
> >> > > it's good to encourage the developers to do this on their own
> >> initiative
> >> > as
> >> > > well.
> >> > >
> >> > > Also, for KIPs that don't need multiple steps, I wonder if we need
> >> > > anything different than what we have now (just a "release version"
> >> > field).
> >> > >
> >> > > best,
> >> > > Colin
> >> > >
> >> > > >
> >> > > > AS3: For KIPs which end up with some pieces being completed before
> >> > > others,
> >> > > > it would be simple to document the sub-features which were
> delivered
> >> > > > and graduated at different releases without being too prescriptive
> >> and
> >> > > > inventing sub-KIPs or whatever.
> >> > > >
> >> > > > AS4: I suggest adding to the KIP some statement about feature
> >> versions,
> >> > > > configurations and other switches at the various levels. For
> example,
> >> > > > if a Kafka feature such as “transaction.version” is used to
> enable a
> >> > KIP,
> >> > > > I suppose it would be introduced at level 3 or later, and
> switched on
> >> > > > by default at level 4. The same with unstable APIs - I supposed at
> >> > > > levels 1 and 2, if there are new RPCs defined, I need to use
> >> > > > `unstable.api.versions.enable` on the broker to enable them.
> >> > > >
> >> > > > AS5: I wonder whether we need to avoid “features” here because it
> >> > > > already has a specific meaning in Kafka (bin/kafka-features.sh and
> >> > > > so on). Maybe this KIP should be “Graduation Steps for KIPs”.
> >> > > >
> >> > > > AS6: Typo: Level 3 says “This level is optional, and a feature
> must
> >> not
> >> > > go
> >> > > > through it”. This should probably say “does not need to”.
> >> > > >
> >> > > > AS7: I suggest “Incubation” for level 1.
> >> > > >
> >> > > > Thanks,
> >> > > > Andrew
> >> > > >
> >> > > >
> >> > > >> On 22 Aug 2024, at 08:40, Josep Prat <josep.p...@aiven.io.INVALID
> >
> >> > > wrote:
> >> > > >>
> >> > > >> Hi Matthias,
> >> > > >>
> >> > > >> Thanks for your feedback!
> >> > > >> - Feedback for level 1:
> >> > > >> Yes, indeed it is almost superfluous, but I decided to add it for
> >> > > >> completeness. A KIP in level 1 might have some PRs that are
> merged,
> >> > but
> >> > > >> it's not yet functional nor complete. For example, only the
> >> interfaces
> >> > > have
> >> > > >> been added.
> >> > > >> We could also remove level 1, but then KIPs would start without a
> >> > level
> >> > > >> assigned which is implicitly a level in my opinion.
> >> > > >> The reason for level 1 in my opinion is to ease the work of the
> >> > release
> >> > > >> manager in understanding if worked KIPs are to be included in the
> >> > > release
> >> > > >> notes and in the list of released KIPs.
> >> > > >>> This seems to be little bit confusing. If it's not meant to be
> used
> >> > > >> by anybody, should it not be feature flagged and disable/hidden
> from
> >> > > users
> >> > > >> completely?
> >> > > >> Yes, this is correct, most of the time they would be behind a
> >> feature
> >> > > flag,
> >> > > >> or they will be new code paths not reachable yet. Let's take
> KIP-853
> >> > for
> >> > > >> example, at the moment of Kafka 3.8.0 release, only the first 6
> >> tasks
> >> > > under
> >> > > >> https://issues.apache.org/jira/browse/KAFKA-14094 were
> completed.
> >> The
> >> > > >> feature was not usable and not visible for our users. Thus,
> level 1.
> >> > > >>
> >> > > >>> In the end it means, a release does just not contain anything
> about
> >> > it
> >> > > >> (even if there might be code that was merged), and the KIP should
> >> not
> >> > be
> >> > > >> mentioned in the release notes at all, and thus we don't need a
> name
> >> > as
> >> > > the
> >> > > >> feature is not graduated into any (useful) level yet.
> >> > > >> You are totally correct, features in level 1 should not be
> mentioned
> >> > in
> >> > > the
> >> > > >> release notes. Effectively, the release doesn't contain this KIP,
> >> even
> >> > > if
> >> > > >> technically it contains work on this KIP.
> >> > > >>
> >> > > >> The way I understand it, dropping this level from the hierarchy
> will
> >> > > mean
> >> > > >> that KIPs start at no level, and at one point in time go to
> level X.
> >> > > This
> >> > > >> effectively means that KIPs start at an implicit level. Maybe
> >> calling
> >> > it
> >> > > >> level 0 helps to better represent that this is the default entry
> >> > point.
> >> > > >>
> >> > > >> - Feedback for term usable
> >> > > >> Yes this is a good point. But given the variety of features we
> >> > create, I
> >> > > >> don't want to be overly prescriptive and then realize that we
> don't
> >> > > >> represent some in there. If we borrow terms from the industry
> this
> >> > > could be
> >> > > >> "Minimum Usable Product"[1]. Usable for a KIP means that it
> contains
> >> > at
> >> > > >> least the minimum amount of functionality that makes it usable.
> What
> >> > > usable
> >> > > >> means it varies from KIP to KIP. Let's see KIP-853 again,
> >> > > >> https://issues.apache.org/jira/browse/KAFKA-14094 originally
> >> > contained
> >> > > all
> >> > > >> the work needed for the KIP. After a while, the KIP drivers (Jose
> >> and
> >> > > >> Colin) agreed to split the tasks in 2 groups, the tasks now
> present
> >> > > under
> >> > > >> KAFKA-14094 and the newly created
> >> > > >> https://issues.apache.org/jira/browse/KAFKA-17241.
> >> > > >> I'm open to suggestions on how we can clarify this better,
> without
> >> > being
> >> > > >> too prescriptive and then finding that developers can't relate to
> >> it.
> >> > > >>
> >> > > >> - Feedback for partial releases
> >> > > >> This is a very good point. This KIP mostly equates features to
> KIPs,
> >> > > which
> >> > > >> at some high level of abstraction probably holds true. But you
> are
> >> > > >> definitely right, bigger KIPs that define a new capability
> contain
> >> > > >> different features. These graduation steps could apply to any of
> the
> >> > > >> sub-features of a KIP.
> >> > > >> The bigger and more complex these KIPs are, the more we might
> want
> >> to
> >> > > >> logically break them down in the KIP itself. Maybe these KIPs
> are in
> >> > the
> >> > > >> end sub-KIPs in a KIP, and could each of them follow the same
> >> > graduation
> >> > > >> steps defined here. Also if we think about release announcements,
> >> what
> >> > > did
> >> > > >> we say about these KIPs that only some parts were completed in a
> >> > > release?
> >> > > >> From the list you shared KIP-925: Rack aware task assignment in
> >> Kafka
> >> > > >> Streams
> >> > > >> <
> >> > >
> >> >
> >>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-925%3A+Rack+aware+task+assignment+in+Kafka+Streams
> >> > > >
> >> > > >> seems to be partially released in 3.6 and then fully released in
> >> 3.7.
> >> > > >> However, I can't find any trace of KIP-925 in the Kafka 3.6 blog
> >> > > >> announcement. Would it reflect the reality to say that KIP-925
> had
> >> > > >> different "behaviours" that needed to be implemented and some
> made
> >> it
> >> > > >> completely (level 4) on to Kafka 3.6, while the last one made it
> >> (also
> >> > > >> level 4) only in Kafka 3.7?
> >> > > >> We could potentially state that KIPs that contain multiple
> features
> >> > > should
> >> > > >> state those clearly, and the graduation steps would apply to
> these
> >> > > instead
> >> > > >> of the KIP itself.
> >> > > >>
> >> > > >> - Feedback for KIPs that are never completed
> >> > > >> I guess this depends on each particular case but I would like
> for us
> >> > to
> >> > > >> reflect on the situation itself. I think this is something we
> should
> >> > > >> address regardless of this KIP in question. If the features are
> >> deemed
> >> > > >> important for the KIP, we should keep the KIP "open" until this
> is
> >> > done.
> >> > > >> If we would agree that big KIPs can list a collection of features
> >> and
> >> > > those
> >> > > >> are the ones graduating, would then this solve this problem? A
> KIP
> >> > will
> >> > > >> have some of the features marked at level 4 while others would
> be at
> >> > > level
> >> > > >> 1 (or no level depending on outcome of prior point).
> >> > > >>
> >> > > >> - Feedback for when to reach new levels
> >> > > >> I initially thought the same, level changes can only be
> triggered in
> >> > > minors
> >> > > >> and majors. However, I was thinking that if everything needed for
> >> the
> >> > > >> feature itself could be done in patch releases why couldn't the
> >> > > graduation
> >> > > >> step change in patch releases as well.
> >> > > >> For example, let's imagine a fictitious KIP that is on level 3.
> All
> >> > > public
> >> > > >> API changes have been completed already and their implementation
> is
> >> > > there.
> >> > > >> The KIP drivers wanted to seek validation in real scenarios
> that's
> >> why
> >> > > the
> >> > > >> feature is at level 3 and not 4. Let's keep imagining that they
> get
> >> > > >> multiple satisfactory reports from the community and a couple of
> >> > reports
> >> > > >> that indicate a performance degradation occurs under
> circumstance X.
> >> > > This
> >> > > >> is fixed and released in the next patch version. Should we be
> able
> >> to
> >> > > >> graduate this feature to level 4 in this patch version?
> >> > > >> To be honest if people have concerns about this, I'm fine by
> leaving
> >> > > this
> >> > > >> possibly corner case out and only allow graduation changes on
> major
> >> > and
> >> > > >> minors.
> >> > > >>
> >> > > >>
> >> > > >> Let me know what you think
> >> > > >>
> >> > > >> Best,
> >> > > >>
> >> > > >> [1]: https://www.sarvika.com/2021/06/17/mvp-mlp-mup/ contains
> some
> >> > > >> explanation and comparison of MVP vs MLP vs MUP.
> >> > > >>
> >> > > >> On Thu, Aug 22, 2024 at 7:07 AM Matthias J. Sax <
> mj...@apache.org>
> >> > > wrote:
> >> > > >>
> >> > > >>> Thanks Josep. Couple of comments/questions:
> >> > > >>>
> >> > > >>> For Level 1, the KIP says:
> >> > > >>>
> >> > > >>>> The feature is not yet stable and it is not meant to be used by
> >> end
> >> > > >>> users.
> >> > > >>>
> >> > > >>> This seems to be little bit confusing. If it's not meant to be
> used
> >> > by
> >> > > >>> anybody, should it not be feature flagged and disable/hidden
> from
> >> > users
> >> > > >>> completely?
> >> > > >>>
> >> > > >>> Of course, it should not be used in production, but isn't the
> goal
> >> > that
> >> > > >>> users do try it out and provide early feedback about the
> feature?
> >> > > >>> However, this is described on Level 2. So I am really not sure
> what
> >> > > >>> Level 1 is supposed to be, or why we would need it as an public
> >> > > >>> "contract". Later the KIP say
> >> > > >>>
> >> > > >>>> Implicitly when a KIP is approved and development starts, the
> >> > feature
> >> > > is
> >> > > >>> effectively in "Level 1"
> >> > > >>>
> >> > > >>> Which really means to me, we should drop this level from the
> >> "public
> >> > > >>> hierarchy", as it won't add much (any?) value?
> >> > > >>>
> >> > > >>> The propose name "In Development" indicates the same thing to
> me.
> >> In
> >> > > the
> >> > > >>> end it means, a release does just not contain anything about it
> >> (even
> >> > > if
> >> > > >>> there might be code that was merged), and the KIP should not be
> >> > > >>> mentioned in the release notes at all, and thus we don't need a
> >> name
> >> > as
> >> > > >>> the feature is not graduated into any (useful) level yet.
> >> > > >>>
> >> > > >>>
> >> > > >>> I also find the term "usable" very fuzzy. Can we add more color
> to
> >> > it?
> >> > > >>>
> >> > > >>>
> >> > > >>> Another thought: we did have cases for KS for which a KIP was
> only
> >> > > >>> partially implemented in a release, but the completed parts
> where
> >> > fully
> >> > > >>> functional, and thus in stage 4. How do we intent to handle this
> >> > going
> >> > > >>> forward? I would find it rather odd to only release something as
> >> > stage
> >> > > 2
> >> > > >>> just to follow the process... (as a matter of fact, we still
> have
> >> > some
> >> > > >>> KIPs which never got fully completed but are pending completion
> for
> >> > > >>> years now, and might frankly never get completed)
> >> > > >>>
> >> > > >>> Cf
> >> > > >>>
> >> > > >>>
> >> > >
> >> >
> >>
> https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Streams+KIP+Overview
> >> > > >>> for examples
> >> > > >>>
> >> > > >>>
> >> > > >>>
> >> > > >>>> A feature can be promoted to a "higher" level at any release
> >> > > (including
> >> > > >>> patch releases)
> >> > > >>>
> >> > > >>> Not sure if this makes sense? To me, a new level can only be
> >> reached
> >> > in
> >> > > >>> a major or minor release?
> >> > > >>>
> >> > > >>>
> >> > > >>>
> >> > > >>>
> >> > > >>> -Matthias
> >> > > >>>
> >> > > >>> On 8/20/24 6:21 AM, Josep Prat wrote:
> >> > > >>>> Hi all,
> >> > > >>>>
> >> > > >>>> I added a new section in the KIP to specify how to change the
> >> > > graduation
> >> > > >>>> levels for a feature.
> >> > > >>>>
> >> > > >>>> Best!
> >> > > >>>>
> >> > > >>>> On Mon, Aug 19, 2024 at 4:01 PM Josep Prat <
> josep.p...@aiven.io>
> >> > > wrote:
> >> > > >>>>
> >> > > >>>>> Hi TengYao and Chia-Ping,
> >> > > >>>>>
> >> > > >>>>> I updated the KIP page with examples.
> >> > > >>>>>
> >> > > >>>>> Best,
> >> > > >>>>>
> >> > > >>>>> On Mon, Aug 19, 2024 at 2:39 PM TengYao Chi <
> kiting...@gmail.com
> >> >
> >> > > >>> wrote:
> >> > > >>>>>
> >> > > >>>>>> Hi Josep
> >> > > >>>>>>
> >> > > >>>>>> Thanks for the explanation. I see your point.
> >> > > >>>>>> It makes sense to keep these levels distinct for larger
> >> > initiatives
> >> > > >>> like
> >> > > >>>>>> KIP-853. I agree with your perspective.
> >> > > >>>>>>
> >> > > >>>>>> Best regards,
> >> > > >>>>>> TengYao
> >> > > >>>>>>
> >> > > >>>>>> Josep Prat <josep.p...@aiven.io.invalid> 於 2024年8月19日 週一
> >> > 下午6:36寫道:
> >> > > >>>>>>
> >> > > >>>>>>> Hi TengYao,
> >> > > >>>>>>>
> >> > > >>>>>>> I get your point. I think smaller features definitely go too
> >> > > quickly
> >> > > >>>>>>> through stages to even acknowledge the change.
> >> > > >>>>>>> However, I would still think it's necessary to have these 2
> >> > levels
> >> > > >>>>>>> separated when it comes to bigger feature initiatives. The
> >> > biggest
> >> > > use
> >> > > >>>>>> case
> >> > > >>>>>>> I see right now is to signal to the release manager (and the
> >> > > >>> community)
> >> > > >>>>>> if
> >> > > >>>>>>> a feature is usable or not yet usable. I believe the fact to
> >> > become
> >> > > >>>>>> usable
> >> > > >>>>>>> for a feature is a big enough step to gain its own entity.
> >> > > >>>>>>>
> >> > > >>>>>>>
> >> > > >>>>>>> Let's take KIP-853 as an example. This KIP was approved and
> >> > > initially
> >> > > >>>>>> added
> >> > > >>>>>>> to the release plan for Kafka 3.8. At this point the feature
> >> > would
> >> > > be
> >> > > >>> in
> >> > > >>>>>>> Level 1. By the time of the feature freeze the feature was
> >> still
> >> > on
> >> > > >>>>>> Level
> >> > > >>>>>>> 1, so the release manager (who happened to be me) knew that
> the
> >> > KIP
> >> > > >>>>>> would
> >> > > >>>>>>> not make it in this release and would need to be postponed
> to a
> >> > > future
> >> > > >>>>>>> release. After that, development on this feature continued
> and
> >> it
> >> > > was
> >> > > >>>>>>> declared to enter level 2 right in time for being in Kafka
> 3.9.
> >> > > >>>>>>>
> >> > > >>>>>>> Let me know what you think.
> >> > > >>>>>>>
> >> > > >>>>>>> Best,
> >> > > >>>>>>>
> >> > > >>>>>>> On Mon, Aug 19, 2024 at 8:51 AM TengYao Chi <
> >> kiting...@gmail.com
> >> > >
> >> > > >>>>>> wrote:
> >> > > >>>>>>>
> >> > > >>>>>>>> Hello Josep,
> >> > > >>>>>>>> I think this KIP is a great addition to the community that
> we
> >> > now
> >> > > >>>>>> have a
> >> > > >>>>>>>> crystal-clear definition for the state of a feature.
> >> > > >>>>>>>>
> >> > > >>>>>>>> In the current proposal, I think Level 1 is defined as the
> >> stage
> >> > > >>>>>> where a
> >> > > >>>>>>>> feature is "incomplete and unusable", while Level 2
> >> represents a
> >> > > >>>>>> feature
> >> > > >>>>>>>> that is "usable but potentially incomplete".
> >> > > >>>>>>>> The distinction between these two levels mig
> <https://www.google.com/maps/search/on+between+these+two+levels+mig?entry=gmail&source=g>ht
> not always be
> >> > > clear,
> >> > > >>>>>>>> especially during the transition of a feature from
> "unusable"
> >> to
> >> > > >>>>>> "usable
> >> > > >>>>>>>> but incomplete".
> >> > > >>>>>>>>
> >> > > >>>>>>>> IMHO, to simplify the process and reduce confusion for both
> >> > > >>> developers
> >> > > >>>>>>> and
> >> > > >>>>>>>> users, I would suggest merging Level 1 and Level 2 into a
> >> single
> >> > > >>>>>> unified
> >> > > >>>>>>>> level.
> >> > > >>>>>>>> This merged level could cover the entire phase from when a
> >> > > feature is
> >> > > >>>>>>>> unstable to when it becomes usable but incomplete.
> >> > > >>>>>>>>
> >> > > >>>>>>>> WYDT?
> >> > > >>>>>>>>
> >> > > >>>>>>>> Best regards,
> >> > > >>>>>>>> TengYao
> >> > > >>>>>>>>
> >> > > >>>>>>>> Josep Prat <josep.p...@aiven.io.invalid> 於 2024年8月19日 週一
> >> > > 上午2:58寫道:
> >> > > >>>>>>>>
> >> > > >>>>>>>>> Hi Chia-Ping,
> >> > > >>>>>>>>>
> >> > > >>>>>>>>> As far as I can tell, Tiered Storage is still at level 3.
> I
> >> > think
> >> > > >>>>>> the
> >> > > >>>>>>>>> intention would be to declare it level 4 in 4.0.0.
> >> > > >>>>>>>>> KIP-848 was in level 2 in Kafka 3.7. and it went level 3
> in
> >> > Kafka
> >> > > >>>>>> 3.8.
> >> > > >>>>>>>>> Level 4 features would be for example MirrorMaker2 for
> >> example.
> >> > > As
> >> > > >>>>>> far
> >> > > >>>>>>>> as I
> >> > > >>>>>>>>> understand the Docker image is level 4.
> >> > > >>>>>>>>>
> >> > > >>>>>>>>> Does that make sense? If so I can update the KIP with
> those
> >> > > >>>>>> examples.
> >> > > >>>>>>>>>
> >> > > >>>>>>>>> Best,
> >> > > >>>>>>>>>
> >> > > >>>>>>>>> ------------------
> >> > > >>>>>>>>> Josep Prat
> >> > > >>>>>>>>> Open Source Engineering Director, Aiven
> >> > > >>>>>>>>> josep.p...@aiven.io   |   +491715557497 | aiven.io
> >> > > >>>>>>>>> Aiven Deutschland GmbH
> >> > > >>>>>>>>> Alexanderufer 3-7, 10117 Berlin
> >> > > >>>>>>>>> Geschäftsführer: Oskari Saarenmaa, Hannu Valtonen,
> >> > > >>>>>>>>> Anna Richardson, Kenneth Chen
> >> > > >>>>>>>>> Amtsgericht Charlottenburg, HRB 209739 B
> >> > > >>>>>>>>>
> >> > > >>>>>>>>> On Sun, Aug 18, 2024, 21:46 Chia-Ping Tsai <
> >> chia7...@gmail.com
> >> > >
> >> > > >>>>>> wrote:
> >> > > >>>>>>>>>
> >> > > >>>>>>>>>> hi Josep
> >> > > >>>>>>>>>>
> >> > > >>>>>>>>>> Although I didn't join the discussion before, the KIP is
> >> > > >>>>>> interesting
> >> > > >>>>>>>> and
> >> > > >>>>>>>>>> great to me.
> >> > > >>>>>>>>>>
> >> > > >>>>>>>>>> one small comment:
> >> > > >>>>>>>>>>
> >> > > >>>>>>>>>> Could you please add existent features as an example to
> each
> >> > > level
> >> > > >>>>>>> for
> >> > > >>>>>>>>> the
> >> > > >>>>>>>>>> readers who have poor reading (like me) ? For instance, I
> >> > guess
> >> > > >>>>>> the
> >> > > >>>>>>> new
> >> > > >>>>>>>>>> coordinator is level 3? tiered storage is level 4?
> >> > > >>>>>>>>>>
> >> > > >>>>>>>>>> Best,
> >> > > >>>>>>>>>> Chia-Ping
> >> > > >>>>>>>>>>
> >> > > >>>>>>>>>>
> >> > > >>>>>>>>>>
> >> > > >>>>>>>>>> Josep Prat <josep.p...@aiven.io.invalid> 於 2024年8月19日 週一
> >> > > >>>>>> 上午2:13寫道:
> >> > > >>>>>>>>>>
> >> > > >>>>>>>>>>> Hi all,
> >> > > >>>>>>>>>>> I want to start a discussion for KIP-1081: Graduation
> Steps
> >> > for
> >> > > >>>>>>>>> Features.
> >> > > >>>>>>>>>>>
> >> > > >>>>>>>>>>>
> >> > > >>>>>>>>>>
> >> > > >>>>>>>>>
> >> > > >>>>>>>>
> >> > > >>>>>>>
> >> > > >>>>>>
> >> > > >>>
> >> > >
> >> >
> >>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-1081%3A+Graduation+Steps+for+Features
> >> > > >>>>>>>>>>>
> >> > > >>>>>>>>>>> We already had a bit of a discussion here
> >> > > >>>>>>>>>>>
> >> > > >>>>>>
> >> https://lists.apache.org/thread/5z6rxvs9m0bro5ssmtg8qcgdk40882bz
> >> > > >>>>>>> and
> >> > > >>>>>>>>>> that
> >> > > >>>>>>>>>>> materialized into this KIP.
> >> > > >>>>>>>>>>>
> >> > > >>>>>>>>>>> I deliberately defined the graduation steps without
> giving
> >> > them
> >> > > >>>>>> a
> >> > > >>>>>>>> name,
> >> > > >>>>>>>>>> so
> >> > > >>>>>>>>>>> we don't go bike-shedding there. There is a separate
> >> section
> >> > > for
> >> > > >>>>>>> the
> >> > > >>>>>>>>>> names
> >> > > >>>>>>>>>>> of each step. Also an alternative set of names. I'd
> like to
> >> > get
> >> > > >>>>>>> some
> >> > > >>>>>>>>>>> feedback on the steps, and also on the names for the
> steps.
> >> > > >>>>>>>>>>>
> >> > > >>>>>>>>>>> Looking forward to your opinions, and hopefully only a
> tiny
> >> > bit
> >> > > >>>>>> of
> >> > > >>>>>>>>>>> bike-shedding :)
> >> > > >>>>>>>>>>>
> >> > > >>>>>>>>>>> Best,
> >> > > >>>>>>>>>>>
> >> > > >>>>>>>>>>> --
> >> > > >>>>>>>>>>> [image: Aiven] <https://www.aiven.io/>
> >> > > >>>>>>>>>>>
> >> > > >>>>>>>>>>> *Josep Prat*
> >> > > >>>>>>>>>>> Open Source Engineering Director, *Aiven*
> >> > > >>>>>>>>>>> josep.p...@aiven.io   |   +491715557497
> >> > > >>>>>>>>>>> aiven.io <https://www.aiven.io/>   |   <
> >> > > >>>>>>>>>> https://www.facebook.com/aivencloud
> >> > > >>>>>>>>>>>>
> >> > > >>>>>>>>>>>   <https://www.linkedin.com/company/aiven/>   <
> >> > > >>>>>>>>>>> https://twitter.com/aiven_io>
> >> > > >>>>>>>>>>> *Aiven Deutschland GmbH*
> >> > > >>>>>>>>>>> Alexanderufer 3-7, 10117 Berlin
> >> > > >>>>>>>>>>> Geschäftsführer: Oskari Saarenmaa, Hannu Valtonen,
> >> > > >>>>>>>>>>> Anna Richardson, Kenneth Chen
> >> > > >>>>>>>>>>> Amtsgericht Charlottenburg, HRB 209739 B
> >> > > >>>>>>>>>>>
> >> > > >>>>>>>>>>
> >> > > >>>>>>>>>
> >> > > >>>>>>>>
> >> > > >>>>>>>
> >> > > >>>>>>>
> >> > > >>>>>>> --
> >> > > >>>>>>> [image: Aiven] <https://www.aiven.io/>
> >> > > >>>>>>>
> >> > > >>>>>>> *Josep Prat*
> >> > > >>>>>>> Open Source Engineering Director, *Aiven*
> >> > > >>>>>>> josep.p...@aiven.io   |   +491715557497
> >> > > >>>>>>> aiven.io <https://www.aiven.io/>   |   <
> >> > > >>>>>> https://www.facebook.com/aivencloud
> >> > > >>>>>>>>
> >> > > >>>>>>>   <https://www.linkedin.com/company/aiven/>   <
> >> > > >>>>>>> https://twitter.com/aiven_io>
> >> > > >>>>>>> *Aiven Deutschland GmbH*
> >> > > >>>>>>> Alexanderufer 3-7, 10117 Berlin
> >> > > >>>>>>> Geschäftsführer: Oskari Saarenmaa, Hannu Valtonen,
> >> > > >>>>>>> Anna Richardson, Kenneth Chen
> >> > > >>>>>>> Amtsgericht Charlottenburg, HRB 209739 B
> >> > > >>>>>>>
> >> > > >>>>>>
> >> > > >>>>>
> >> > > >>>>>
> >> > > >>>>> --
> >> > > >>>>> [image: Aiven] <https://www.aiven.io/>
> >> > > >>>>>
> >> > > >>>>> *Josep Prat*
> >> > > >>>>> Open Source Engineering Director, *Aiven*
> >> > > >>>>> josep.p...@aiven.io   |   +491715557497
> >> > > >>>>> aiven.io <https://www.aiven.io/>   |
> >> > > >>>>> <https://www.facebook.com/aivencloud>
> >> > > >>>>> <https://www.linkedin.com/company/aiven/>   <
> >> > > >>> https://twitter.com/aiven_io>
> >> > > >>>>> *Aiven Deutschland GmbH*
> >> > > >>>>> Alexanderufer 3-7, 10117 Berlin
> >> > > >>>>> Geschäftsführer: Oskari Saarenmaa, Hannu Valtonen,
> >> > > >>>>> Anna Richardson, Kenneth Chen
> >> > > >>>>> Amtsgericht Charlottenburg, HRB 209739 B
> >> > > >>>>>
> >> > > >>>>
> >> > > >>>>
> >> > > >>>
> >> > > >>
> >> > > >>
> >> > > >> --
> >> > > >> [image: Aiven] <https://www.aiven.io/>
> >> > > >>
> >> > > >> *Josep Prat*
> >> > > >> Open Source Engineering Director, *Aiven*
> >> > > >> josep.p...@aiven.io   |   +491715557497
> >> > > >> aiven.io <https://www.aiven.io/>   |   <
> >> > > https://www.facebook.com/aivencloud>
> >> > > >>  <https://www.linkedin.com/company/aiven/>   <
> >> > > https://twitter.com/aiven_io>
> >> > > >> *Aiven Deutschland GmbH*
> >> > > >> Alexanderufer 3-7, 10117 Berlin
> >> > > >> Geschäftsführer: Oskari Saarenmaa, Hannu Valtonen,
> >> > > >> Anna Richardson, Kenneth Chen
> >> > > >> Amtsgericht Charlottenburg, HRB 209739 B
> >> > >
> >> >
> >> >
> >> > --
> >> > David Arthur
> >> >
> >>
> >>
> >> --
> >> [image: Aiven] <https://www.aiven.io>
> >>
> >> *Josep Prat*
> >> Open Source Engineering Director, *Aiven*
> >> josep.p...@aiven.io   |   +491715557497
> >> aiven.io <https://www.aiven.io>   |   <
> https://www.facebook.com/aivencloud
> >> >
> >>   <https://www.linkedin.com/company/aiven/>   <
> >> https://twitter.com/aiven_io>
> >> *Aiven Deutschland GmbH*
> >> Alexanderufer 3-7, 10117 Berlin
> >> Geschäftsführer: Oskari Saarenmaa, Hannu Valtonen,
> >> Anna Richardson, Kenneth Chen
> >> Amtsgericht Charlottenburg, HRB 209739 B
> >>
>

Reply via email to