Talk:User account types

What does "anonymous" mean?
@Matma Rex, @Whatamidoing (WMF), @RHo (WMF): I've been looking into this terminology since Data Engineering is discussing how to capture the new account type in their schemas and specifically, whether a field named  should be true or false for temp users. This in a table that is meant to be made public on Cloud Services in the future, so it seems important to have the most consistent terminology possible.

Initially, I thought that it should be false, since to me "anonymous" is a synonym of "unregistered" and, from a MediaWiki-internal point of view, temp accounts will be registered in the user table. This table supports that view.

However, after looking at how people are using the terms now, I think the vast majority of folks would choose to define "anonymous" (and "unregistered" and "logged-out") to mean either temp or IP. Here are some points:


 * The main Meta page uses both "unregistered" and "non-logged-in" to mean temp or IP ("IP masking hides the IP addresses of unregistered editors", "In the future, before a non-logged-in user completes an edit, they will be informed that their edits will be attributed to a temporary account.", etc.)
 * When I look at the discussion page on Meta, all the people using "anonymous" use it in a way that includes temp accounts ("Should IP Masking [be] a veil for anonymous users, but still transparent for patrollors?", "anonymous users using temporary accounts can never use the very same temporary account when on multiple devices").
 * Comparing the temp and IP columns in your very helpful table, their capabilities are very similar to each other and very distinct from registered users, so they naturally form a group.

I realize this does not totally mesh with the in-code terminology. For example, from :


 * User::isRegistered will return true for all registered accounts, including temporary accounts.
 * User::isAnon will return false for such temporary accounts.
 * User::isTemp will return true exclusively for temporary accounts.
 * User::isNamed will return true exclusively for registered accounts that are not temporary accounts.

According to this, only IP accounts are anonymous. However, we are also deviating from the in-code terminology when we say that temp users are not registered, so I think we have already lost perfection in terminology.

So, based on this, I'm inclined to update the table to make "anonymous", "unregistered", and "logged-out" an umbrella term for IP and temp users and then add information about the cases where this doesn't match the User methods. What do y'all think?

cc @MKampurath (WMF), @Milimetric (WMF). Neil Shah-Quinn (WMF) (talk) 01:27, 18 May 2023 (UTC)


 * I agree – I think the term "unregistered" applies to both IP and temp users. I wrote this page before people started really talking about them much, so it didn't match real world usage.
 * We should document it that way despite the problem you noted that in the code, we treat temp users as a "subtype" of registered users; that's just a quirk for reasons of backwards-compatibility.
 * I would avoid the term "anonymous" when possible. It was widely used to describe IP users in the past, even though they were less anonymous than the registered users in some ways. Temp users are more anonymous now, but you try explaining that. I expect that folks will use it for both IP and temp users despite my advice ;), so we should document it on this page, but I would rather not use it in any APIs, databases, etc.
 * The term "logged-out" is a bit weird, since you can log out of your temporary account. But it's a synonym of "unregistered" in practice, and there are people who have registered, but just edit logged-out, and I don't think we have a better term for this. Matma Rex (talk) 12:37, 18 May 2023 (UTC)
 * @Neil Shah-Quinn (WMF), by, say, February 2024, I hope that all three accounts types will be in use on WMF wikis. Is there a chance that you will want to use this to compare and contrast all three?  If so, we could consider replacing   entirely, with   and  .  Using "anonymous" to describe an editor whose real-world location may be readily discernable has long been disputed by English-speaking volunteers.  Perhaps we should retire that imprecise and misleading language entirely.
 * (@Danilo.mac, it's possible that this discussion would be interesting to you, since it touches on how some account data is stored.) Whatamidoing (WMF) (talk) 19:55, 19 May 2023 (UTC)
 * In my point of view (a volunteer), when an user use an username that they chose in the registration, they have a name, that we can trust they will always use if they are a good-faith contributor. And when an user is identified by an IP or a number they didn't choose (temp user), they don't have a name, they are anonymous. Even if they are a good-faith contributor we can not trust the contributions of that user is all aggregated in the same contribution page, and the warnings the user received are all in the same talk page. We can not be sure of all that user did because they don't have a fixed name, that is what I think about the term anonymous. For me it would be confuse to not call a temp user as anonymous. I didn't know other people had other meanings for that that term. Danilo.mac (talk) 23:15, 19 May 2023 (UTC)
 * Complementing my opinion, about how the data is stored, I didn't like the idea of store temp users in user table, I have tools that use  to get the registered users (users who filled the registration form and have fixed usernames), it would make more sense for me if actor_user was NULL for temp users and we use   to get only temp users, and have a separate table to store temp users data. But that is an opinion of who only develop tools in Toolforge and not contribute directly in the MediaWiki code, and I didn't read the phab tasks, I may be missing some details that make that idea not possible. Danilo.mac (talk) 01:04, 20 May 2023 (UTC)
 * In case this helps - we are adding a  column to the user table which you could use to differentiate between temp users and other (registered) users. Here's a ticket that explains this work: https://phabricator.wikimedia.org/T333223
 * Would that help with your tools? -- NKohli (WMF) (talk) 13:05, 21 May 2023 (UTC)
 * +1 to what @Matma Rex and @Whatamidoing (WMF) said. I have no attachments to "non-logged-in" terminology - I think we could replace it by "unregistered" on the project pages. And I would like us to refrain from using "anonymous" for the reasons MatmaRex mentioned. I like the suggestion to replace  with   and  . NKohli (WMF) (talk) 12:59, 21 May 2023 (UTC)
 * Thanks everyone for the input! It sounds like everyone agrees that temp users should be considered a type of unregistered/logged-out/anonymous users. I've updated the table to reflect this and to hopefully make it a bit easier to read.
 * I get what y'all are saying about the problems with the term "anonymous". I have heard about these problems before and, if I had been in charge of naming, I probably would have chosen  for that reason. I'm not sure if it's worth deprecating the existing field, but definitely when we add fields to make sure we can distinguish all three types of users, we will use the preferred terminology (unregistered, IP, temp, registered). This page makes it a lot easier to do that! Neil Shah-Quinn (WMF) (talk) 20:01, 22 May 2023 (UTC)
 * I've also just updated the table to document the behavior of the four User functions from MediaWiki. Neil Shah-Quinn (WMF) (talk) 20:09, 22 May 2023 (UTC)