magic-wormhole icon indicating copy to clipboard operation
magic-wormhole copied to clipboard

[Terminology] Should the Rendezvous Server be renamed to Mailbox Server in the documentation ?

Open mbousq opened this issue 2 years ago • 6 comments

Hi. If I understand correctly, the Rendezvous Server refers to the bonjour protocol. The Rendezvous was renamed Bonjour due to a law dispute. Therefore, should we rename it to Mailbox Server in the documentation ?

Other possibility: Zeroconf server

mbousq avatar Jun 03 '22 18:06 mbousq

Your suggestion of "Zeroconf server" as a name lets me think that you are confusing things. "Rendezvous server" is just a technical term and thus not subject to any trademark rights.

At the moment, the documentation indeed uses both "rendezvous" and "mailbox" server (and sometimes even "relay server", which is plain wrong), we should choose one and only use that.

piegamesde avatar Jun 03 '22 19:06 piegamesde

Rendezvous is most often used to designate this specific protocol. It’s not about trademarks, it’s about making it clear.

afranke avatar Jun 03 '22 19:06 afranke

Right, so the Rendezvous term does not relate to the Bonjour protocol. As @afranke points out, this could be confused with the latter.

May I suggest the term "Junction server" or "Central server" ?

mbousq avatar Jun 03 '22 20:06 mbousq

I started using "mailbox server" and "mailbox protocol" because:

  • 1: While it does help the clients "rendezvous" with each other, it has nothing to do with Apple's Rendezvous / Bonjour protocol (wormhole uses "rendezvous" as a common noun, not a proper noun), and given how widely known the Rendezvous/Bonjour names are, it was causing confusion. Also, #48 is about using the actual Rendezvous/Bonjour technologies to locate/augment/supplant the wormhole Mailbox server, and it would become doubly confusing to have to say things like "we sometimes use Rendezvous to reach the rendezvous server"
  • 2: While it does help clients "relay" encrypted messages with each other, it is only providing the low-rate store-and-forward portion of the protocol (the PAKE setup phase, and the PAKE-encrypted payload exchange), not the high-rate bulk-transfer portion. That high-rate portion either goes directly from one client to the other (if one of them has a public address, or we figure out NAT hole punching), or through a different sort of relay, the "transit relay". I stopped talking about the mailbox server being a "relay" so I could reserve that word for the high-rate transit relay.

I'm pretty happy with "mailbox server" / "mailbox protocol" for the low-rate store-and-forward thing, and "transit relay" for the helper that is sometimes used on the high-rate bulk-transfer protocol.

So yeah, I think we should try to consolidate on "Mailbox Server" in the documentation.

One complication is the CLI arguments. Currently wormhole help says:

Options:
  --appid APPID                   appid to use
  --relay-url URL                 rendezvous relay to use
  --transit-helper tcp:HOST:PORT  transit relay to use

The description field is trivial to update, but --relay-url would need to become something like --mailbox-url or --mailbox-server-url. Maybe we could continue to accept --relay-url as a non-documented backwards-compatibility thing.

warner avatar Jun 12 '22 00:06 warner

Thank you for the extensive clarification.

"mailbox server" / "mailbox protocol"

I was slightly surprised to see mailbox. Non-native speaker here, but I find the reference to "mail" confusing : perhaps consider a more generic "inbox server"/"inbox protocol" ?

The nice thing with "rendezvous server" is that it is self understandable and defines directly its function rather than what happens to it, hence my suggestions in the first post. Here is a list of candidates you might like :

Junction server, Central server, Link server, Pairing Server, Intermediation server, Authentication server, Exchange server (this one goes nicely with PAKE), Inbox server

Just some thoughts !

mbousq avatar Jun 12 '22 13:06 mbousq

and it would become doubly confusing to have to say things like "we sometimes use Rendezvous to reach the rendezvous server"

I think the name "Rendezvous" is outdated anyways. Apple renamed it to "Bonjour" some time ago, and the generic name one should use for this is "ZeroConf"

piegamesde avatar Jun 12 '22 22:06 piegamesde