[ntp:questions] Re: Why ntpd is losing out to openntp at OpenBSD

David Woolley david at djwhome.demon.co.uk
Sun Oct 17 07:47:20 UTC 2004


In article <3a2a0492.0410161615.1863eac3 at posting.google.com>,
mayer at gis.net (Danny Mayer) wrote:

> As a practical matter, no. You either comply with the rfc or you don't.
> If you do NOT comply, then you may have interoperability problems with
> those servers and clients that do comply.

Unless, that is, you are the dominant market supplier and are trying to 
encourage lock in to your product range, in which case W32 Time,
which is another broken implementation of SNTP, incidentally sharing
the bug of always reporting stratum 2 (so maybe the specification
is not adequately proof about people wanting implement but not 
understand), is a good example of a non-compliant system that will not
be forced compliant by market forces.

The other way that you can get away with non-compliance is if you are
addressing a technically naive market, and some interoperability remains;
openntpd may be in that position, W32time certainly is.  I think GUI email
programs are also good examples, e.g. it is quite common to have people
write 100s of characters on one line because their email program writer
didn't read the specification properly and thought it would be cool to
word wrap[1], without using the MIME media type that actually allows that,
not to mention that almost every HTML email is syntactically invalid
and often grossly violates the semantics.

Also, in the specific case of SNTP implementations violating the 
pure server or pure client rule, both the server and client interfaces
could be compliant and therefore interoperate, but it is the system that
violates the RFC.  Again, naive users will not appreciate the reasons
for the constraint, as their time keeping requirements may be quite lax
and and using a combined client/server SNTP, like W32time or openntpd
may seem a nice, low effort, solution, to them.

>                                           The goal of all IETF RFC's
> is to ensure and encourage interoperability. People won't buy or use
> products that don't interoperate as they obtain products from many
> different vendors. A vendor that doesn't interoperate with products

Most businesses these days only buy desk top and server level machine
operating systems from Microsoft.

> from other vendors isn't likely to stay in business very long as clients
> won't buy products that don't work with other products that they
> already have.

Only if they are a minority supplier.  A majority or monopoly supplier
generally wants a very basic level of interoperability, to allow migration
to their products, but incompatibility at higher levels of functionality,
so that the customer is locked in.  "Lock in" is a factor that will normally
be discussed when a marketing department is planning a product or service,
although, in a lot of standards violation cases, it is more likely to be
the result of using developers good at achieving timescales, cost, and 
sales time features but with no understanding of the application.

Standards have always been the realm of the small suppliers and the
big consumers.  Even consuming organisations that, in theory, have rules
to require standards compliance, generally have mechanisms that can be
used to get dispensations when the alternative might be a politically
unacceptable (typically meaning non-Windows) solution.

[1] Recent versions of Mozilla can be configured to behave correctly, but
that battle is largely lost.



More information about the questions mailing list