Wikipedia:Bot/Etica del manovratore
Questa pagina ha lo scopo di fornire indicazioni semplici ai manovratori di bot sulle principali pratiche tecniche consigliate e sul comportamento generale di un buon manovratore.
Caratteristiche richieste ad un bot
[modifica wikitesto]Parafrasando le tre leggi della robotica, un bot innanzitutto:
- non deve arrecare danni
- deve essere utile
- non deve consumare risorse inutilmente
In particolare, per "danni" si intendono per esempio l'introduzione di errori nelle pagine, la rimozione di informazioni utili al progetto o comunque modifiche sulle quali non vi sia il consenso della comunità di Wikipedia.
Per poter operare su it.wiki ogni bot deve essere autorizzato.
Linee guida
[modifica wikitesto]Utenza bot
[modifica wikitesto]Per facilitarne il rapido riconoscimento in fase di patrolling, il bot deve effettuare le modifiche loggandosi con un'utenza separata da quella del manovratore. È richiesto che il nome di questa utenza contenga la parola bot.
Comunicazione
[modifica wikitesto]Il lavoro del manovratore è difficile e spesso ingrato. Il fatto di poter arrecare grandi danni in breve tempo porta la maggior parte degli utenti ad avere un atteggiamento piuttosto severo nei confronti dei manovratori. Per questo motivo è fondamentale che chi gestisce un bot abbia una particolare cura nel gestire le comunicazioni correlate a questa attività.
Essere in grado di rispondere cordialmente, rapidamente e in maniera pertinente è una condizione importante per poter gestire un bot.
Sempre al fine di migliorare l'aspetto comunicativo è importante utilizzare oggetti delle modifiche chiari ed esplicativi. Vedi inoltre qui sotto sulla pagina utente.
Pagina utente di un bot
[modifica wikitesto]Nella pagina utente di un bot devono essere presenti con chiarezza innanzitutto due informazioni: il fatto che l'account in questione è un bot e il nome ("nickname") del manovratore (o dei manovratori). La pagina di discussione utente del bot dovrebbe contenere un link o un redirect a una pagina di discussione utente che il manovratore legga frequentemente (particolarmente importante se il progetto in cui il manovratore è più attivo non è questo).
Per i motivi esposti nella sezione #Comunicazione, sarebbe anche opportuno fornire informazioni sulle principali attività svolte dal bot in modo da garantire la massima trasparenza e far comprendere agli altri utenti che cosa sta succedendo, cosa che non è sempre facile se un bot sta facendo migliaia di modifiche (controllarle a una a una per farsi un'idea del suo operato complessivo non è particolarmente comodo); è inoltre impossibile prevedere che cosa farà il bot in futuro (ad esempio nel caso di operazioni in più passaggi) a meno che non lo si scriva. Migliorare la comunicazione significa ridurre le probabilità che si renda necessario rispondere alle domande degli utenti a uno a uno o che le proprie modifiche siano contestate o annullate, quindi consente un risparmio di tempo. Inoltre è un modo per riassumere le passate attività del bot (è giusto vantarsene un po').
Pubblicare i sorgenti è facoltativo, ma utile nell'ottica di un progetto collaborativo come Wikipedia: in questo modo, infatti, gli altri utenti potranno:
- capire meglio che cosa stai facendo,
- darti più facilmente consigli per migliorare,
- applicare la tua esperienza usando il tuo codice per altri progetti,
- evitare di reinventare la ruota (specie in caso di progetti simili in corso parallelamente),
- proseguire il tuo lavoro qualora non avessi più il tempo di farlo tu stesso (particolarmente importante per le operazioni da eseguire regolarmente, dato che a tutti può capitare una wikipausa più o meno forzata anche piuttosto lunga o permanente, e la comunità deve essere messa nella condizione di reagire velocemente).
Non serve che i sorgenti siano già perfetti: l'ottica wiki di lavori sempre in corso e perfettibili vale anche in questo ambito, quindi non essere timido. Tipicamente i sorgenti vengono condivisi in sottopagine della pagina utente del bot, ma per organizzarli meglio e allargare la partecipazione anche a utenti di altri wiki era stato creato il botwiki:, oggi obsoleto e successivamente parzialmente sostituito da Pywikibot. È utile anche segnalare i programmi, o almeno quelli più interessanti, innovativi o che hanno richiesto più tempo per essere scritti, in Discussioni Wikipedia:Bot (altrimenti per accorgersi della loro esistenza gli altri manovratori dovranno spulciarsi le ultime modifiche alla ricerca di modifiche interessanti da parte dei bot: non molto pratico).
Altrettanto utile sarebbe inserire un pulsante di emergenza per facilitare l'eventuale intervento di un amministratore.
Linee guida sulle operazioni da svolgere e respingere
[modifica wikitesto]- Non fare mai sostituzioni in contrasto con le linee guida del progetto o sulle quali il consenso non sia ovvio. Ad esempio correzioni stilistiche non contemplate dal manuale di stile, modifiche importanti mai discusse prima, modifiche la cui discussione è ancora in corso o che sarebbe prudente far partire.
- Non "correggere" mai in massa varianti linguistiche accettabili, nemmeno qualora ci fosse consenso che non sono quelle preferibili. Le sostituzioni grammaticali/ortografiche servono a correggere gli errori, non a sopprimere le varianti riducendo il pluralismo linguistico e appiattendo la lingua su uno specifico "stile" (dal punto di vista diastratico, diafasico o diacronico): ciò può essere particolarmente pericoloso, perché Wikipedia è una delle opere più lette del mondo contemporaneo (ma ha una forte variabilità di registri e stili linguistici a causa della varietà degli autori) e modificare la lingua usata in Wikipedia (appiattendola) significa in un certo senso modificare la lingua stessa (anche se sicuramente i correttori ortografici dei programmi di videoscrittura hanno un effetto maggiore su chi scrive). Anche per questo, in passato la comunità si è mostrata molto sensibile a questi temi e si è fortemente opposta, ad esempio, alla correzione automatica di se stesso in sé stesso (la seconda forma è quella considerata oggi preferibile, ma l'esempio varrebbe anche al contrario, qualora il Manuale di stile stabilisse per qualche motivo che è preferibile se stesso) o alla soppressione di spengere (variante regionale accettabile secondo i vocabolari) in favore di spegnere, e così via. Per questo, del resto, il Manuale di stile non impone alcun particolare stile linguistico, ma si limita a segnalare alcuni errori grammaticali veri e propri e raramente a consigliare alternative preferibili ad altre (ma non "obbligatorie"); in generale, il Manuale di stile si concentra sullo stile grafico e "tipografico" o di formattazione e organizzazione logico-strutturale delle voci.
- Eseguire sostituzioni automatiche solo quando si ha praticamente la certezza che non ci saranno falsi positivi, ovvero dopo un adeguato rodaggio in modalità assistita. Alcune sostituzioni standard classificate come "automatiche" non sono sufficientemente sicure da operare in automatico: non di rado per evitare falsi positivi sono comunque necessari alcuni accorgimenti.
Altre pratiche consigliate
[modifica wikitesto]- Usare il dump ogni volta che si devono scandagliare tutte le pagine e in particolare evitare il parametro -start:! con replace.py. Questo comando infatti, costringe il bot a scaricare 1 889 421 pagine per ogni sostituzione, sovraccaricando inutilmente i già indaffarati server di Wikimedia. Senza considerare che -start:! è lentissimo e rende poco pratica la modalità di sostituzione assistita (usare l'automatica per poi passare a correggere tutti gli errori in un secondo momento è una pratica sconsigliabile per diversi motivi). Esistono numerose alternative al parametro -start:
- -xml:nomedump - il metodo più veloce per l'operatore e meno pesante per il server quando si devono scandagliare tutte le pagine. Su en.wiki ad esempio è tassativo usare il dump per queste operazioni.
- -links:pagina - tutte le pagine che ricevono un wikilink da una determinata pagina
- -ref:pagina - tutte le pagine che contengono un link alla pagina specificata
- -transcludes:template - tutte le pagine che includono un determinato template
- -cat:categoria - tutte le pagine presenti in una determinata categoria
- -file:nomefile - tutte le pagine collegate con un wikilink all'interno di un file di testo (ad esempio una lista di voci creata ad hoc)
- Quando l'operazione sul dump richiederebbe troppo tempo o non si è in grado di selezionare le voci interessate, per ridurre l'insieme delle voci da analizzare si può richiedere la creazione di un elenco generato offline sulla base di specifici parametri.
- Per maggiori informazioni su questi e altri parametri fare riferimento alla pagina di aiuto per replace.py.
- Quando si usa replace.py:
- usare preferibilmente il file user-fixes.py piuttosto che le sostituzioni su riga di comando. In questo modo tutte le espressioni regolari e le eccezioni che interessano una determinata sostituzione possono essere testate con cura e riapplicate con minor rischio di errori.
- applicare sempre le esclusioni adeguate. È fondamentale infatti evitare sostituzioni non previste ad esempio tra gli interwiki ad altre lingue o ad altri progetti, nei parametri dei template, negli url dei collegamenti esterni, in porzioni di codice, nei nomifile delle immagini, ecc. Per maggiori informazioni sulle esclusioni all'interno del file user-fixes.py vedi mw:Manual:Pywikibot/replace.py/it.
- Ridurre il numero di edit a quelli strettamente necessari: non fare in due passaggi quello che si potrebbe fare in un solo. Riduce il carico di lavoro per i server, migliora la leggibilità della cronologia e marginalmente aiuta a prevenire l'editcountitite.
- Evitare edit costituiti unicamente da sostituzioni inutili. Ad esempio [[Immagine: --> [[File:[1] oppure <br> --> <br />[2].
- Operare solo nel namespace principale (-namespace:0), a meno che non si sappia cosa si sta facendo e non ci siano esigenze specifiche. Se si opera al di fuori del ns:0 non modificare mai le pagine archiviate, non fare correzioni futili nel namespace utente o nel namespace discussioni (es. non correggere a tappeto le firme); se lavori in modalità automatica, presta molta attenzione.
- Se si riutilizza del codice altrui eseguire comunque adeguati test preliminari: ogni operatore è responsabile delle modifiche del proprio bot. Non si può e non è giusto chiedere a chi pubblica del codice di verificarlo periodicamente: un'espressione regolare che non aveva dato problemi nel 2007 potrebbe anche fare grossi danni oggi.
- Loggarsi periodicamente attraverso browser con l'account bot in modo da verificare se ci sono notifiche. In particolare se qualcuno ha annullato degli edit senza lagnarsi con il manovratore. In questo modo si possono trovare problemi mai segnalati e prevenire edit war con utenti poco smaliziati o con altri bot. Se nel sistema si ha installato più di un browser può risultare comodo sfruttare quello meno utilizzato per l'account bot.
Note
[modifica wikitesto]Pagine correlate
[modifica wikitesto]- Wikipedia:Bot
- Wikipedia:Wikiquette
- Wikipedia:Bot/Richieste, offerte di lavoro per bot
Altri progetti
[modifica wikitesto]- mw:Manual:Pywikibot/it - La suite Pywikibot
- mw:Manual:Pywikibot/replace.py/it - Pagina di aiuto per lo script Replace.py della suite Pywikibot
- Ultimi dump disponibili
- en:Wikipedia:Bot policy
- en:Wikipedia:Creating a bot
Collegamenti esterni
[modifica wikitesto]- regular-expressions.info - Ottimo sito per imparare ad usare le espressioni regolari.
- regexr.com - Sito per provare le espressioni regolari
- HOWTO sulle Espressioni Regolari in Python
- Guide in italiano per imparare ad usare Python