diff --git a/feps/fep-f1d5.md b/feps/fep-f1d5.md index 854db58..fe31d81 100644 --- a/feps/fep-f1d5.md +++ b/feps/fep-f1d5.md @@ -56,9 +56,20 @@ prescriptive: * Lacks an extendable method for identifying and versioning other features, such as HTTP Signatures, webfinger, or OAuth. Whereas the specification is very strict, the `metadata` is too lax. -* The `users.usage` is not denormalized, such that implementations can provide +* The `usage.users` is not denormalized, such that implementations can provide custom pairs of `(activity counts, time period in days)` that make sense for the software. +* The `usage.users` assumes that user identity is tied to a specific instance of + running software. It is unclear how to count `total` users when user identity + is: spread across multiple servers, spread across multiple groups, or present + within multiple collections of users. Multiple software instances could each + have a resonable claim to counting the user as "using" their software, which + globally results users being counted more than once. +* The `usage.users` activity counts likewise assume that user identity is tied + to a specific instance of running software. For the same reasons above, where + the `total` user counts may result in duplicate counts of the same user across + all software running, the activity counts `activeHalfYear` and `activeMonth` + may also result in a globally inflated count. * The `activeHalfyear` and `activeMonth` are ill-named properties for describing the time periods of 180 days and 30 days, respectively. A "half of one year" is 180 days 0% of the time and roughly 182.5 days only 75% of the time. A