On Saturday, November 05, 2011 12:17:58 PM Christian Decker wrote:
>> Sorry for shooting this approach down, but I'm against it. User-agent
>> strings are an extremely bad idea as it would lead developers to start
>> making communication choices depending on the client type.
> This can be necessary in some cases. What happens when some popular client is
> found with a subtle bug, and cannot otherwise be differentiated from other
> similar-functionality clients? I have found User-Agent very valuable when
> dealing with the wide variety of miner bugs when I have enabled new
> functionality/behaviour on Eligius.
I can agree with this point though. If clients break the network protocol/do not comply properly with it, they should be disconnected and shunned. Hard love. We don't want any ambiguity in the protocol.
Fail hard and fast.
However my feeling about the user-agent string
is that it is a vanity item, but here we'd be enforcing a format that everybody can understand and read. Lets say with libbitcoin- I'm sure that users of libbitcoin would like to have their client name in the string somehow. This was we can quickly understand which code-bases are being used and all the variants that exist build on those code-bases.
Together with system information (how many Linux users are there?) and various system settings (how many 32bit users are there), and so on.