That page does not look great, but the link “Documentation” in the middle
of it takes you to the actual page on contributing
https://cassandra.apache.org/_/development/documentation.html

On May 1, 2025 at 4:19:15 PM, Jon Haddad <j...@rustyrazorblade.com> wrote:

> Oh, well then, that’s perfect. I looked at our contributing to the docs
> page and found it empty:
>
> https://cassandra.apache.org/_/docdev/index.html
>
> Will merge in my UCS changes tomorrow.
>
> Jon
>
> On Thu, May 1, 2025 at 1:41 PM Brandon Williams <dri...@gmail.com> wrote:
>
>> The governanceays "Correcting typos, docs, website, and comments etc
>> operate a “Commit Then Review
>> <https://www.apache.org/foundation/glossary.html#CommitThenReview>”
>> policy"
>>
>> Kind Regards,
>> Brandon
>>
>>
>> On Thu, May 1, 2025 at 3:21 PM Jon Haddad <j...@rustyrazorblade.com>
>> wrote:
>>
>>> I propose we encourage committers commit docs without review or a JIRA.
>>>
>>>
>>> On Thu, May 1, 2025 at 8:06 AM Jon Haddad <j...@rustyrazorblade.com>
>>> wrote:
>>>
>>>> Stefan,
>>>>
>>>> Any feature developed for Cassandra is a collaborative effort.  The
>>>> public branches of accord have been available for months.  Have you
>>>> contributed to the accord docs?  You've had plenty of opportunity.
>>>>
>>>> It looks like you're turning your own thread into an airing of
>>>> grievances.  It's not particularly constructive.  You can be right (we need
>>>> more docs) without being hostile.
>>>>
>>>> Jon
>>>>
>>>>
>>>>
>>>>
>>>> On Thu, May 1, 2025 at 7:49 AM Miklosovic, Stefan via dev <
>>>> dev@cassandra.apache.org> wrote:
>>>>
>>>>> Yeah, no surprise, I was thinking the dicussion will go this
>>>>> direction. I am not completely sure who we are developing this for then. I
>>>>> see the statements like this and I am pretty disappointed:
>>>>>
>>>>>
>>>>>
>>>>> "The project obviously aims to serve end users, but the developer
>>>>> community is the actual project and it is fine to serve that demographic
>>>>> first, or only. "
>>>>>
>>>>>
>>>>>
>>>>> What is the actual difference between working in a private fork and
>>>>> publishing the code publicly almost nobody understands?
>>>>>
>>>>>
>>>>> I get that people work for companies etc. but really, we should
>>>>> reflect quite hard on what we are doing here.
>>>>>
>>>>>
>>>>>
>>>>> Let's take Accord, for example. I can not see any justification for
>>>>> working on something for 3 years and not documenting how to use that
>>>>> when it really comes to it. Is Accord documentation for users on the
>>>>> way or not? Is the documentation for CEP-45 going to be done or not? How
>>>>> are operators outside of the authors of that change one can count on one
>>>>> hand (and working in one company) supposed to know how to use that?
>>>>> What is "open source" about that expect of that being online and publicly
>>>>> accessible?
>>>>>
>>>>>
>>>>>
>>>>> Over the last couple years Cassandra is getting more and more complex
>>>>> which might alienate even the developers working on it daily. People
>>>>> might get out of touch with all of the new features being rolled out
>>>>> and if this trend will continue without documenting it along the way I am
>>>>> very afraid that Cassandra becomes an exclusive self-serving club of elite
>>>>> programmers an average / begginner user has no way to catch up with,
>>>>> consultants will not know how to consult it and so on and so on. How is
>>>>> this good for anybody?
>>>>>
>>>>>
>>>>>
>>>>> What I am asking for is really not a rocket science and nothing
>>>>> "rigid". I am all open to lower the requirements.
>>>>>
>>>>>
>>>>>
>>>>> I am not asking for rephrasing whole CEP and present it to a user. I
>>>>> am asking for the description of the most common usages and scenarios with
>>>>> most important consequences and all configuration parameters.
>>>>>
>>>>>
>>>>>
>>>>> Let's take a look at CEP-37.
>>>>>
>>>>>
>>>>>
>>>>> *https://cassandra.apache.org/doc/trunk/cassandra/managing/operating/auto_repair.html
>>>>> <https://cassandra.apache.org/doc/trunk/cassandra/managing/operating/auto_repair.html>*
>>>>>
>>>>>
>>>>>
>>>>> This is just wonderful and it is an example how it should be done.
>>>>>
>>>>>
>>>>>
>>>>> Why can not be this done for other CEPs too? What was different for
>>>>> CEP-37 when docs were written together with the code but it can not
>>>>> be done similarly for other CEPs as well?
>>>>>
>>>>>
>>>>>
>>>>> Regards
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *From: *Benedict <bened...@apache.org>
>>>>> *Date: *Thursday, 1 May 2025 at 14:37
>>>>> *To: *dev@cassandra.apache.org <dev@cassandra.apache.org>
>>>>> *Cc: *Rolo, Carlos <carlos.r...@netapp.com>, Miklosovic, Stefan <
>>>>> stefan.mikloso...@netapp.com>, dev@cassandra.apache.org <
>>>>> dev@cassandra.apache.org>
>>>>> *Subject: *Re: [DISCUSS] Requirement to document features before
>>>>> releasing them
>>>>>
>>>>> *EXTERNAL EMAIL - USE CAUTION when clicking links or attachments *
>>>>>
>>>>>
>>>>>
>>>>> I am opposed to this. There’s too much imprecision in the “rule” while
>>>>> simultaneously being much too rigid, and it will be improperly enforced 
>>>>> (we
>>>>> already have lots of rule breaking around modifying public APIs, that
>>>>> should have discuss threads and do not, for instance). This kind of
>>>>> arbitrary rule that is unaligned with contributors will likely lead to a
>>>>> bad and inconsistent documentation, which is worse than no documentation.
>>>>>
>>>>>
>>>>>
>>>>> We could perhaps stipulate that for a feature to leave experimental
>>>>> status the community must vote and that documentation should be a
>>>>> consideration. But this will only capture big changes.
>>>>>
>>>>>
>>>>>
>>>>> We could perhaps try other ideas like moratoriums on contributions
>>>>> that are not documentation, to encourage improvements there.
>>>>>
>>>>>
>>>>>
>>>>> We could perhaps try having LLMs generate documentation that new
>>>>> contributors could take a first pass at editing for correctness, before a
>>>>> committer takes a final pass.
>>>>>
>>>>>
>>>>>
>>>>> At the end of the day though, we’re an OSS project and we do have
>>>>> features (big and small) designed, implemented and likely only used by the
>>>>> sole contributor of the feature. We also have features used primarily by
>>>>> active community members who understand it well enough. I don’t think this
>>>>> is a bug in the system. The project obviously aims to serve end users, but
>>>>> the developer community is the actual project and it is fine to serve that
>>>>> demographic first, or only.
>>>>>
>>>>>
>>>>>
>>>>> I agree we want to improve our documentation, but this is not the
>>>>> right way to go about it.
>>>>>
>>>>>
>>>>>
>>>>> On 1 May 2025, at 13:19, Miklosovic, Stefan via dev <
>>>>> dev@cassandra.apache.org> wrote:
>>>>>
>>>>> 
>>>>>
>>>>> I am not completely sure LLMs are the way to go here. Sure, to have 
>>>>> something
>>>>> to further refine ... why not. But to just generate something via LLM
>>>>> and commit that, that would be a no-no from me. These things can go
>>>>> hallucinate quite quickly, then what? Who is going to proof-read
>>>>> technical stuff like that? Fixing the hallucinations might take more time
>>>>> then just writing it from scratch.
>>>>>
>>>>>
>>>>>
>>>>> Anyway, I would really appreciate if we stayed on track and discussed
>>>>> the proposition mentioned in my first email - the end goal is to codify 
>>>>> the
>>>>> need to provide documentation together with the feature. If not provided
>>>>> together, it might be in a separate ticket which will be a blocker for the
>>>>> next release.
>>>>>
>>>>>
>>>>>
>>>>> I might initiate the voting thread for that ...
>>>>>
>>>>>
>>>>>
>>>>> Regards
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *From: *Rolo, Carlos <carlos.r...@netapp.com>
>>>>> *Date: *Thursday, 1 May 2025 at 12:30
>>>>> *To: *David Capwell <dcapw...@apple.com>, dev@cassandra.apache.org <
>>>>> dev@cassandra.apache.org>
>>>>> *Cc: *Miklosovic, Stefan <stefan.mikloso...@netapp.com>
>>>>> *Subject: *Re: [DISCUSS] Requirement to document features before
>>>>> releasing them
>>>>>
>>>>> I am bit out of the loop on how/if this would extend to driver
>>>>> sub-projects.
>>>>>
>>>>> Because this makes 100% sense, and in the driver space as well.
>>>>> Looking into Java driver docs and making others similar would be a great.
>>>>>
>>>>>
>>>>>
>>>>> Patrich that LLM suggestion might be a life saver, let me try that!
>>>>> ------------------------------
>>>>>
>>>>> *From:* Miklosovic, Stefan via dev <dev@cassandra.apache.org>
>>>>> *Sent:* 01 May 2025 08:07
>>>>> *To:* David Capwell <dcapw...@apple.com>; dev@cassandra.apache.org <
>>>>> dev@cassandra.apache.org>
>>>>> *Cc:* Miklosovic, Stefan <stefan.mikloso...@netapp.com>
>>>>> *Subject:* Re: [DISCUSS] Requirement to document features before
>>>>> releasing them
>>>>>
>>>>>
>>>>>
>>>>> *EXTERNAL EMAIL - USE CAUTION when clicking links or attachments *
>>>>>
>>>>>
>>>>>
>>>>> Denser is better. In your oversimplified example of Accord, as a user
>>>>> who encounters this for the first time, I am definitely interested in what
>>>>> the limitations are. What might happen quite easily is that if it is not
>>>>> dense and we just announce it sparsly, then a user takes it all at face
>>>>> value and if it starts to diverge from your proclamation then they might
>>>>> feel like they were lied to or they start to be disappointed. You got
>>>>> me? Users do not like surprises they are discovering themselves on the way
>>>>> of trying it out (and a lot of time painfully). They just want to know 
>>>>> what
>>>>> they are buying themselves into.
>>>>>
>>>>>
>>>>>
>>>>> If there are super-cornercase details, that might be omitted as we
>>>>> have other channels of the communication (Slack, mailing list ...) but in
>>>>> general I do not see how a lot of documentation would be bad.
>>>>>
>>>>>
>>>>>
>>>>> It also depends on who you are writing that documentation to. As said,
>>>>> we talk about user-facing docs here. A documentation for developers where
>>>>> we are trying to boostrap them / to make them oriented in the code base is
>>>>> going to be substantially different from a user-facing one.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *From: *David Capwell <dcapw...@apple.com>
>>>>> *Date: *Wednesday, 30 April 2025 at 23:35
>>>>> *To: *dev@cassandra.apache.org <dev@cassandra.apache.org>
>>>>> *Cc: *Miklosovic, Stefan <stefan.mikloso...@netapp.com>
>>>>> *Subject: *Re: [DISCUSS] Requirement to document features before
>>>>> releasing them
>>>>>
>>>>> *EXTERNAL EMAIL - USE CAUTION when clicking links or attachments *
>>>>>
>>>>>
>>>>>
>>>>> I wonder at what level can we enforce this.  What I mean, in modeling
>>>>> testing I have found some odd behaviors that people were not aware of
>>>>> (BATCH cell resolution, NULL handling (emptiness…..), etc.)… so if
>>>>> documentation is dense this can help force people to think through edge
>>>>> cases or how 2 features interact with each other…. If documentation is
>>>>> sparse, then you loose this benefit…
>>>>>
>>>>>
>>>>>
>>>>> Simple example for Accord
>>>>>
>>>>>
>>>>>
>>>>> # Sparse
>>>>>
>>>>>
>>>>>
>>>>> Multiple key transaction support, bringing Apache Cassandra cluster to
>>>>> the RDMS world!
>>>>>
>>>>>
>>>>>
>>>>> # Dense
>>>>>
>>>>>
>>>>>
>>>>> …
>>>>>
>>>>>
>>>>>
>>>>> Here are the current limitations, …
>>>>>
>>>>>
>>>>>
>>>>> Here is where we alter Apache Cassandra’s behavior to be more inline
>>>>> with SQL, ...
>>>>>
>>>>>
>>>>>
>>>>> On Apr 30, 2025, at 1:38 PM, Miklosovic, Stefan via dev <
>>>>> dev@cassandra.apache.org> wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> To extend the first e-mail to cover the practicalities:
>>>>>
>>>>>
>>>>>
>>>>>    1. changes introduced to nodetool would not be part of this
>>>>>    because they are self-documented (docs of help is autogenerated)
>>>>>    2. introduction of changes into cassandra.yaml is already covered
>>>>>    as that is what is autogenerated / on website also.
>>>>>    3. Applying common sense, if it is just enough to mention in
>>>>>    NEWS.txt, that is also fine.
>>>>>    4. metrics - I bet there are some which are not documented, we
>>>>>    should find a way how to autogenerate them into the website.
>>>>>
>>>>>
>>>>>
>>>>> I am also to blame and showing I am not a hypocrite, I have never
>>>>> delivered in-depth user documentation of CEP-24 with examples, use cases,
>>>>> and so on. I am trying to be more aware of the documentation when
>>>>> delivering features, to raise awareness about that etc. It is easy to not
>>>>> think about this too much when developers are in a rush and similar. If
>>>>> there was a hard requirement for the documentation, I would do it right
>>>>> away and I would not need to deal with this now.
>>>>>
>>>>>
>>>>>
>>>>> I understand that when delivering heavy-weights like CEP-15 we can not
>>>>> expect that all the docs will be done upon delivery but I want to stress
>>>>> the fact that providing usable documentation should be definitely 
>>>>> something
>>>>> to think about when releasing it. Same goes for all other non-trivial
>>>>> features.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *From: *Josh McKenzie <jmcken...@apache.org>
>>>>> *Date: *Wednesday, 30 April 2025 at 22:11
>>>>> *To: *dev <dev@cassandra.apache.org>
>>>>> *Cc: *Miklosovic, Stefan <stefan.mikloso...@netapp.com>
>>>>> *Subject: *Re: [DISCUSS] Requirement to document features before
>>>>> releasing them
>>>>>
>>>>> *EXTERNAL EMAIL - USE CAUTION when clicking links or attachments*
>>>>>
>>>>>
>>>>>
>>>>> This makes intuitive sense to me.
>>>>>
>>>>>
>>>>>
>>>>> In our case we could tie documentation to the process of promoting a
>>>>> feature from “experimental” to production ready, though I fear that might
>>>>> leave wiggle room for primary authors of some features to leave them as
>>>>> experimental forever, not desiring to take on the burden of documenting
>>>>> something that’s already merged in and usable by experts.
>>>>>
>>>>>
>>>>>
>>>>> Curious what others think.
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Apr 30, 2025, at 12:10 PM, Miklosovic, Stefan via dev wrote:
>>>>>
>>>>> I am on OpenSearchCon and there was a discussion about the
>>>>> documentation of features. In a nutshell, the policy they seem to have is
>>>>> that there are some minimal requirements for documentation in place for
>>>>> each feature introduced. That way, there is no way (or it is greatly
>>>>> minimised) that there would be a feature released or some user-facing
>>>>> change introduced without any documentation how to use it.
>>>>>
>>>>>
>>>>>
>>>>> Under the "documentation", in our case, I mean the docs which would
>>>>> end up in cassandra.apache.org
>>>>> <https://urldefense.com/v3/__http:/cassandra.apache.org__;!!Nhn8V6BzJA!Q2uU9Ab38CiJSRJuSPI9bIKJfTgR9yuneyK2LGgK4a4YNMwL2jD1yVsG018wQlMrMAgKI9CfFzOtXbLNjERRjfVMrw$>
>>>>>  docs.
>>>>>
>>>>>
>>>>>
>>>>> In their case, the documentation is either part of the change or there
>>>>> is a documentation issue (in GitHub terms) created which basically blocks
>>>>> the release when not addressed.
>>>>>
>>>>>
>>>>>
>>>>> When there is no documentation about a feature or improvement, knob
>>>>> to tweak etc, there is virtually nobody who knows about that except
>>>>> the person who committed the code / people who participated in a review. I
>>>>> think this is detrimental to the project. I do not see the point in
>>>>> releasing something undocumented when the only people who know what is
>>>>> going on are the ones who wrote it.
>>>>>
>>>>>
>>>>>
>>>>> If somebody argued that we have them in CHANGES.txt and NEWS.txt,
>>>>> neither ends up on the website and I do not think they are appropriate
>>>>> vehicles for user-facing documentation or for anything beyond few 
>>>>> sentences.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Could we introduce a policy which would require developers to
>>>>> introduce at least minimal user-facing documentation (if applicable) 
>>>>> before
>>>>> delivering it / before releasing it and it would be part of the reviews?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> For now, while we also add documentation, I feel it is "the
>>>>> best-effort" approach, it is not part of the official policy when
>>>>> delivering it.
>>>>>
>>>>>
>>>>>
>>>>> As of now, I can not see any information about documentation among
>>>>> "For Code Contributions" points:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> https://cwiki.apache.org/confluence/display/CASSANDRA/Cassandra+Project+Governance
>>>>> <https://urldefense.com/v3/__https:/cwiki.apache.org/confluence/display/CASSANDRA/Cassandra*Project*Governance__;Kys!!Nhn8V6BzJA!Q2uU9Ab38CiJSRJuSPI9bIKJfTgR9yuneyK2LGgK4a4YNMwL2jD1yVsG018wQlMrMAgKI9CfFzOtXbLNjETp4KSISQ$>
>>>>>
>>>>>
>>>>>
>>>>> I am looking for adding there a new point:
>>>>>
>>>>>
>>>>>
>>>>> Code must not be committed when user-facing functionality is not
>>>>> documented and visible without code inspection.
>>>>>
>>>>>
>>>>>
>>>>> Regards
>>>>>
>>>>>
>>>>>
>>>>>

Reply via email to