Jump to content

Desarrolladores nuevos

From mediawiki.org
This page is a translated version of the page New Developers and the translation is 34% complete.
Outdated translations are marked like this.

This page explains how to get started as a developer who wants to contribute to Wikimedia technical projects.

¡Bienvenido!

Participantes de la Wikimedia Hackathon 2019

La comunidad técnica de Wikimedia siempre da la bienvenida a nuevos contribuidores a nuestros proyectos.

Forma parte de una comunidad global y ayuda a que el acceso al conocimiento libre sea más fácil para todos!

Cómo comenzar a contribuir

The following steps are a general outline of how to get started contributing:

  1. Learn the basics of how Wikimedia open source software projects work.
  2. Read the Communication guidelines.
  3. Set up accounts: Create a developer account. Depending on the type of contribution you want to make, you may also need to set up accounts in Phabricator, and set up Git and Gerrit.
  4. Escoge un proyecto de software
  5. Escoge y resuelve una tarea (escribe y prueba tu código)
  6. Envía tus cambios de código Follow the Guide to getting your code reviewed and submit a patch.

The rest of this guide provides additional details about the process.

Basics of how Wikimedia software projects work

Wikimedia tiene cientos de proyectos de software en muchas áreas diferentes.Revisa esta presentación si quieres obtener una visión general.

Quienes mantienen a cada proyecto de software son bastante libres de elegir la infraestructura que prefieran. En general, básicamente todos los proyectos de software tienen

  • Un task tracking herramienta en la que se notifican, gestionan y debaten los fallos de los programas informáticos y las solicitudes de mejora.Ejemplos son Wikimedia Phabricator, GitHub, o Sourceforge.
  • a code repository where the source code can be "checked out" to everybody. Examples are Wikimedia Git/Gerrit, GitHub, or Sourceforge.
  • a code review tool where proposed code changes (so-called patches) get discussed and improved. Examples are Wikimedia Git/Gerrit, GitHub, or Sourceforge. Once your proposed patch is good and is merged into the code repository, your code changes will become available to everybody. (You could read more about good practices for code review here.)
  • general places for discussion of the software project and/or for receiving help and support. Those places can be mailing lists or IRC chat channels or wiki pages or other places. The exact places depend on each project. You could also contact specific mentors via "Email this user" on their user pages, but note that "questions asked in private don't help others".

At any point, if you run into problems or need help, please ask. To ask good questions in the right places, follow the "communication tips".

Overview of technical areas

For an overview of Wikimedia technology and examples of the major areas where developers can contribute, visit Introduction to the Wikimedia Technical Ecosystem.

Contributing to software in MediaWiki

Are you a user of a MediaWiki wiki looking to add a feature or fix a bug in one? Please see Cómo llegar a ser un hacker de MediaWiki to learn how to find and contribute to the software project part of MediaWiki you are looking for.

Escoger un proyecto de software

The following projects offer resources, mentorship, and are looking for new developers to contribute to them. Choose one of the following projects and follow the project's documentation to set up your development environment, choose a task to work on, solve the task, and submit your code changes for review. You are free to contribute to these projects or any others you are interested in related to Wikimedia. Most can be found by searching for them on Phabricator or online.

Kiwix

Screenshot

An offline reader for people without internet access

Commons App for Android

Screenshot

Una aplicación para dispositivos Android para subir tus fotos a Wikimedia Commons

Wiki Education Dashboard

Screenshot

A web application that supports Wikipedia education assignments, provides data and course management for instructors and students

  • Habilidades requeridas: Ruby, JavaScript
  • Ponte en contacto: #wikimedia-ed connect on irc.libera.chat
  • ver código fuente GitHub
  • Leer la [[2]]
  • Revise las tareas recomendadas para trabajar: GitHub
  • Mentor(es): Sage Ross

Logo Pywikibot

Terminal

A Python library and collection of scripts that automate work on MediaWiki sites.

Scribe Scribe

Scribe features

Scribe provides Wikidata based keyboards for second language learners. Features include translation, verb conjugation and noun-gender annotation. This project is very open to those who want to learn the needed languages and how to work with Wikidata!

Logo VideoCutTool

VideoCutTool

A tool to edit the videos on Wikimedia Commons.

SignIt SignIt Firefox Extension

Screenshot

Lingua Libre SignIt web-browser extension translates selected written word via an elegant pop up so you learn sign language while reading online. You can add a signed video using Lingualibre.org by selecting a signed language, then video recording yourself while signing.

Are you a maintainer and want your project to be included in the list of software projects above? Find out more and join!

Outreach programs and single tasks

In addition to the recommended software projects above, there are more ways to choose a project or task to work on:

Logo Outreach Programas

Wikimedia offers internships in programs such as Google Summer of Code and Outreachy.

Logo Good first tasks

There are many single tasks (across many software projects) that are suitable for newcomers.
However, mentors may not be available for these tasks, and your proposed patches may not receive fast reviews.

