> maybe we should instead try to pull back just a bit on what we promise 
> concerning backcompat.

Yes. Full agreement.


On Fri, Jan 27, 2023 at 8:20 PM Daniel Standish
<daniel.stand...@astronomer.io.invalid> wrote:
>
> Thinking about this some more.
>
> As an airflow developer, a lot of our backcompat concerns (which takes up a 
> substantial portion of our energy), is about the concern that we might break 
> something for someone who has extended either built-in classes or provider 
> classes.  Maybe we are to permissive in this way.  Following the example with 
> executors, maybe we should instead try to pull back just a bit on what we 
> promise concerning backcompat.
>
> Take for example secrets backend.  Perhaps what should be public is 
> BaseSecretsBackend -- the interface -- and not any of the implementations we 
> offer such as the AWS SecretsManagerBackend.  And again, BaseSecretsBackend 
> is the interface, and its methods, when public, are part of the public 
> interface, and subject to semver.  However, instance, such as secrets 
> manager, are subject to semver with regard to their user-facing behavior, but 
> not with regard to their internal structure, which is implementation detail.  
> In other words, AWS SecretsManagerBackend is provided as an end product, not 
> as a library to be inhereted, and is not itself another public interface.  
> And of course users are free to extend this code, but we simply make no 
> promises with recard to backcompat for these implementations.
>
> And the same could be true of most of our provider operators -- they are end 
> products, and their user-facing behavior is subject to semver, but the 
> specific code and implementation details are not subject to semver and its 
> assumed that if you extend them then you do so with the knowledge that you 
> have to either vendor in the operator code or just test before ugprades and 
> make changes accordingly etc.
>
> WDYT?

Reply via email to