Wikipédia:Esplanada/geral/Mais programadores na wikipédia Lusófona? (2abr2013)

Origem: Wikipédia, a enciclopédia livre.

Mais programadores na wikipédia Lusófona? (2abr2013)

Analisando o Café dos programadores e a Coordenação robótica é fácil constactar que o número de editores que se dedicam a gadgets, bots ou ferramentas é diminuto, e isso pode colocar vários problemas pois essa vertente mais *tecnológia* fica assente num pequeno número de editores, e quando um se ausenta ou abandona o projecto, perde-se valor humano, sem termos propriamente capacidade de o repor. Abusando um pouco do en:Bus factor, imaginemos que os que actualmente se dedicam a estas áreas, viajam juntos de avião, e o avião despenha-se numa ilha deserta. A partir desse dia, e enquanto não fossem salvos e voltassem ao projecto, ficaríamos órfãos, com ferramentas potencialmente a tornar-se obsoletas ou com bugs. É óbvio que é um panorama dramático, contudo parece-me que só teríamos a ganhar se quem tive-se algum interesse nessa áreas tive-se o apoio de quem já as domina, para termos mais massa crítica.

Posto isto, há gente interessada em participar nestas áreas, mas não se sente ainda confortável, e precisa de um empurrão, e, por outro lado, quem já participa activamente e com conhecimento suficiente para se sentir confortável, há gente disponível para [[ajudar|empurrar]]? Havendo interessados, podemos tentar criar algo como o mw:Mentorship programs/LevelUp ou algo ainda mais simples, nem que seja uma mera lista de gente que pode dar uma ajuda em determinada área, uma espécie de mentoria. No que toca a mim, estou disponível, especialmente em bots, com especial incidência em pywikibot, e certamente mais gente estará disponível para ajudar em outras áreas, posso criar um canal no irc específicamente para este tipo de conversas, onde a comunidade técnica possa conversar com mais facilidade. Alchimista Fala comigo! 17h29min de 2 de abril de 2013 (UTC)[responder]

Há uns tempos para cá, tenho tentado aprender um pouco de sintaxe javascript e python no Codecademy, mas não me sinto muito à vontade para programar, por isso estaria interessado nesse programa. GoEThe (discussão) 17h40min de 2 de abril de 2013 (UTC)[responder]
Tem toda razão e me lembro quando o Danilo.mac saiu e ninguém conseguia consertar o formulário das licenças do URC! Eu uso o AWB com facilidade e gostaria de aprender como é que poderia transformar algumas tarefas ali em bots, pois é muito enfadonho ficar de artigo em artigo apertando um botão ("Save"). Mas eu acho que a programação de gadgets também precisa de ajuda, principalmente transpor funções de outras wikis pra cá (perguntei recentemente sobre o gadget que coloca as categorias no topo da página que existe na enwiki e no commons e nem resposta tive)... comentário não assinado de Jbribeiro1 (discussão • contrib)
Alchimista, essa é de fato uma questão preocupante e acho ótima sua ideia de criarmos esse "programa de tutoria levelup". Estou disposto a ajudar e penso que poderíamos também fazer algo como tutoriais de programação em MediaWiki e de pywikibot, para pessoas que já são da área de computação mas não estão acostumados a programar no mundo wikipedia, apesar de serem editores dos artigos de computação por aqui (conheço vários asism!). HAndrade (WMF) (discussão) 18h08min de 2 de abril de 2013 (UTC)[responder]
Ponto interessante, gostei quando citou o bus factor. Estou trabalhando numa coisa que se relaciona com a questão: documentação de referência para usar os dados da Wiki. Há uma tradução em curso, que por hora não fala sobre ferramentas de programação, mas isso pode ser facilmente adicionado. Uma coisa que poderia ser wikificada, penso eu, são exemplos simples, o Alchimista publicou alguns muito bons no GitHub, essa é uma ideia escalável. --Jonas (WMF) (discussão) 18h36min de 2 de abril de 2013 (UTC)[responder]

Eu estou disposto a aprender e interessado no programa. Há uns tempos tentei modificar o MiszaBot para poder correr na pt.wiki. Estava quase funcional, e provavelmente um conhecimento um pouco mais aprofundado dos parâmetros teria solucionado o problema. Mas faltavam algumas bases e, obviamente, quando nos deparamos com uma parede, se não há grande apoio de grupo ou tempo, o mais certo é desistir ou, ainda mais num projeto voluntário onde há sempre outras coisas para fazer. Polyethylen (discussão) 18h37min de 2 de abril de 2013 (UTC)[responder]

