Hi all,
When I wrote the new API client library standard, one of the intended effects was that libraries would make it easy for bot-runners to comply with the user-agent policy found at https://meta.wikimedia.org/wiki/User-agent_policy . However, different people understand the policy to mean different things.
As I read it, the relevant parts of the policy are:
"If you run a bot, please send a User-Agent header identifying the bot and supplying some way of contacting you, e.g.: `User-Agent: MyCoolTool/1.1 (http://example.com/MyCoolTool/; MyCoolTool@example.com) BasedOnSuperLib/1.4`"
There's been some discussion in the context of my client library evaluation project here: https://www.mediawiki.org/wiki/API_talk:Client_code/Evaluations/Java_Wiki_Bo... and here: https://github.com/jpatokal/mediawiki-gateway/issues/65 . As I understood it, the example provided demonstrated the requirements, but it's now clear to me that there's room for ambiguity in the interpretation of the user-agent policy.
My question is: what information is essential to "identify" a bot? The example given appears to contain the bot name and version, a link to a page with more information and/or the repository for the bot's code, and the framework that was used to write the bot (SuperLib/1.4, I assume). Does WMF operations want all of these components? What is the minimum necessary to comply with the policy, and what is bonus information?
-Frances