> I don’t think it has to be all that complicated?
Definitely not. We've just never documented it afaict.

On Tue, Jun 28, 2022, at 2:58 PM, Benedict wrote:
> 
> I don’t think it has to be all that complicated?
> 
> If it’s a part of our UX it’s probably something we should maintain backwards 
> compatibility for.
> 
> If it’s part of our internal codebase, probably not. The only two “public” 
> APIs we have inside the codebase that I’m aware of are triggers and secondary 
> indexes, and these are provided with limited warranty and an expectation of 
> technical sophistication for their users. I think there has always been an 
> expectation that users of these features will bear the cost of migration to 
> any new API versions we might introduce between majors.
> 
> 
>> On 28 Jun 2022, at 19:39, Josh McKenzie <jmcken...@apache.org> wrote:
>> 
>>> I think it is good to document further things and keep on doing it in time 
>>> when discussions happen. I can see this being a benefit both for users and 
>>> Cassandra developers.
>> Strong +1 from me here. Having guidance for people working on the codebase 
>> to understand what is and isn't considered a public API will help inform how 
>> we shape these things and keep things stable for our userbase.
>> 
>> On Sun, Jun 26, 2022, at 12:58 PM, Ekaterina Dimitrova wrote:
>>> “+1 to always, by default, maintaining compatibility.”
>>>  +1
>>> 
>>> “We also have the discussion wrt what are breaking changes. Are we 
>>> intending to evolve what interfaces and behaviour we provide, and to what 
>>> degree, compatibility over via these discussions/votes?”
>>> 
>>> While I do agree we cannot really have a fully exhaustive list, I think it 
>>> is good to document further things and keep on doing it in time when 
>>> discussions happen. I can see this being a benefit both for users and 
>>> Cassandra developers.
>>> 
>>> 
>>> On Thu, 16 Jun 2022 at 18:25, Mick Semb Wever <m...@apache.org> wrote:
>>>> 
>>>> 
>>>>> We've agreed in the past that we want to maintain compatibility and that 
>>>>> all changes will be done with compatibility in mind (see 
>>>>> https://cwiki.apache.org/confluence/display/CASSANDRA/Release+Lifecycle), 
>>>>> but we haven't clarified how we make the call on when to bump to next 
>>>>> major. 
>>>> 
>>>> 
>>>> +1 to always, by default, maintaining compatibility.
>>>> 
>>>> Note, a major bump isn't only about compatibility breakages per se, but a) 
>>>> time to clean up deprecated code, and b) delineating upgrade paths. 
>>>>  
>>>>> The Release Lifecycle states "Introducing a backward incompatibility 
>>>>> change needs dev community approval via voting [voting open for 48 
>>>>> hours]." But this is under a section called "Outstanding questions beyond 
>>>>> the scope of this document", maybe it's about time we finalize this and 
>>>>> update this document?
>>>> 
>>>> 
>>>> IIRC, though i can easily be wrong, this was meant for breaking changes 
>>>> within a major, e.g. after a beta release. Not that the same formality 
>>>> cannot also be applied to trunk dev, as it ensures a desired visibility, 
>>>> though I wonder if we will solve it in practice most of the time with the 
>>>> preceding [DISCUSS] thread.
>>>> 
>>>> We also have the discussion wrt what are breaking changes. Are we 
>>>> intending to evolve what interfaces and behaviour we provide, and to what 
>>>> degree, compatibility over via these discussions/votes?
>> 

Reply via email to