Bom saber disso Polyethylen, escrevi um bot esses dias para o WikiMedicina, posso te ajudar com o que eu aprendi. --Jonas (WMF) (discussão) 18h58min de 2 de abril de 2013 (UTC)[responder]
Jonas, quem sabe um tutorial passo a passo a partir da documentação que o Jonathan já fez? Podíamos até criar algo na P2P University mais para frente. Mas antes um How to (como fazer) basicão mesmo é um ótimo passo! --ezalvarenga (discussão) 19h17min de 2 de abril de 2013 (UTC)[responder]
Em tempo, o robô que o Jonas falou é esse daqui wikiprojetosbot. Só estamos esperando a aprovação para poder vê-lo em funcionamento e poder contatar o ministério da saúde. Também estou pensando em envolver estudantes de neurologia e ciências em geral, ampliando a ferramenta para projetos de ciência natural. --ezalvarenga (discussão) 19h32min de 2 de abril de 2013 (UTC)[responder]
Muito boa iniciativa, Alchimista! Vocês que conhecem melhor a realidade de desenvolvimento aqui, acham que parcerias com cursos universitários de programação, ciências da computação e ciências da informação, como o Wikipédia na Universidade, mas voltado mais ao MediaWiki, seria uma forma interessante de catalisarmos mais envolvimento e ações na área de melhorias de código, criação de extensões etc? --Oona (WMF) (discussão) 19h41min de 2 de abril de 2013 (UTC)[responder]

Eu estou meio que na mesma situação do GoEThe, já tentei aprender mas preciso de um empurrão. Gustavo fala!!-fiz 19h55min de 2 de abril de 2013 (UTC)[responder]

Ocastro, já discutmos na wmp parcerias, e até temos programado realizar um hackathon ainda com data incerta, o problema é que sem uma base de apoio na wiki, pode ter o efeito contrário ao esperado. Corríamos o risco de ter programadores motivados para criar scripts, bots e ferramentas, e com conhecimentos de programação para isso, mas sem termos gente já familiarizada com o ambiente wiki para indicar onde é preciso ajuda, ou quais os recursos que podem utilizar. A partir do momento em que podemos contar com mais gente envolvida, torna-se mais fácil, e organiza-se uns hackathons e tenta-se cativar gente que ainda não está envolvido com a wikimedia.
HAndrade esses que são programadores e que já editam é que também poderiam ser uma boa adição, estando já familiarizados com as políticas e o ambiente wikipédico torna as coisas bem mais fácil, até porque já têm uma noção tanto de como funcionam as coisas internamente, como provavelmente têm já alguma noção de melhorias que bots gadgets e scripts podem levar, uma vez que já estão mais familiarizados. Alchimista Fala comigo! 20h43min de 2 de abril de 2013 (UTC)[responder]
Alchimista, observando a maioria dos comentários aqui acho que um bom primeiro passo nessa empreitada possa ser a confecção de materiais de referência. O que acha de criarmos esse material no Wikilivros? HAndrade (WMF) (discussão) 18h22min de 3 de abril de 2013 (UTC)[responder]

Concordo com o HAndrade: a maior dificuldade que encontro para programar mais é a falta de documentação de qualidade, quer aqui quer fora daqui. Talvez para isso contribua o facto de que eu próprio tento resistir a perder muito tempo investigando isso, pois não estou interessado em mais um "emprego" técnico, já que o que me move aqui é mesmo a parte de edição. Suspeito que a documentação existe algures, pelo menos em inglês, e/ou em muitos casos nem é necessário que ela seja muito boa, desde que haja listas de bons exemplos ilustrativos. Se essa minha suspeita estiver certa, um bom começo seria uma boa compilação de recursos disponíveis. Isso já seria uma ajuda imensa, e talvez seja muito mais simples de fazer por quem habitualmente programa a sério do que outras coisas menos eficazes. Traduzir documentação ou produzir documentação muito simplista, como é comum fazer-se nestes casos, é provavelmente pouco eficaz, pois creio que a esmagadora maioria das pessoas com conhecimentos de base para produzir algo mais do que uma simples navbox a partir de um exemplo não vai precisar de tais coisas.

