Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inconsistent use of Nym vs Pseudonym in the API #200

Closed
ghost opened this issue Sep 24, 2014 · 24 comments
Closed

Inconsistent use of Nym vs Pseudonym in the API #200

ghost opened this issue Sep 24, 2014 · 24 comments

Comments

@ghost
Copy link

ghost commented Sep 24, 2014

We don't want everyone to have to figure out on their own that Pseudonyms and Nyms are the same thing.

All names of public entities (classes, concepts, etc) need to be consistent everywhere. Not just in the end-user interface but in the API and code (since we also don't want to confuse developers).

It's gruntwork to s/Pseudonym/Nym all over the code, wiki, and docs, but to leave it inconsistent looks pretty bad.

Doesn't matter to me which name we use in this case, but we should check for other inconsistent naming too.

@lclc
Copy link
Contributor

lclc commented Sep 24, 2014

+1 for Pseudonym everywhere. Or even something else maybe, that clarifies more what it is.

@OttoAllmendinger
Copy link
Contributor

+1 for Nym.

The class is not really a Pseudonym in the way commonly understood: a short self-selected name. It's more about credentials and key management.

It also is easier to type. People use nym as a shorthand in opentxs all the time anyway, and will continue to use it.

@haarts
Copy link
Contributor

haarts commented Sep 24, 2014

+1 for Nym since it defines this ... concept in OT. Besides it's not really a pseudonym for anything. It's a transformation of the Source.

Also nym is used by everyone explaining OT to me.

@OttoAllmendinger
Copy link
Contributor

The required changes can be grouped into these categories

Method names

  • src/client/OTMeCpp.hpp: std::string create_pseudonym (fixed)
  • src/client/OT_ME.cpp:std::string OT_ME::create_pseudonym (fixed)
  • src/client/ot_commands_ot.cpp: MadeEasy::create_pseudonym (fixed)
  • src/core/OTPseudonym.cpp:bool OTPseudonym::SavePseudonym
  • src/core/OTPseudonym.cpp:bool OTPseudonym::VerifyPseudonym

Additions 2014-10-01

  • The check_user command should be get_pubkey (all over the place)

The OTPseudonym class.

Should be renamed to OTNym first. Later on we can rename it to Nym when we drop all the OT prefixes.

Serialized messages

  • src/client/OTWallet.cpp: else if (strNodeName.Compare("pseudonym"))

Probably gets written somewhere as well

Console output, comments, wiki, docs

This has lower priority in my opinion

@ghost
Copy link
Author

ghost commented Sep 24, 2014

We should make a list of replacements and just do them all at once.

eg,

Pseudonym: Nym
OTxxx: xxx

I'm sure there's more than just this.

@toxeus
Copy link
Contributor

toxeus commented Sep 24, 2014

I'm planing to write a tool that can help us with the OTxxx: xxx renaming. It'll be based on http://eli.thegreenplace.net/2014/07/29/ast-matchers-and-clang-refactoring-tools

@toxeus
Copy link
Contributor

toxeus commented Sep 24, 2014

BTW the first question I get from guys starting to work on opentxs is "what's a nym?". I think that both Nym and Pseudonym are confusing class names but am not sure if it's not to late to change that. Is opentxs only targeting geeks or should it be also deployed by people that have more of a financial background? Something like User would be more self-explanatory IMHO.

@haarts
Copy link
Contributor

haarts commented Sep 24, 2014

But it is not a User either. Not in the way IT ppl are used to it anyway.

I'm looking forward to the tool, is that something in the close future or shall I give it a whirl?

@murrekatt
Copy link
Contributor

Great discussion! :)

To my understanding nym/pseudonym is just an identity. I.e. a user can have multiple identities. Question is if identity is too vague and too general. I also agree with @toxeus that it's probably too late to change to something completely different. Hence, we just decide on one of them.

I prefer nym because I have never heard that before in another context so it can be used here. Consistency is important.

What do you think about this @FellowTraveler ?

@ghost
Copy link
Author

ghost commented Sep 24, 2014

@murrekatt I don't think it is too late if we come up with a great name. We have to globally search/replace anyway so the replacement can be anything. If we have to tell people "Nyms/Psuedonyms are now called Foo" then Foo isn't such a great name :)

Personally I think either of the existing names is fine. It's identity management that's conceptually difficult, the name is the least confusing part.

@randy-waterhouse
Copy link
Contributor

