On Tuesday, August 8, 2017 at 5:27:13 AM UTC+9, Jakob Bohm wrote:
> On 07/08/2017 22:12, Alex Gaynor wrote:
> > You seem to be suggesting that the thoroughness of testing is somehow
> > related to how long it takes.
> > 
> > I'd expect any serious (or even not particularly serious...) to have a
> > comprehensive automated test suite that can verify that the software is
> > regression free and correct in minutes or hours. If you can't deploy
> > changes of any size with confidence in less than several months, I think
> > you have some serious process problems.
> > 
> 
> For non-essential changes, 

I think this may be the first, and most serious, flaw in your argument. 
Compliance with Mozilla policy and standards that are, at this point, over 
twenty years old, are essential Ganges. Full stop, they need to be made, made 
quickly, and should never have reached production.

> it may be a good idea to supplement the fast
> automated tests by tests that take a lot longer.  This could be manual
> tests, or it could be tests that verify expiry procedures in real time
> (e.g. issue a cert at the start of the test and verify that the OCSP
> component acts as intended near the end of the test).

Your examples are things you can and should write automated tests for.

> 
> The need to deploy some changes quickly inevitably represents a
> compromise between speed and quality, both in testing and coding.  So
> not using the rushed procedures for non-urgent changes is good general
> practice.

Creating a taxonomy between such is otherwise attempting to legitimize poor 
software development practices and poor business practices. It is a perspective 
that is no doubt shared by legacy software development firms, but much has been 
done in the past 20 years to support models of continuous development and 
continuous deployment. This is aided by rigorous test driven development, which 
is the corner stone of having the objective confidence, rather than the 
subjective unease.

> 
> Consider that most end-users are not encouraged to run Firefox nightlies
> and that enterprise users tend to use special ESR releases with longer
> release cycles than end users.  These practices represent the same
> fundamental speed/quality trade-off.
> 

While is may sound like compelling support for your argument, it does represent 
several unsupported or inaccurate claims. For example, Firefox users are 
encouraged to run other channels (like Aurora or Beta) precisely because the 
thorough esss of the automated testing represents a higher degree of confidence 
- which enables such updated versions to ship every six weeks. Similarly, 
Enterprise users who run ESR generally hold back the Web Platform and face 
greater risks, despite the considerable effort to support ESR, by virtue of 
running perpetually outdated software. Again, this is an area where the past 
twenty years have shown notions such as shipping "long term stable" software - 
whether it be a browser, an OS, or CA software - is actively detrimental to the 
ecosystem.

I realize much of your message is expressing a philosophy on software 
development, and while I've responded to point out that alternative 
philosophies exist - and with more catcher in modern software development - it 
is likely that our entire philosophical musings are moot. Whatever the approach 
to development, participants in the Mozilla Root CA Program have an obligation 
to comply with the program requirements, and for the safety and security of 
Mozilla users, that compliance needs to be timely. If certain, outdated and 
insecure approaches to that development may be used, then that is the CAs fault 
and risk, and not something the community should be asked to bear.
_______________________________________________
dev-security-policy mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-security-policy

Reply via email to