A falta de documentação não é só para programação propriamente dita: a maior parte das predefinições sofre do mesmo mal, com a agravante de muitas terem mal ou parcialmente migradas para cá, pelo que nem a documentação dos originais serve de muito (parâmetros que não existem, outros que mudaram de nome, etc.). Há também inúmeros casos de documentação enganadora, com parâmetros que não existem ou têm outros nomes, outros omitidos, etc. Devia ser "proibido" alterar predefs sem documentar essas alterações... E isso acontece todos os dias. --Stegop (discussão) 20h12min de 3 de abril de 2013 (UTC)[responder]

De fato, existe uma carência de documentação em alguns assuntos. Sobre o robô python existe o mw:Manual:Pywikipediabot, em inglês, que ao meu ver é boa para quem está começando. Seria também interessante que as dúvidas fossem reportadas no café dos programadores e coordenação robótica, isso ajudaria a identificar que parte da documentação precisa de mais atenção. Uma coisa importante que acho que é pouco divulgada é que o robô python tem alguns scripts que permitem a realização de tarefas por pessoas que não conhecem python nem nenhuma linguagem de programação, dei um exemplo do uso de um desses scripts neste tópico da CR. Danilo.mac(discussão) 23h07min de 3 de abril de 2013 (UTC)[responder]
Uma ideia para organizar tudo o que foi discutido é criar uma página para juntar tudo o que possa ajudar no desenvolvimento de novos técnicos, algo como Wikipédia:Desenvolvimento técnico. Nessa página colocaríamos que partes da documentação precisa de melhoria, quem são os tutores técnicos, sites que ensinam a programar, etc. Essa área técnica da Wikipédia é muito grande e complexa, colocar tudo em uma página ajuda a entender melhor suas diferentes partes e a encontrar o melhor modo para desenvolver novos conhecimentos. O que acham da ideia? Danilo.mac(discussão) 14h02min de 4 de abril de 2013 (UTC)[responder]
Estava a pensar nisso Danilo, "gamei" o estilo de mw:How to contribute e apliquei em Usuário(a):Alchimista/p, para uma espécie de portal, que dizem do aspecto? No caso dos bots, por exemplo, temos Wikipédia:Como criar um robô que já é uma pequena ajuda para quem sabe programar, e adiciona-se ai um link para Wikipédia:Desenvolvimento técnico/pywikipediabot onde então concentramos a informação necessária tanto para aprender python, como o pywikipedia em si. Nos outros tópicos podemos seguir o mesmo caminho, que dizem?
Outro ponto que me parece importante, é que uma vez que pelos comentários já feitos, fico com a ideia de que o problema está mais em aprender python, ou pelo menos sentir-se confortável com o python, tendo já experimentado tutoriais ou manuais. Paralelamente á wiki e aos tutoriais espalhados pela net, o irc parece-me um excelente veículo de apoio, porque a comunicação é muito mais rápida, e especialmente em casos simples, onde um simples "u" pode fazer toda a diferença entre ter ou não ter um bug, perguntar no irc permite obter-se uma resposta rápida, enquanto que se for na wiki pode demorar minutos, ou horas. Não digo que seja um substituto à wiki, mas um complemento bastante útil.
Se houver gente interessada, posso criar um canal de irc dedicado a estas questões técnicas, e ajudar quem precisar de ajuda e aparecer lá. Canais temáticos dedicados a questões técnicas são bastante comuns no resto do mundo wikimédia, para terem ideia, assim de cabeça a en, a es e a fr têm, salvo erro, canais similares, o pywikipediabot igualmente, onde podem colocar questões ou reportar bugs, e mesmo ao nível wikimédia, há um somente para assuntos relacionados com o mediawiki, outro para a plataforma de servidores e software instalado nos projectos wikimedia, e por ai adiante. Podem ver uma lista desactualizada em m:IRC/Channels#MediaWiki_and_technical (qualquer um pode entrar num desses canais e falar.). Se alguém quiser experimentar e precisar de ajuda, podem deixar-me uma mensagem, ou mandar um mail. Especialmente ao final da tarde em pt costumo estar no #wikipedia-pt, estando on, posso ajudar quem precisa. A título de exemplo, visto haver certa relutância relativamente ao irc, vejam mw:How_to_become_a_MediaWiki_hacker#Discuss_and_get_help. Alchimista Fala comigo! 15h06min de 4 de abril de 2013 (UTC)[responder]
Alchimista, adorei o que você fez em Usuário(a):Alchimista/p -- muito bem feito. Eu topo ajudar no canal do IRC, só peço o endereço. --Jonas (WMF) (discussão) 15h44min de 4 de abril de 2013 (UTC)[responder]
Concordo que esse é um bom caminho a seguir e também me disponho a estar no canal para ajudar sempre que for possível. HAndrade (WMF) (discussão) 20h17min de 4 de abril de 2013 (UTC)[responder]
Interessante essa página. Mas minha ideia era fazer uma espécie de resumão em uma única página, incluindo também MediaWiki, Toolserver e tutoria técnica, como este esboço. Danilo.mac(discussão) 23h46min de 4 de abril de 2013 (UTC)[responder]
E caminha-se precisamente para isso Gusta, estamos é a ver a melhor forma de organizar a informação, mas parece-me que teremos documentação para iniciantes e para programadores experientes e um café para iniciados em programação (os mais avançados poderão usar o café dos programadores).
Danilo, ambas as páginas complementa-se perfeitamente, creio que uma sem a outra diminui as potencialidades. Uma com uma visão geral, uma espécie de portal para as várias àreas, e outra mais completa e com mais informação específica. Podemos ter como página principal a página com as informações gerais, e com uma chamada destacada no cabeçalho, para algo como index geral ou coisa parecida, ou então essas informações estarem em colapse. Ou seja, ficaria-mos com os tópicos gerais na página principal, e depois as informações mais detalhadas nas sub-páginas, repara que na mediawiki tens mw:How_to_contribute, e no desenvolvimento tens duas grande páginas: mw:How to become a MediaWiki hacker e o mw:Developer hub. Alchimista Fala comigo! 15h07min de 5 de abril de 2013 (UTC)[responder]
Concordo, pode-se ter as duas páginas, uma página de visão geral com um link para uma voltada a novos técnicos. Danilo.mac(discussão) 16h13min de 5 de abril de 2013 (UTC)[responder]