Communication tips

Sigue estos consejos para comunicar eficazmente y obtener ayuda de otros miembros de la comunidad.

Utiliza eficazmente las tareas de Phabricator

Cuando te plantees trabajar en una tarea de Phabricator :

  • No es necesario pedir permiso: Puedes trabajar en tareas no asignadas sin tener que pedir que alguien te las asigne. No hay una autoridad que asigne las tareas ni alguien a quien haya que preguntar en primer lugar.
    • Si una tarea ya tiene un parche reciente en Gerrit, elige una tarea diferente en la que trabajar.
    • Si un parche existente en Gerrit aún no se ha fusionado y no ha tenido cambios en mucho tiempo, puedes mejorar ese parche que ya existe en función de los comentarios que haya recibido en Gerrit y de la tarea.
  • Investiga de antemano: Cuando te plantees trabajar en una tarea, investiga antes de escribir código. Mira el código, trata de entender lo que se supone que tiene que hacer, lee la documentación al respecto y trata de encontrar los lugares donde tienes que cambiar el código.
    • En una tarea de Phabricator , utiliza las etiquetas de proyecto en la barra lateral para encontrar el repositorio de código para la tarea.
    • Si no tienes ni idea de cómo arreglar el error, trata de encontrar primero una tarea más fácil.
  • No hace falta que anuncies tus intenciones antes de empezar a trabajar en una tarea, pero si estás trabajando en una en estos momentos, dilo.
    • Cuando empieces a trabajar, asígnate la tarea haciendo clic en Edit Task… en Phabricator, e introduce tu nombre de usuario en Phabricator en el campo Assigned To. Esto comunica a los demás que estás trabajando en ello, para evitar que se duplique el trabajo.
    • Cuando cambies tus planes o intereses: Si ya no estás trabajando en una tarea, desasígnatela. Esto les dice a los demás que pueden trabajar en la tarea sin que asuman que vas a seguir con ella.
  • Sigue la etiqueta de Phabricator.
    • En las tareas de Phabricator, limítate a discutir sobre cuestiones específicas acerca de esa tarea. No utilices Phabricator para plantear preguntas generales, por ejemplo, sobre cómo montar un entorno de desarrollo o cómo solucionar problemas con Gerrit.

Haz buenas preguntas

  • No preguntes si puedes preguntar: ¡pregunta!.
  • Sé conciso y proporciona contexto: En lugar de preguntar sin más «¿Me pueden dar más información?», «Necesito ayuda» o «Por favor, díganme cómo empezar», incluye la siguiente información en tu pregunta:
    • ¿Qué estás tratando de conseguir?
    • ¿Qué has intentado hasta ahora? Copia y pega tus comandos y su salida (si no es demasiado larga) en lugar de parafrasear esto en tus propias palabras.
    • ¿Qué has descubierto durante tu investigación? Incluye los enlaces al código, la documentación u otros recursos que ya hayas consultado.
  • Emplea títulos y líneas de asunto específicos en tu comunicación. «Proyecto de propuesta» o «Necesito ayuda» no son específicos.
  • Procura que las conversaciones sean legibles: Cuando respondas en Zulip, en las tareas de Phabricator o en listas de correo, limítate a citar secciones de comentarios anteriores que sean relevantes para tu respuesta. Si citas un comentario anterior completo, hace que los hilos de discusión resulten difíciles de leer.

Sigue las políticas y buenas prácticas de comunicación

Antes de enviar o publicar tu pregunta:

Pregunta en el lugar correcto

  • Pregunta en público: No envíes mensajes privados si el tema de tu conversación no es secreto. Los mensajes privados no ayudan a los demás.
  • Pregunta y discute en el lugar más adecuado:
    • En las tareas de Phabricator, limítate a discutir sobre cuestiones específicas acerca de esa tarea.
    • Haz las preguntas generales, por ejemplo, cómo montar un entorno de desarrollo o cómo solucionar problemas con Gerrit, en los lugares indicados en Comunicación .
    • Si participas en un programa de difusión, Zulip sirve para responder a preguntas sobre los propios programas de difusión.

Ten paciencia

Después de publicar tu pregunta:

  • No solicites una revisión de código en un mensaje separado. La gente recibe notificaciones de Gerrit y Phabricator y responde cuando puede.
  • Cuando busques respuestas o comentarios, especialmente durante los fines de semana o los festivos, puede que tengas que esperar a que se reanude el horario laboral. En los canales de chat como IRC: si nadie contesta, inténtalo de nuevo a otra hora, ¡no abandones sin más!
  • Si no obtienes una respuesta tras haber esperado con paciencia, plantéate si los canales de comunicación pudieran ser un lugar más adecuado para plantear tu pregunta.

Additional resources

  • How to contribute lists many more ways to contribute, including areas like documentation, testing, and more.
  • Developer hub: More resources for established Wikimedia developers.
  • To ask your questions and to join general discussions, check the places listed on Communication.