Page MenuHomePhabricator

Small Wiki Toolkits: How-to guidelines and/or potential recommendations for Bots & Tools
Closed, ResolvedPublic

Description

List of recommended tools & bots, how-tos, etc.

Event Timeline

srishakatux renamed this task from Small Wiki Toolkits: How-to guidelines and/or potential recommendations for Bots to Small Wiki Toolkits: How-to guidelines and/or potential recommendations for Bots & Tools.May 27 2020, 5:45 AM
srishakatux updated the task description. (Show Details)

Hi, everyone who is following this task (adding @bd808 also)! So we have the work in progress for the Bots & Tools section of the Starter Kit here: https://meta.wikimedia.org/wiki/Small_wiki_toolkits/Starter_kit/Bots_and_Tools.

I have got a few questions :

  • What do you think about the content in there (list of recommended tools & bots + guides) from the perspective of smaller wikis? What more should go in there?
  • Do you know folks from smaller wikis whom I should talk to for gathering input on this?
  • Also, if there are any tools & bots currently on the list which should not be there and those that are not there and should be there, I would love to know about them.

I will post on the "Starter kit" talk page soon. First wanted to hear your thoughts!

Good start! :) From a quick read:

  • https://meta.wikimedia.org/wiki/Small_wiki_toolkits/Starter_kit/Bots_and_Tools says "List of recommended bots". Does that mean you recommend that we should somehow install (?) or use (?) all of those bots on our small wiki? Later on it only says "If you plan on enabling a bot from this list"...
  • It seems that most stuff is about English Wikipedia. There might be a very good reason why to link to https://en.wikipedia.org/wiki/Wikipedia:Bots instead of e.g. https://meta.wikimedia.org/wiki/Bot but I don't know what the reason is. Would be worth to mention to avoid creating a "We looked at English Wikipedia and did not care about any other communities" impression.
  • There is a list of "recommended tools". The next sentence says "You can use Wikimedia Toolforge to create, maintain and host your tools." I don't really know what a "tool" is but it seems if I picked a tool from that recommendation list I would need to "host" that tool myself, whatever that means? Though then the next sentence talks about "developing"? I don't want to develop a tool myself but only use a tool! :)

Has someone contacted each bot operator for the bots listed in the recommended bot section to find out if they are actually interested in operating their bots on other wikis and if so how they would like to be contacted?

As far as I know "enabling a bot from this list" is not a matter of clicking a button on a website somewhere. It is instead a matter of talking to the current bot operator, getting the source code of the bot (which they may or may not be excited to share), making any coding changes that would be needed for operating against a new wiki (could be simple, could be very complex depending on the bot's code and configuration), finding a place to run the bot (Toolforge is at least relatively easy for that if the bot is licensed under an OSI approved license), and then keeping an eye on things as the bot does its good works.

All good points! I've made some changes to address them and reached out to 9 bot owners with a few questions like in https://en.wikipedia.org/wiki/User_talk:Cyberpower678#Starter_kit_for_smaller_wikis.

Note to self: AvicBot bot owner's talk page says "semi-retired" and no longer active on Wikipedia. Probably should find alternative bots to add in the list.

Looking at https://meta.wikimedia.org/wiki/Small_wiki_toolkits/Starter_kit/Bots_and_Tools :

  • I wonder why we link to a page of one single community at https://en.wikipedia.org/wiki/Wikipedia:Bots and why that's so relevant. Is information missing on https://meta.wikimedia.org/wiki/Bot ? If so, which information?
  • Why should I "See a list of bots ordered by the total number of edits on English Wikipedia." when it comes to "Guidelines for bots"?
  • "Guidelines for bots" confuses me. It says "Host the bot on Wikimedia Toolforge." Before it said "If you plan to enable a bot from this list on your wiki". Does that mean I need to set up, configure, run, maintain a bot myself? "enable" made it sound way easier, now it sounds like I have to be a developer already?
  • How do I enable a tool?
  • Why should I "See a list of tools hosted on Wikimedia Toolforge." when it comes to "Guidelines for tools"?
  • If you want a bot on your wiki you'll have to talk with the bot maintainers if they are willing to also "maintain" it for your wiki? (It's more of a social thing?)

Looking at https://meta.wikimedia.org/wiki/Small_wiki_toolkits/Starter_kit/Bots_and_Tools :

