- Current System
-
Account reaches an age (e.g. 30d)
-
Services considers the account expired
-
Services removes this account. This frees all nicknames associated with the account for re-registration and removes this account, including all metadata, group and channel access from the database.
-
There is no D. That's all that happens.
-
Account Degradation System (Proposed by @alyx)
- Account reaches an age.
- Services considers the nicknames associated with the account to be expired.
- Services frees the associated nicknames for re-registration.
- The account name is set to the accounts unique id, which is defined internally by Atheme on account registry.
- The "account" is a permanent entity, and nicknames are the perishable product.
- Would the degraded system continue to support functioning as a full account?
- How would the degraded user regain his account? (Problem: People don't write down their UID.)
- How would the degraded account be displayed to users and services operators?
- Discussion needed.
- The original idea was to send the user an email. However it would not be ideal for users to receive emails they haven't requested. Perhaps we could have a per-user option for them to enable email alerts for their account?
- Post-degradation, there would be two views for the different user classes.
Users would see:
Information on AAAAAABD5 (account AAAAAABD5):
Original Account Name : Alyx
Last addr : alyx@198.52.gwx.tr
Last seen : Oct 15 01:44:23 2013 (32 weeks, 1 day, 09:35:21 ago)
*** End of Info ***
and operators would see the following:
Information on AAAAAABD5 (account AAAAAABD5):
Registered : Oct 15 01:44:23 2013 (32 weeks, 1 day, 09:35:21 ago)
Entity ID : AAAAAABD5
Expired Account Name : Alyx
Last addr : alyx@198.52.gwx.tr
Real addr : alyx@198.52.ip.addr
Last seen : Oct 15 01:44:23 2013 (32 weeks, 1 day, 09:35:21 ago)
Expired Nicknames : Alyx, NotAlyx
Channels : 2 founder, 2 other (See below note)
Groups : !atheme-developers (See below note)
*** End of Info ***
- Note: This could be changed to "Expired Channels" or just removed, depending on the discussion of [question one][q1].
It would be neat if you could identify with the entity ID regardless of any nicknames associated with the account. It would also be neat if you could have an account with no account name or nicknames attached to it in the first place. Then, you wouldn't have to do something special to "reactivate it" after the nicknames expire. It would never "deactivate" or become dormant. It would simply be an account with no nicknames, one to which you can add some nicknames later if you so please.
Also, accounts should eventually expire at a much-longer (configurable) date than the nicknames, such as many years into the future. IRC is eternal and should account for the possibility that enormous networks will still exist a thousand years from now with millions of dead people's accounts still in the database.