dtr-org / unit-e

A digital currency for a new era of decentralized trust
https://unit-e.io
MIT License
45 stars 15 forks source link

Agree on consistent project/currency/software/team names #228

Closed cornelius closed 5 years ago

cornelius commented 6 years ago

This is a follow up on fixing the license headers (see PR #214) but consistent naming touches much more than that, so I'm opening this issue to have (and hopefully conclude) the discussion about how exactly we refer to the project, the software, the team, and the currency in code and documentation.

Bitcoin is using Bitcoin to refer to the overall project, Bitcoin Core for the software, Bitcoin Core developers for the team, and bitcoin to refer to the currency.

We are at the moment mostly inheriting the Bitcoin Core conventions from importing their code and substituting identifiers. So we are currently referring to the overall project as UnitE and the software as UnitE Core, most copyright headers say unit-e core developers. The client identifies as Feuerland.

There are various identifiers in the code and filenames where we use all-lower-case spelling, or all upper-case spelling. There we use unit-e, unite, UNIT-E, and UNIT_E, and UNITE. The git repo is named unit-e, the executables united, unite-cli, or unite-qt.

So what names do we need (using some of the currently used names as examples)?

And we need conventions how to convert the name in file names, identifiers in the code, etc. when the UnitE spelling is not usable because of other conventions. We currently use two conventions:

We should agree on one convention or clearly define when to apply which one.

cornelius commented 6 years ago

The currency name (or unit name) could be unit as suggested in https://github.com/dtr-org/clonemachine/pull/6#issuecomment-436665174.

scravy commented 6 years ago

unit_e – also TeX compatible where it is:

scravy commented 6 years ago

There is https://www.u-currency.com/: [UNIT] (unitcoin)

cornelius commented 6 years ago

There is https://www.u-currency.com/: [UNIT]

They seem to use UNIT (all upper case) as symbol and unit. Looks like a dead project. The source has only one committer and no change for something like a year.

scravy commented 6 years ago

Ah, sorry. I read "currency name [...] could be unit". The currency name is... well the name of the currency which is "unit e" (underscore, no dash, whatever), just need to agree on the canonical spelling :D

Right now we have in the source code:

#ifndef UNITE_AMOUNT_H
#define UNITE_AMOUNT_H

#include <stdint.h>

//UNIT-E: revise both MAX_MONEY and terms (satoshi)
/** Amount in satoshis (Can be negative) */
typedef int64_t CAmount;

static const CAmount UNIT = 100000000;
static const CAmount EEES = 1000000;

/** No amount larger than this (in satoshi) is valid.
 *
 * Note that this constant is *not* the total money supply, which in UnitE
 * currently happens to be less than 21,000,000 UNT for various reasons, but
 * rather a sanity check. As this sanity check is used by consensus-critical
 * validation code, the exact value of the MAX_MONEY constant is consensus
 * critical; in unusual circumstances like a(nother) overflow bug that allowed
 * for the creation of coins out of thin air modification could lead to a fork.
 * */
static const CAmount MAX_MONEY = 21000000 * UNIT;
inline bool MoneyRange(const CAmount& nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }

#endif //  UNITE_AMOUNT_H
cornelius commented 5 years ago

The web page uses Unit-e which also goes along nicely with unit-e in the repo name and other lower case strings. This also gives a straightforward all upper case variant with UNIT-E. So it looks like this is the way to go.

scravy commented 5 years ago

The clonemachine replaces all uppercase BITCOIN with UNIT_E as that's mostly in constants.

cornelius commented 5 years ago

The clonemachine replaces all uppercase BITCOIN with UNIT_E as that's mostly in constants.

That's right and should stay so as it matches the code style conventions. I think in code the code style guide should always take precedence.

The UNIT-E is more for text. An example is also on the web site where it's used in the navigation bar. Not sure we have any examples in the code repo which would result in UNIT-E, maybe we have some in the docs.

cornelius commented 5 years ago

To summarize the current conclusions:

The copyright headers have been adapted in pull requests https://github.com/dtr-org/unit-e/pull/248 and https://github.com/dtr-org/unit-e/pull/252.

Clonemachine still needs to be adapted to use Unit-e instead of UnitE and the corresponding changes in the current code base need to be done.

cornelius commented 5 years ago

The name of the software still needs some clarification. We currently have variants of Unit-e, unit-e, Unit-e client, Unit-e Daemon and some more.

"Unit-e client" feels weird because it alludes to a central server which isn't supposed to exist in a decentralized network. "Unit-e daemon" is very tied to Unix terminology which is not necessarily widely understood or even completely accurate.

Would it make sense to just settle on unit-e as the name of the software everywhere? This would nicely match with the name of the repository, it would distinguish it from other uses where we are more referring to the network or the overall project, it would be short. We could even name the executable unit-e instead of united to make it more consistent and get rid of the ambiguity regarding certain airlines.

scravy commented 5 years ago

And Feuerland Client.

scravy commented 5 years ago

"united" I usually refer to it as "you nit eeeh deeh"

mergeable[bot] commented 5 years ago

There has not been any activity in the past month. Is there anything to follow-up?

Gnappuraz commented 5 years ago

I'd like to bring to attention that we lack part of the definition for small currency denominations, citing @thothd from https://github.com/dtr-org/clonemachine/pull/6

UnitEs Unit (Abbreviation)
1.0 unit (UTE)
0.01 ee (cUTE)
0.001 milliunit (mUTE)
0.000001 microunit (uUTE, "bits")
0.0000001 ?
0.00000001 satoshi
scravy commented 5 years ago

I think the smallest possible amount is, in comments and such, in code, still referred to as "satoshi", which perfectly I think is fine.

castarco commented 5 years ago

~The next ones should be nano & pico, so ... nUTE and pUTE ?~

~Notice that pUTE does not sound very well in Spanish nor Catalan, because it's close to the word "puta" (whore), but I think it's not a real problem, because there's no exact match and we tend to read the characters one by one when they are uppercase.~

Now I realize that they are not powers of 10^-3 . Using "satoshi" seems fine.

cornelius commented 5 years ago

Factored out the suggestion to rename united to unit-e: https://github.com/dtr-org/unit-e/issues/821