Hi All,

There seems to be some confusion in this thread about the
current state of the hidden service to onion service name transition.

So I'm going to describe the state of things as they are, then try to
describe what would need to be done.

I'd also appreciate feedback from Steph and others on our priorities for
transitioning to the onion service name. I think we have been prioritising
user-facing text. (The blog, website, Tor Browser, metrics,  etc.)

Is this a sensible way of prioritising things?

On 26 Apr 2018, at 16:42, Paul Syverson <paul.syverson@nrl.navy.mil> wrote:

Have OnionService aliases for controller commands, events,

These are current called "hidden service" or an abbreviation.

Tor could add an alias mechanism for controller commands, events,
and fields, and use it to do the rename:

https://trac.torproject.org/projects/tor/ticket/25922

I don't think they are as high a priority as the torrc options and man page.

descriptor
fields

These are currently called "hidden service", or an abbreviation.

Descriptor fields are part of the directory specification and
implementation, and they are highly technical. So I'm not sure we gain
much from aliasing them or renaming them.

Similar arguments might apply to other codebases:
* Onionoo
* stem
* consensus health
* Tor (network daemon)

But the following user-facing applications should add documentation or
change names, if they haven't already:
* Relay Search / metrics website
  * uses HSDir for relay search, because that's what it's called in the
    directory protocol
  * uses "onion service" for statistics
* Tor Browser
  * uses "onion site"
* the Tor website
* new tor blog posts

and anything else referencing 'HS' or 'HiddenService'.

We considered adding OnionService* torrc option aliases for every
HiddenService* option in 0.2.9. But we deferred that change because we
ran out of time.

All we need to do is add some new entries in the alias table, then do a
search and replace in the tor man page:
https://trac.torproject.org/projects/tor/ticket/17343

Speaking of which, how do we plan to replace abbreviations? Having an
'OSFETCH' or 'OS_CREATED' event doesn't exactly have the same ring as
their HS counterparts. ;P

That's a good question.

OS conflicts with "operating system", so we could use:
* Onion
* OnSrv
* no abbreviations
Or any other colour you want to paint the bikeshed.

To avoid an endless discussion, let's leave the decision to
the people who write, review, and merge the code.

Adjust all our docs to be consistent about the name.

Right, anything v3 should be consistently calling these 'onion
services'.  Variable names, etc. particularly those still in use in
code shared with v2, don't need to be changed. It is OK if such
vestiges of older usage remain in abbreviations, as long as the
description of them, e.g., in any new Tor proposal, describes them
with appropriately current terminology.

torrc options, the tor man page, and the v3 onion service code
mainly use "hidden service", and sometimes use "onion service".

I don't see much value in changing the code.

If we decide there is value in changing the torrc options and man page,
we need to allocate a few days of work on the roadmap to make it
happen.

Renaming takes work. Lesson I learned from Nyx is that it works best
if you draw a line in the sand and stand by it. With Nyx, version 2.0
is called Nyx (you won't find any docs saying otherwise) and version
1.x is the legacy 'arm' project.

If I was in your shoes I'd opt for the same. Either prioritize the
aliases and be firm that v3 are 'Onion Services' or abort the rename.
Otherwise this will live in a confusing dual-named limbo land
indefinitely. ;P

I'm prettty sure that v3 being 'onion services' has been the official
Tor Project position since at least half a year. We wouldn't be
aborting the rename, because 'abort' would imply it is not
complete. Anything now not using the current name is not part of an
incomplete process, it is simply wrong and outdated. Steph correct me
if I am wrong about that.

So I think you've answered your own question. Nothing in v3 should be
called 'hidden services'.

That's not the current state of the tor network daemon v3 onion service
code, specs, options, and man page. They use a mix of terminology
(see above).

And anything new in code and documentation
should be called 'onion services'. If you want to think of v2 and
earlier as 'hidden services' for purposes of understanding legacy
component and variable names, e.g., HSDir that's fine. And as such,
variable names, etc. in code that continues to be used for both v2 and
v3 can can persist. But again, any new specs, documentation, etc.
should call them 'onion services'.

We have gradually been using onion services in new documentation and
specs, since "single onion services". But we haven't changed existing
code and documentation.

This acceptance of existing v2 documentation calling them 'hidden
services' while refusing this for anything v3 is a little misleading
about when and why the naming transition happened, but its close
enough to serve as your line in the sand if you feel one is needed.
I actually argued the value of essentially such a line-in-the-sand
position to Steph a while ago. This doesn't preclude also calling v2
and earlier 'onion services'. Indeed, it's not just OK but preferable,
for the above mentioned reasons.

It looks like we are doing a gradual transition. I think we prioritised
the things that are seen by the most users (Tor Browser, statistics,
blog, website).

We did not take a line in the sand position in the past, but we could
adopt one for the remaining changes. We could decide on a particular
Tor release (and releases of other codebases). But we need to schedule
the work on the relevant roadmaps.

And maybe there are some obscure technical things (code, comments,
descriptor fields) that just aren't worth changing.

T