Bom, proponho para já o seguinte, para começar-mos a mostrar resultados e termos uma plataforma mínima:

Depois poderemos ir alargando para outras áreas, à medida que mais alguém decida pegar em cada uma (ou então se alguém puder pegar já, seria fenomenal):

Ainda pensei em algo como Wikipedia:Desenvolvimento técnico/Python/Pywikipediabot, mas ai talvez seja melhor manter o materia de Wikipedia:Desenvolvimento técnico para a aprendizagem mais inicial, e expandir a documentação fora do domínio. Que dizem? Propostas de alterações? Alchimista Fala comigo! 21h15min de 5 de abril de 2013 (UTC)[responder]

Recentemente os desenvolvedores deram um grande passo no sentido de facilitar a programação em JavaScript nos sites que usam o MediaWiki, implementando documentação gerada automaticamente para os recursos de JavaScript:

Ver também discussão anterior na wikitech. Helder 13h18min de 7 de abril de 2013 (UTC)[responder]

A ideia que eu tinha era diferente, para mim a página Usuário(a):Alchimista/p ficaria em algo como Wikipédia:Índice técnico, como um índice para as principais páginas de assuntos técnicos, e Usuário:Danilo.mac/Desenvolvimento técnico, que pode se tornar muito maior, ficaria como um guia, em uma página única, específico para quem está aprendendo sobre a parte técnica da Wikipédia, o conteúdo de Usuário(a):Alchimista/p/python poderia entrar nessa página. No entanto, apoio esse modelo se for a vontade da maioria, o importante é ter um modelo que promova o desenvolvimento de novos técnicos. Danilo.mac(discussão) 20h06min de 8 de abril de 2013 (UTC)[responder]
Alguém se opõe a que mova essas páginas, e possamos dar início às tutorias? Alguma crítica/objecção/proposta ? Alchimista Fala comigo! 16h05min de 9 de abril de 2013 (UTC)[responder]
Alchimista, essas páginas de documentação/referência que você fala, elas estão dentro de algum contexto/projeto? Seria ótimo organizar esses esforços com outras iniciativas, as coisas ficam mais organizadas e centralizadas no fim das contas, sugestão. Pergunto isso porque estou desenvolvendo material de referência sobre tópicos semelhantes, a versão alpha está em Material de referência e Wikipédia em dados. Abs. --Jonas (WMF) (discussão) 05h29min de 15 de abril de 2013 (UTC)[responder]
Isso ajuda de alguma forma: mw:How_to_become_a_MediaWiki_hacker e mw:How_to_contribute?--Oona (WMF) (discussão) 10h39min de 15 de abril de 2013 (UTC)[responder]
Ajuda. Acredito que algo que poderíamos fazer é um mini-hackathon bem básico sobre MediaWiki, para aquele cara leigo que não sabe nada de programação, explicando o que é necessário para ter uma versão rodando (quais servidores hospedar, como manter, comom fazer backup, custo, o que são extensões e como instalar etc.) e gravar isso, com vídeos tutoriais básicos em português explicados de maneira didática.
Atrairia gente, se fosse bem produzido. Vide o to INEP onde fizeram uns videozinhos bacanas sobre o evento. Também organizei um na Câmara Municipal de São Paulo pela OKFN e tenho que relatar como foi. --ezalvarenga (discussão) 12h55min de 15 de abril de 2013 (UTC)[responder]
Bom, estive a falar com o User:Qgil, o Volunteer coordination and outreach da wikimedia (basicamente, o responsável por se dedicar à coordenação de voluntários, e obter mais voluntários para tarefas técnicas), e trocamos alguns pontos que me parecem interessantes.
  1. Devemos evitar duplicação de informação, ou seja, ter documentação aqui que poderia estar no mediawiki.org, ou vice versa. O mesmo se aplica em tentar criar localmente muita informação, e não a transpor para o meta.
  2. Surgiu igualmente a recomendação para usar o programa local como ponto de partida, mas nunca deixando de tentar integrar os editores locais na comunidade global de devs. E isto faz todo o sentido, porque ai é possível ter muito mais ajuda, e com programadores extremamente capacitados, permitindo focar localmente em capacitar os interessados a movere-se com à-vontade nesse mundo.
  3. Começar preferencialmente com um programa, para que se possa ter uma primeira experiência, melhorar o que tiver de ser melhorado, e posteriormente ir expandido o programa a outras áreas.
