Problem upgrading to 9.18 - important feature being removed

Petr Špaček pspacek at isc.org
Fri Mar 1 08:29:03 UTC 2024


On 01. 03. 24 8:01, Ondřej Surý wrote:
>> On 26. 2. 2024, at 22:41, Al Whaley <awsiscorg at sunnyside.com> wrote:
>>
>> A lot of pain and suffering in this world comes from people being sure they have a 'better idea' and everybody needs to do whatever.  This feels a bit like that.  A command that gives choice and real certainty would be great.
> 
> Hi,
> 
> I wanted to address this comment. We (the developers) don't remove the features out of convenience or because we have 'better idea'. A maintainable software can't look like Katamari[1]. Yes, sometimes we have better ideas (without the quotes) and we implement them, because they make things simpler, better, more stable, faster, ... add your own. Sometimes we even break things. But ultimately, the developers working on BIND 9 are just a few people and it's absolutely reasonable to remove rarely used features - especially if there's a replacement either in or out of BIND 9. Giving a choice is great, but then **who** will carry the costs of giving the choice? Maintaining all kind of knobs and options does come with burden and that burden might ultimately lead to a situation where all the time and resources are spent on maintaining those old features, and there's not enough left to add new improvements.
> 
> For every decision we make, be it adding a new feature or removing an old feature, we do carefully consider the implications it has on the users, on the developers, and on the world as a whole. And it is kind of hurtful to imply that we do things just because "we know better" (paraphrasing).

I want to add a math exercise.

Assume:
- BIND config has 300 statements
- none are context-dependent
- all statements have only yes/no options
- all bugs are caused ONLY by combination two options
- all bugs are 100 % reproducible and do not depend on data (cache, 
zones, RPZ rules etc.)

Under these very simplistic assumptions we get roughly
300!/(300-2)! = 89 700
subsets of 2 statements.

For these, we get 89 700 * 4 = 358 800 possibly problematic boolean 
combinations.

Mere 358 800 config combinations to test! Piece of QA cake, obviously.

-- 
Petr Špaček
Internet Systems Consortium

P.S. My combinatorics is really really rusty, but I think that even if I 
got it wrong by two orders of decimal magnitude you get the idea.


More information about the bind-users mailing list