Use Nym its already widespread in other crypto contexts and has been since the mid 90's ... if you look around.

@murrekatt
Copy link
Contributor

Yes, nym is the better of these two. Any other suggestions or is anyone very much against using nym?

@haarts
Copy link
Contributor

haarts commented Sep 25, 2014

Let's put a deadline on this. Say 72 hours? If no one objects it's going to be 'nym'.

@lclc
Copy link
Contributor

lclc commented Sep 25, 2014

24 hours is enough, especially since nearly all people already answered:
"For lazy consensus to be effective, it is necessary to allow at least 24 hours before assuming that there are no objections to the proposal. " https://github.com/lclc/opentxs-legal/blob/master/MeritocraticGovernance.md :)

@haarts
Copy link
Contributor

haarts commented Sep 25, 2014

A yes! Most excellent. 16 hours to go then.

@da2ce7
Copy link
Contributor

da2ce7 commented Sep 25, 2014

Pseudonym: pseudo (not); nym (name).

In Open Transaction's case 'nym' really just is an aberration of 'pseudonym'. We don't mean 'nym' as in 'name'. The 'name' will be the 'unique-name' on namecoin, or the name you add for the particular pseudonym in your address book.

Thus, calling it just 'nym' is somewhat misleading, at least from the Greek origins of the word.
Now, I would view it the same as Bitcoin / BTC / XBT etc... The real name is still called 'a bitcoin'.

I would prefer to rename all cases to 'pseudonym', except for the cases where we explicitly need to use an abbreviated name; and that should be explained by a hover-over: "'nym' is the common aberration 'a pseudonym'".

@murrekatt
Copy link
Contributor

Thanks @da2ce7 for such a good argument. At this point I'm fine with either. Pro consistency.

@FellowTraveler
Copy link
Member

@da2ce7: "Aberration" - I think you meant to say "abbreviation."

Regarding this issue: "Nym" is just an abbreviation for "pseudonym." If we have to choose one, I suggest Nym since it is shorter.

Also: to add to the confusion, the code also uses "User" when it means "Nym." So I suggest changing "User" to "Nym" as well, in the code.

Regarding the GUI: I've started using the term "Identities" in the GUI instead of "Nyms." The reason is because "Identities" doesn't require any explanation. ("Nym" is still more accurate, however.)

Therefore I think we should use "Identities" in the GUI, and "Nym" everywhere in the code and API.

@haarts
Copy link
Contributor

haarts commented Sep 25, 2014

Boom! It has been decided then.

@randy-waterhouse
Copy link
Contributor

24 hours is way too short to assume a consensus. What planet are you on? For a global project, different time zones, different regions have different holidays, etc., where contributors are frequently travelling and accounting for weekends at a minimum 48 hours to notify. Assume a 48 hour delay plus 24 to respond, so 72 sounds about right.

@weissjeffm
Copy link
Contributor

@FellowTraveler can we just call it "Identity" everywhere? I think that's the most descriptive term.

  • Everyone knows this word
  • Its standard definition fits how we use it
  • It's generic, but code has namespaces/modules/packages to resolve generic name collisions

If we use "Nym" internally and "Identity" externally, that doesn't fix the issue. Internal people will keep calling it "Nym" out of habit, and forget to switch back in front of end-users.

@OttoAllmendinger
Copy link
Contributor

-1 on using Identity. Nyms have a property called "id" which is a hash of the public signing master key and is used all the time. So we'll end up talking about an "Identity-id" and have variables like identId.

Nym is better.

@ghost
Copy link
Author

ghost commented Sep 26, 2014

(re-commenting with the right account this time)

It's a tradeoff - code readability vs clear communication to end users. As long as we understand the tradeoff we're making, I'm ok with either choice.

@FellowTraveler
Copy link
Member

Jeff Weiss wrote:

@FellowTraveler can we just call it "Identity" everywhere? I think that's the most descriptive term.

  • Everyone knows this word
  • Its standard definition fits how we use it
  • It's generic, but code has namespaces/modules/packages to resolve generic name collisions

If we use "Nym" internally and "Identity" externally, that doesn't fix the issue. Internal people will keep calling it "Nym" out of habit, and forget to switch back in front of end-users.

The only reason we use "identity" in the GUI is because the layman can
understand it without any explanation. But it IS less accurate.

If we really have to choose a single term across both code and GUI, I'd
stick with Nym or Pseudonym. It's a term that has a specific meaning in
the crypto and financial crypto community.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants