Any reason we can't "documentation deprecate" things in minor releases?  No runtime warnings and keep building by default but if we deprecate a module in master right now it seems like the next minor release of all active branches should document the status of the module.  The fact that a module will still be supported on 16.14.0 doesn't stop us from telling users what will happen.

On 10/1/20 12:25 PM, Joshua C. Colp wrote:
On Thu, Oct 1, 2020 at 1:15 PM Dan Jenkins <d...@nimblea.pe <mailto:d...@nimblea.pe>> wrote:

    Firstly, thank you Josh for trying to outline the process so that
    it's something that can be followed and while I agree mostly with
    the steps... the fact that its going to take 4 years for a module
    to be moved from "deprecated" to being removed just feels too long
    but understandable if we're talking about "this module has GONE
    from the source code"....

    I'm not really sure if my thought process here is tainted by the
    chan_sip process that seems to have gone on for an eternity already.

    I personally don't see a problem with deprecating a module in non
    LTS and removing it from being default enabled in the LTS - the
    code is still there, and can still be enabled and packagers could
    still enable it. I don't know what choices packagers make as to
    what gets built and what doesn't as I don't use packages - each
    install f Asterisk has different needs and so I always end up
    building from source. And then we could remove it in the next
    standard release cutting the time by half.

    Would the above be ok if there was a "simple" way to say bring in
    external modules at build time? IE movethe deprecated module to a
    separate repo, and have the option to be able to bring it in
    dynamically during build "at your own risk" - just like what
    happens with pjproject, codecs etc....

    Or is that not really achieving the goal because there would still
    need to be some sort of maintenance for these deprecated modules.....


That still incurs the maintenance burden in the first place. Even with an "at your own risk" perspective if you make it an easy ability to bring it in people will still have an expectation that it work, and when it doesn't then you need to deal with it in some way.


    I don't know... but essentially 4 years feels like forever and LTS
    and Standard releases exist for a reason - I don't see why we need
    two LTS releases before somethings removed.


The reason I opted for the way I did is that a portion of the user base don't run standard releases. They keep on LTS, so if you only do something in a standard release then they'll miss it. With my proposal standard release acts as an initial gauge of things before being released to the wider community. While I can understand the appeal of wanting to remove things as quickly as possible, it's not something I want to force as quick as possible upon the user base. It's a delicate balance to have so as to not drive people away, to give them time to transition and move, and to plan.

--
Joshua C. Colp
Asterisk Technical Lead
Sangoma Technologies
Check us out at www.sangoma.com <http://www.sangoma.com> and www.asterisk.org <http://www.asterisk.org>

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to