Hi Matthias,

Thanks for your input and for pointing that out.

It at least is missing from this wiki page, and so is a link to the KIP
template:
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=50859233#KafkaImprovementProposals-WhatshouldbeincludedinaKIP
?

Perhaps there should be a bullet point added there and/or the link to the
template?

BR,
Anton

Den lör 2 nov. 2024 03:11Matthias J. Sax <mj...@apache.org> skrev:

> The KIP already has a section "Documentation Plan"
>
>
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=50859709#KIPTemplate-DocumentationPlan
>
> If it's not used properly, committers reviewing (and voting) KIPs must
> be reminded to pay more attention and emphasis on good documentation,
> and also make sure the PRs contains corresponding doc updates...
>
> Overall, I agree and support to pay attention to good docs. I just don't
> see that we need to change anything in the "official process" -- we just
> need to change our behavior and stick to the exiting process?
>
>
> -Matthias
>
> On 11/1/24 2:50 PM, Colin McCabe wrote:
> > On Fri, Nov 1, 2024, at 07:08, Claude Warren, Jr wrote:
> >> I like this idea.  I'm not sure what the section should be called but It
> >> should spell out what changes from a customer (I don't like the term
> user,
> >> drug dealers have users -- we should have customers) point of view and
> from
> >> a developer point of view.
> >
> > Hi Claude,
> >
> > Sorry to nitpick, but I think "user" really is the correct term. Apache
> Kafka is an open source project. We do not have "customers" because we're
> not a business. Indeed, users should feel free to contribute to Kafka and
> not view it as a vendor / customer relationship.
> >
> > Of course, if you want a vendor / customer relationship, there are lots
> of companies in the ecosystem that can provide that. But the open source
> project should be a collaboration. I think most of us wear both "user" and
> "developer" hats, and that's a good thing.
> >
> >>
> >> I can see cases where the change is not visible to the customer but
> impacts
> >> how developers interact with the system.  I can also see cases where the
> >> change is almost 100% customer focused with little change to the
> developers
> >> perception.
> >>
> >> Whatever changes are noted in the section should be accounted for in
> the PR
> >> before it is accepted.  Keeping in mind that as the change evolves
> through
> >> testing to documentation requirements may change too.
> >>
> >> I think we need more focus on documenting how to use and configure
> kafka in
> >> various environments, but I also perceive that we do not have the
> people to
> >> do that, so let's at least collect the information in some reasonable
> form.
> >>
> >
> > Many changes involve multiple PRs. I think documentation is no different
> than any other aspect of a feature or change. It can be done incrementally
> if necessary. Hopefully having the section in the KIP would help remind us
> to do it, though! And motivate discussion about what kind of documentation
> would be best.
> >
> > best,
> > Colin
> >
> >> Claude
> >>
> >> On Thu, Oct 31, 2024 at 12:21 PM Anton Agestam
> >> <anton.ages...@aiven.io.invalid> wrote:
> >>
> >>> Thanks for your response here Colin,
> >>>
> >>>   > Perhaps there should be a "documentation" section in the KIP
> template?
> >>>
> >>> I think that would do the trick. The nice idea behind formulating the
> >>> section as "How to teach this?", is that it leaves it to the KIP
> author how
> >>> to answer it. In most cases I would expect the section to be filled in
> like
> >>> "We will update documentation section X and Y", but there might be
> cases
> >>> where the answer is different (. I'm not going to die on this hill, and
> >>> would be very happy with an added "Documentation" section if that
> option
> >>> has more traction 👍
> >>>
> >>>> the KIPs themselves are part of the documentation
> >>>
> >>> I understand this is how things currently work for many parts of Kafka
> >>> documentation, but it's an idea I want to question and I am proposing
> to
> >>> work to phase this out over time. KIPs are by definition documenting a
> >>> proposed change. It is necessary to make assumptions about the current
> >>> state of the Kafka code base at the time of writing, and those
> assumptions
> >>> do not necessarily hold true at any arbitrary time later, when the KIP
> is
> >>> being read. And I think this is what you are saying too, that for
> instance
> >>> an implemented KIP that touches the protocol should also result in
> changes
> >>> to the documentation.
> >>>
> >>> tl;dr; It's useful to also be able to read KIPs in hind-sight, but it
> >>> shouldn't be required to do in-brain materialization of a series of
> KIPs to
> >>> understand what the expected state of some feature currently is.
> >>>
> >>> What I am hoping with the proposed change to the KIP template is that
> there
> >>> will be less chance for documentation to be an after-thought for new
> >>> changes, and also for documentation changes to be scrutinized and
> reviewed
> >>> during the KIP process, and that this will produce higher quality
> >>> documentation over time.
> >>>
> >>> I'm curious if there are more opinions about this issue.
> >>>
> >>> BR,
> >>> Anton
> >>>
> >>> Den tis 29 okt. 2024 kl 20:50 skrev Colin McCabe <cmcc...@apache.org>:
> >>>
> >>>> Hi Anton,
> >>>>
> >>>> Perhaps there should be a "documentation" section in the KIP template?
> >>>> That might help raise awareness of the need to document these changes.
> >>>>
> >>>> I want to add, in the case of the wire protocol, the KIPs themselves
> are
> >>>> part of the documentation. But they shouldn't be all of the
> >>> documentation.
> >>>> We should update protocol.html and possibly other docs in cases where
> >>> we're
> >>>> changing the protocol. I don't think it necessary needs to be done
> before
> >>>> the change itself, but it should be done so that the release that
> >>> includes
> >>>> the protocol changes also includes their docs...
> >>>>
> >>>> best,
> >>>> Colin
> >>>>
> >>>>
> >>>> On Sat, Oct 26, 2024, at 10:53, Anton Agestam wrote:
> >>>>> Hello Kafka devs 👋
> >>>>>
> >>>>> Colin encouraged me in the 3.9.0 RC2 thread to contribute ideas
> around
> >>>> how
> >>>>> the protocol documentation can be improved. While I have concrete
> ideas
> >>>> on
> >>>>> this, the current biggest issue as I see it is that new changes are
> not
> >>>>> making it into documentation, and there seems to be a bit of a
> general
> >>>> lack
> >>>>> of process with regards to this issue.
> >>>>>
> >>>>> KIP-893 was a very poignant example of this. It introduces a new
> >>> concept
> >>>> in
> >>>>> the protocol's byte serialization format, none of which made it into
> >>>>> documentation. This was extremely subtle and very time consuming to
> >>> debug
> >>>>> for me as an author of a third-party protocol implementation in
> Python
> >>>>> that must remain compatible with Apache Kafka. Based on the view of
> the
> >>>>> existing documentation, this flat out looked like a bug.
> >>>>>
> >>>>> The Python ecosystem solves this issue by requiring PEPs to have a
> "How
> >>>> to
> >>>>> teach this section", forcing documentation to not be an
> afterthought. I
> >>>> am
> >>>>> proposing to introduce the exact same concept for KIPs. I believe
> this
> >>>> will
> >>>>> be useful for all KIPs, not just those of the sort mentioned above.
> >>>>>
> >>>>> For changes to the protocol, I will also suggest that it should be
> >>>> required
> >>>>> for specification to be updated _before_ implementation changes are
> >>>> merged,
> >>>>> but this should perhaps be a separate discussion.
> >>>>>
> >>>>> Forcing us to include a plan for documentation in all future KIPs is
> >>>> also a
> >>>>> solid strategy to incrementally improve documentation over time.
> >>> Kafka's
> >>>>> docs are lacking also in other regards not related to the protocol.
> The
> >>>>> proposed change will make sure we have a net positive development
> over
> >>>>> time, towards a greater state of Kafka docs.
> >>>>>
> >>>>> Without first ensuring that there is a mechanism like this that makes
> >>>> sure
> >>>>> documentation does not rot over time, it doesn't seem like the best
> >>>>> investment of time to improve documentation of the current state. For
> >>> the
> >>>>> continued success of Kafka this is highly important because it is
> what
> >>>>> enables a thriving ecosystem.
> >>>>>
> >>>>> - Have there been something similar discussed previously?
> >>>>> - What do you all think of this proposal?
> >>>>>
> >>>>> BR,
> >>>>> Anton
> >>>>>
> >>>>> --
> >>>>> [image: Aiven] <https://www.aiven.io/>
> >>>>> *Anton Agestam* (he/him or they/them)
> >>>>> Software Engineer, *Aiven*
> >>>>> anton.ages...@aiven.io   |   +46 704 486 289
> >>>>> aiven.io <https://www.aiven.io/>   |
> >>>>> <https://www.facebook.com/aivencloud>
> >>>>> <https://www.linkedin.com/company/aiven/>    <
> >>>> https://twitter.com/aiven_io>
> >>>>
> >>>
>

Reply via email to