Devo dizer que há interesse em darem-nos apoio, dentro do que puderem dar, quer do Qgil quer da comunidade global de programadores. Aliás, tendo em conta que aparenta ser o primeiro programa do género, há um interesse em acompanhar como corre, para eventualmente poder se aplicado noutras comunidades. Alchimista Fala comigo! 15h59min de 15 de abril de 2013 (UTC)[responder]
Jonas, essa documentação ficaria dentro de um contexto introdutório, ou seja, os que pretendem por exemplo, desenvolver as capacidades em python, teriam o apoio dessa página. Ao mesmo tempo, poderiam colocar as dúvidas que entretanto surgissem numa esplanada, ou directamente aos mentores. Mas de forma alguma serviriam como centro de documentação, quando muito, um portal para iniciantes na programação, porque a documentação mais aprofundada estaria em mediawiki.org / wikitech.org ou então nas páginas apropriadas locais (info sobre o AWB, por exemplo, estaria na página do AWB). Ou seja, tirando a parte pedagógica, seria igualmente expandida a documentação das várias páginas específicas (wp:AWB, wp:pywikipediabot, wp:gadgets) e afins, assim como expandida/traduzida a documentação para pt no mediawiki / wikiteck.
Certo, eu concordo. Uma coisa muito comum na WP é material duplicado e não integrado. Esse página de teste com abas funciona como índice de matérias dos assuntos, o material do MediaWiki está muito bom (em inglês), um esforço conjunto de tradução servirá de base para toda a comunidade. O que você acha? --Jonas (WMF) (discussão) 18h51min de 18 de abril de 2013 (UTC)[responder]
Oona essas páginas são muito boas, mas infelizmente vocacionam-se mais para quem já é programador, o que podemos fazer localmente é ajudar as pessoas nos primeiros passos, até que cheguem ao nível de se sentirem devidamente enquadrados e capacitados para entenderem e se orientarem ai.
Everton, é uma boa ideia, e até será provavelmente o mais fácil dos hackathons de realizar, no entanto, faz mais sentido realizar no âmbito da comunidade global de developers. Isto porque apesar de a pt.wp ser construida por cima do mediawiki, em termos locais, a única coisa que precisamos é de localização (tradução das mensages de sistema). Aliás, a comunidade mediawiki está a milhas do resto em termos de organização, e actualmente é até possivel criar "Local groups" (uma espécie de chapters locais, só de developers). Alchimista Fala comigo!
Como há interessados em participar e ninguém se opôs à movimentação das páginas para o nome proposto, tomei a liberdade de as mover. Wikipédia:Desenvolvimento técnico talvez precise de uns ajustes, contudo podemos discutir os pormenores específicos em Wikipédia:Desenvolvimento técnico/Coordenação. Alchimista Fala comigo! 17h48min de 7 de maio de 2013 (UTC)[responder]