I find https://meta.wikimedia.org/wiki/Bot hard to follow than https://en.wikipedia.org/wiki/Wikipedia:Bots. Latter has more explanation for each section, has a nice flow to it. It's "How to create a bot" section also points to a thorough guide and lists Pywikibot framework unlike the "Frameworks and interfaces for bot development" section on meta-wiki. I am not sure what is up with all the frameworks in that section. The section "Current and proposed bots" on meta-wiki feels not necessary, especially in the context of SWT.

  • Why should I "See a list of bots ordered by the total number of edits on English Wikipedia." when it comes to "Guidelines for bots"?
  • Why should I "See a list of tools hosted on Wikimedia Toolforge." when it comes to "Guidelines for tools"?
  • If you want a bot on your wiki you'll have to talk with the bot maintainers if they are willing to also "maintain" it for your wiki? (It's more of a social thing?)

Done

  • "Guidelines for bots" confuses me. It says "Host the bot on Wikimedia Toolforge." Before it said "If you plan to enable a bot from this list on your wiki". Does that mean I need to set up, configure, run, maintain a bot myself? "enable" made it sound way easier, now it sounds like I have to be a developer already?

If I understand it all correctly (also from Bryan's comment above), then yes. Only in cases where the bot owner is willing to help host, one needn't carry out all the enabling procedure. I currently say that in a note in the guidelines section itself. Maybe I could make it a step and be more explicit about it, that if one wants to get a bot enabled, they could first reach out to bot owner and see if they are willing to help configure/run/host? At the same time, I am not sure if we should stress too much on it, as bot owners might start getting a lot of requests.

  • How do I enable a tool?

Not sure what you mean, tools can be directly used, no?

I find https://meta.wikimedia.org/wiki/Bot hard to follow than https://en.wikipedia.org/wiki/Wikipedia:Bots. Latter has more explanation for each section, has a nice flow to it. It's "How to create a bot" section also points to a thorough guide and lists Pywikibot framework unlike the "Frameworks and interfaces for bot development" section on meta-wiki. I am not sure what is up with all the frameworks in that section. The section "Current and proposed bots" on meta-wiki feels not necessary, especially in the context of SWT.

@srishakatux: Shouldn't there be a (low priority) Documentation task to improve https://meta.wikimedia.org/wiki/Bot and https://www.mediawiki.org/wiki/Manual:Bots , instead of linking to some page on French, Telugu, or (in this case) English Wikipedia?

  • "Guidelines for bots" confuses me. It says "Host the bot on Wikimedia Toolforge." Before it said "If you plan to enable a bot from this list on your wiki". Does that mean I need to set up, configure, run, maintain a bot myself? "enable" made it sound way easier, now it sounds like I have to be a developer already?

If I understand it all correctly (also from Bryan's comment above), then yes. Only in cases where the bot owner is willing to help host, one needn't carry out all the enabling procedure. I currently say that in a note in the guidelines section itself. Maybe I could make it a step and be more explicit about it, that if one wants to get a bot enabled, they could first reach out to bot owner and see if they are willing to help configure/run/host? At the same time, I am not sure if we should stress too much on it, as bot owners might start getting a lot of requests.

It is still unclear to me if I am interested in having a bot work on my wiki, what am I supposed to do?
Open both links (to the Bot page and the bot owner page) and then try to find out something about enabling on my wiki?
If I only want to enable a bot on my wiki, why do I need to "Host the bot on Wikimedia Toolforge"? Where to take the code for that existing bot from and then put that code on Toolforge? Either this confusingly mixes "creating bots yourself" and "making an existing bot work on my wiki", or I just don't get it.

Also, "Ensure that the bot is approved to run on your local wiki, well-maintained, and well-documented.": How to "approve a bot"? And what does that term mean?

  • How do I enable a tool?

Not sure what you mean, tools can be directly used, no?

Right, I should have elaborated, sorry! We both know that a tool can be directly used, but not necessarily the reader. The page does not seem to explicitly explain that for "Tools", while "Bots" mention "enabling".

@srishakatux: Shouldn't there be a (low priority) Documentation task to improve https://meta.wikimedia.org/wiki/Bot and https://www.mediawiki.org/wiki/Manual:Bots , instead of linking to some page on French, Telugu, or (in this case) English Wikipedia?

Filed it: T254953. (Unrelated: filed one for Lua as well T254956)

It is still unclear to me if I am interested in having a bot work on my wiki, what am I supposed to do?
Open both links (to the Bot page and the bot owner page) and then try to find out something about enabling on my wiki?

"To enable a bot on your wiki" steps are for this.

If I only want to enable a bot on my wiki, why do I need to "Host the bot on Wikimedia Toolforge"? Where to take the code for that existing bot from and then put that code on Toolforge? Either this confusingly mixes "creating bots yourself" and "making an existing bot work on my wiki", or I just don't get it.

I have tried to clarify that the bot's modified version needs to adhere to the bot guidelines.

Also, "Ensure that the bot is approved to run on your local wiki, well-maintained, and well-documented.": How to "approve a bot"? And what does that term mean?

Added a link to the bot policy in this point.

Right, I should have elaborated, sorry! We both know that a tool can be directly used, but not necessarily the reader. The page does not seem to explicitly explain that for "Tools", while "Bots" mention "enabling".

Yes, I have tried to make it clear that tools can be directly used.

@Aklapper Is the bot enabling process reads any better now?

@srishakatux: Yes, better! Thanks! One (hopefully last) question: Reading "To enable a bot on your wiki", it sounds like I always must become the maintainer of a bot and must always copy and "fork" the bot code (as I have to make "simple or complex changes to the bot's source code") and must "host the bot on Wikimedia Toolforge". Are there no existing bots which could run on several wikis via some config change, without having to host the bot myself? :(

I see a "Note" ("you could reach out to the bot owner and ask if they already have a setup in place to support other wikis") at the very end, so I'm wondering why it is preferred to fork a complete codebase? And then keep my forked codebase in sync with upstream code, which is not mentioned at all?

I hope I misunderstand something as I have basically no idea about bots and tools. :)

@srishakatux: Yes, better! Thanks! One (hopefully last) question: Reading "To enable a bot on your wiki", it sounds like I always must become the maintainer of a bot and must always copy and "fork" the bot code (as I have to make "simple or complex changes to the bot's source code") and must "host the bot on Wikimedia Toolforge". Are there no existing bots which could run on several wikis via some config change, without having to host the bot myself? :(

I see a "Note" ("you could reach out to the bot owner and ask if they already have a setup in place to support other wikis") at the very end, so I'm wondering why it is preferred to fork a complete codebase? And then keep my forked codebase in sync with upstream code, which is not mentioned at all?

I hope I misunderstand something as I have basically no idea about bots and tools. :)

I wrote a bit about this at T246183#6170586, but the universe could probably use an essay that makes things more clear. @Aklapper's questions are reasonable, but very difficult to answer generically.

In the Wikimedia world a "bot" is any software application which interacts with a wiki in an autonomous or semi-autonomous way to perform an editing or curating related task. There is no central registry of bots, no universal functionality or code quality standards, and no organizing body to communicate with across the projects. Some communities, especially enwiki and dewiki, have robust local rules and procedures for well behaved bots and organizing bodies to support those rules and procedures. These rules and procedures tend, as far as I know, to focus on the on-wiki behavior of the bots typically including things like establishing conventions for projects/pages/users to tell a particular bot not to perform work on a page and emergency shutoff processes to allow a sysop/admin to disable a bot and notify its maintainer when the bot's behavior is deemed disruptive. I do not know of any shared standards across a large collection of wikis, nor any standards within a given wiki which proscribe the software language a bot is written in, a hosting platform that a bot must use, or a coding or security standard a bot must adhere to.

The end result of all this autonomy for both wikis and bot operators is that each bot is a unique case. Some bot maintainers may have written their code to work with multiple wikis, most probably have not. Some bot maintainers may be interested in having co-maintainers, some may not be interested. Some bots are hosted on Toolforge, some (many?) are not. Some code bases may be public and well versioned, some (most?) are not. I think really the only bot processes that I know of that are generally reusable are scripts which have been adopted into the pywikibot code base. There are probably some other toolkits and frameworks performing this function as well that are less widely known.

One potentially interesting thing that could come from the SWT project is more attention to this "bot problem" and some sort of cross-language and cross-project organizing body working to establish better guidelines, practices, and standards for high value bots. I feel like that would be a separate effort and one where the community should lead, but maybe an idea that we could promote and provide some amount of support for the ongoing operation of if a core of actively engaged volunteers could be found.

@bd808 Thanks for sharing your thoughts! Considering where we currently are with the bot guidelines and processes, do you think, what we have here https://meta.wikimedia.org/wiki/Small_wiki_toolkits/Starter_kit/Bots_and_Tools makes sense? Would it be possible for you to review, suggest changes, or make direct edits? :)

@bd808 Thanks for sharing your thoughts! Considering where we currently are with the bot guidelines and processes, do you think, what we have here https://meta.wikimedia.org/wiki/Small_wiki_toolkits/Starter_kit/Bots_and_Tools makes sense? Would it be possible for you to review, suggest changes, or make direct edits? :)

I made a few minor edits. I think this is ready to take the {{Draft}} marker off. I'm sure that folks will find new things to add and change, but that's why we put it on a wiki! :)