[Info-vax] RMS record metadata, was: Re: Re; Spiralog, RMS Journaling (was Re: FREESPADRIFT)

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Mon Jun 20 09:07:56 EDT 2016


On 2016-06-20 03:26:09 +0000, David Froble said:

> Stephen Hoffman wrote:
>> On 2016-06-19 02:48:33 +0000, David Froble said:
>> 
>>> Perhaps you are ready to re-write billions of dollars of existing software?
>>> 
>>> Why cannot the old and new co-exist?
>> 
>> That works for a while, but then you still have to update and test and 
>> maintain the old stuff, and there's a non-trivial and increasing cost 
>> to that effort.
> 
> I got to jump all over this.
> 
> While there are some specifics, such as needing TLS V1.2 because the 
> older stuff is no longer secure, in general, if software does needed 
> tasks, it will continue to perform those needed tasks.  Why does one 
> need to update, or test?  What are the non-trivial and increasing 
> costs?  Labor might cost more, but that's across the board, not just 
> for old stuff.  I just don't agree with the above statement.

Look at OpenVMS, David.  Really, really look at it.   Look at the 
password hash.  Look at the design of SYSUAF and of clustering.  Look 
at how PKE and TLS works, and how it is (not) integrated.  Look at what 
has happened with 64-bit addressing, and the effort involved in using 
that.   Fixing some of these cases compatibly is certainly possible, 
but that will mean leaving the old code around and — for cases such as 
TLS or weak hashes or such— and having old security code around is very 
far from desirable.   Compatibility means accretions of deprecated and 
variously under- or undocumented interfaces and tools which then either 
have to be tested and maintained and considered whenever working on 
related code or risk breaking existing applications.  Code accretions 
mean the time and effort involved in making future changes increases, 
too.  Sometimes dramatically.  Eventually asymptotically.

The vast majority of OpenVMS works well.    But there are areas that 
need to be rethought and refactored.   Some changes — like going to a 
flat address space and away from the current segmented model, or 
yanking out RMS and its rather baroque record access processing – will 
never happen.   Some — such as seeing executable code in 64-bit space – 
seem unlikely, but might be possible.    But in specific places, 
OpenVMS and some of the dependent applications really need to be broken 
apart, re-designed, rebuilt, and the old code deprecated.   Not 
everything.  Certainly not on a whim.   Just specific spots.  For good 
and valid and customer-benefiting reasons.

>> You often end up putting in place workarounds, and which almost always 
>> hamper new adoptions and new development, too.
> 
> Nope.  Hasn't happened to me.  New development going on all the time.

There are things that fundamentally cannot change in OpenVMS without 
breaking applications.   Compatibility means never changing those 
things.   Compatibility means that what would some simple designs — 
such as a flat 64-bit address space — are unachievable.    Which leaves 
us with 32-bit and 64-bit descriptors, $mumble and $mumble64() calls, 
and a host of other arcana.

Compatibility is a most wonderful thing, right up until it becomes an 
impediment and a millstone.




-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list