Wikipedia talk:Bot policy

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Peacedove.svg The project page associated with this talk page is an official policy on Wikipedia. Policies have wide acceptance among editors and are considered a standard for all users to follow. Please review policy editing recommendations before making any substantive change to this page. Always remember to keep cool when editing. Changes to this page do not immediately change policy anyway, so don't panic.

Archive 1 · Archive 2 · Archive 3 · Archive 4 · Archive 5 · Archive 6 · Archive 7 · Archive 8 · Archive 9 · Archive 10 · Archive 11 · Archive 12 · Archive 13 · Archive 14 · Archive 15 · Archive 16 · Archive 17 · Archive 18 · Archive 19 · Archive 20 · Archive 21 · Archive 22 · Archive 23 · Archive 24 · Archive 25

Control proposals

Archive policy

Archive interwiki (also some approvals for interwiki bots)

Common genfixes[edit]

I think that having a common set of approved and tested genfixes for all bots and software will leverage automation efforts; every time some specific problem is fixed on a page by a bot, all the generic fixes would also be applied. The genfixes would need thorough planning and testing, and be implemented in a way that can be accessed universally. The planning and testing I'll put to one side.

Universal access basically means an interface written in C (for example, PHP can call a C interface), but as we have no parser in C that I'm aware of (I believe one's being written in C++ for Cluebot), I suggest we go with the only wikitext parser that's available: mwparserfromhell. There are mechanisms to call Python from C. So I propose a thin C wrapper around a Python core, with genfixes implemented in Python. I'd suggest a simple interface: pass a chunk of wikitext, get a chunk of genfixed wikitext back.

Perhaps as a first goal the genfixes from AWB could be implemented. Josh Parris 10:34, 17 December 2013 (UTC)

FYI, I for one wouldn't use this C library with a Python core in my Perl bot. I also worry that, no matter how foolproof you try to make it, fools will still wind up turning what would have been a null edit into a genfixes-only edit just as they sometimes do now with AWB.
From a personal perspective, I'm not particularly fond of genfixes in general as they sometimes make it hard to see what real change the bot might have made to the page in the midst of all the "fixes". Anomie 12:04, 17 December 2013 (UTC)
Hmmmm, if the function replaces whatever library save you have (i.e. SaveWithGenfixes) and you're required to pass in the SHA-1 returned by rvprop when you got the text, the SHA-1 could be recalculated prior to applying genfixes to ensure something had happened prior to being passed to SaveWithGenfixes. Of course, that assumes that the user of the function isn't maliciously changing the SHA-1 and submitting unchanged text. Josh Parris 00:21, 18 December 2013 (UTC)
The reason I dislike genfixes is because they muddy up the actual bot edit to the page. Secondly, there is no clear line between what is a genfix okay to be done en masse by bot and what isn't. A lot of current genfixes are just style and syntax that not necessarily have consensus to be done by bot. Finally, it's a lot to assume about how a particular bot actually works and what can and cannot be passed to a black box genfix plugin. Not to mention having 2 different languages in potentially another language (personally, I wouldn't ever use a system like this). I'm not sure AWB guys would implement this, and they are the predominant bot users. This all could theoretically be solved with a lot of work and I somehow doubt that will happen. And how would updates be applied? I also really doubt the readiness of most bot operators to follow and promptly update their bots (as pywiki interwiki bots have shown). —  HELLKNOWZ  ▎TALK 13:01, 17 December 2013 (UTC)
As to what genfixes are okay and what aren't, that'd be up to the BAG.
Updates would be handled by the genfixes black-box automatically downloading updates to itself, much in the way Firefox or Chrome do. The whole thing would be owned and managed by the BAG, and presumably hosted on labs.
@Magioladitis:, @Reedy:, @Rjwilmsi: what is viability and attractiveness for AWB? Josh Parris 00:21, 18 December 2013 (UTC)

There's a common objection about meaningful changes being obscured by genfixes. I don't know what to do about that. I guess making genfixes configurable (all the way down to "none of the above") might be a way around that.

There's another common objection: mixed languages are scary. Sure, if you are responsible for the genfixes part of the bot. But all the development for that will be handled by "someone else"; as an operator, all you'd do is install the bootloader version and it'd handle the rest. From that point on, you'd code in the language of your choice and the common genfixes would look after itself; it would be a true black box.

I guess alternatively, genfixes could be implemented as a webservice, where bots send their changes to the webservice, and the webservice returns genfixed changes. Again, the functionality would need oversight by BAG. Josh Parris 00:21, 18 December 2013 (UTC)

I worked a lot on this direction by myself. There is still inconsistencies between automated tools (AWB, AutoEd, WPCleaner, etc.) which I am trying to spot, notify the programmers and get them update their code. I think that agreeing in a minimum part of changes that all bots will do in addition to a main task is possible but, I guess, it will require rewriting the same set of code in various languages to suit the various existing bots. -- Magioladitis (talk) 07:09, 18 December 2013 (UTC)

There's a fundamental decision here as to whether it is desirable for bots to carry out their change plus genfixes in the same edit or not. There are arguments for and against. This is a policy matter, personally I don't see the likelyhood of getting a clear decision either way.
As to whether there could be a standard set of genfixes available to all bots: bots work in different languages, so I can't see a single solution that would work for all bots, and I don't think it's reasonable to mandate that all bots have to be able to call a perl/C/webservice module. And as a bot operator should you be required to provide support/explanations to editors who query the genfixes part of your bot's edits? Using this standard genfixes would surely have to be optional. In terms of translating the AWB genfixes, we make heavy use of specific C# language features (nested bracket regex matching, MatchEvaluator, Dictionary, HashSet) that I think may be difficult to directly reimplement in another OO language such as Java, probably very difficult to translate into procedural langauge such as Perl. Things would have to be re-written from scratch, would a procedural language support unit tests? You're talking about re-writing about 5 years' cumulative effort there. Of course it can be done but I think the effort would be very high. Others are of course welcome to do so, AWB's code is GPL so please use it within the terms of that licence, but it's not something I would see myself working on. Rjwilmsi 09:03, 18 December 2013 (UTC)

BAG Membership request[edit]

I have been nominated for BAG membership. Input is invited. The request can be found at Wikipedia:Bot Approvals Group/nominations/Cyberpower678 2.—cyberpower OnlineMerry Christmas 14:23, 22 December 2013 (UTC)

BAG membership nomination[edit]

Per the bot policy, I am making this post to inform the community of a request for BAG membership. Please feel free to ask any questions/comment there. -- Magioladitis (talk) 06:35, 8 June 2014 (UTC)

Archiving of this page[edit]

2RR is enough for me, I'll leave this to other editors to check in to now. For some reason Headbomb feels that multiple comments left here by IZAK cross-posting another discussion should be deleted rather then archived. We are obviously in conflict so I would welcome anyone else to decide if the archive should be restored or left deleted. Thanks, — xaosflux Talk 02:49, 13 August 2014 (UTC)

Why should comments irrelevant to bot policy be archived? See Wikipedia:TALK#USE "Stay on topic: Talk pages are for discussing the article, not for general conversation about the article's subject (much less other subjects). Keep discussions focused on how to improve the article. Comments that are plainly irrelevant are subject to archival or removal." See also the same kinds of removal by Hasteur. Headbomb {talk / contribs / physics / books} 02:54, 13 August 2014 (UTC)
@Xaosflux, Headbomb: I agree with Headbomb on this. The multiple comments left were off-topic. I would like to be able to search and read archives. This would not be possible if they were full of irrelevant topic. Thanks, Magioladitis (talk) 11:34, 13 August 2014 (UTC)