54 Contribuir al desarrollo de Emacs

Emacs es un proyecto colaborativo y animamos a todo el mundo a contribuir.

Hay muchas formas de contribuir a Emacs:

  • Encontrando e informando de fallos; ver Informar de fallos.

  • Responder preguntas en la lista de correo de usuarios de Emacs 53.1 Lectura de Informes de Fallos y Problemas Conocidos.

  • Escribiendo documentación, ya sea en el wiki, o en el repositorio de fuentes de Emacs (ver 53.2 Cuándo hay un Error).

  • Comprobando si los informes de errores existentes están corregidos en las nuevas versiones de Emacs 53.4 Lista de Comprobación para los Informes de Errores.

  • Arreglando informes de fallos existentes.

  • Implementanndo una característica listada en el archivo etc/TODO de la distribución de Emacs, y enviando un parche.

  • Implementando una nueva característica y envíando un parche.

  • Desarrollando un paquete que funcione con Emacs y publicándolo por su cuenta o en GNU ELPA (https://elpa.gnu.org/).

  • Portando Emacs a una nueva plataforma, pero esto no es común hoy en día.

Si quiere trabajar en la mejora de Emacs, pongase en contacto con los mantenedores en la lista de correo emacs-devel. Puede pedir que le sugieran proyectos o sugerir sus propias ideas.

Si tiene una petición de funcionalidad o una sugerencia sobre cómo mejorar Emacs, el mejor lugar para enviarla es a bug-gnu-emacs. Por favor, explique lo más claramente posible qué cambio le gustaría ver, y por qué y cómo cree que mejoraría Emacs.

Si ya ha escrito una mejora, por favor, cuéntanoslo. Si aún no ha empezado a trabajar, es útil que contacte con emacs-devel antes de empezar; podría ser posible sugerirte formas de hacer que su extensión encaje mejor con el resto de Emacs.

Cuando implemente una característica, por favor siga los estándares de codificación de Emacs; vea 54.1 Normas de Codificación, las contribuciones sustanciales requieren una cesión de copyright a la FSF; vea 54.2 Asignación de Derechos de Autor.

La versión de desarrollo de Emacs puede descargarse desde el repositorio donde es mantenido activamente por un grupo de desarrolladores. Consulte la página del proyecto Emacs https://savannah.gnu.org/projects/emacs/ para conocer los detalles de acceso.

Es importante que escriba sus parches basándote en la versión de trabajo actual. Si empieza desde una versión anterior, su parche puede estar desactualizado (por lo que los mantenedores tendrán dificultades para aplicarlo), o los cambios en Emacs pueden haber hecho innecesario su parche. Después de haber descargado el repositorio fuente, debería leer el archivo INSTALL.REPO para las instrucciones de compilación (difieren en cierta medida de una compilación normal).

Si quiere hacer contribuciones más extensas, consulta el archivo CONTRIBUTE (CONTRIBUIR) en el árbol de código fuente de Emacs para obtener información sobre cómo ser un desarrollador de Emacs. Ese archivo se distribuye como parte del tarball de código fuente de cada versión de Emacs, y también puede encontrarse en línea en el repositorio de código fuente de Emacs. Si ha clonado el repositorio de Emacs, siguiendo las instrucciones de https://git.savannah.gnu.org/cgit/emacs.git/tree/CONTRIBUTE, encontrará este archivo en el directorio superior del árbol de fuentes de Emacs.

Si desea documentación sobre Emacs (para saber cómo aplicar el cambio que desea), consulte:

54.1 Normas de Codificación

El código contribuido debe seguir los Estándares de Codificación GNU https://www.gnu.org/prep/standards/. Esto también puede estar disponible en info en su sistema.

Si no es así, necesitaremos encontrar a alguien que arregle el código antes de poder usarlo.

Emacs tiene convenciones de estilo y codificación adicionales:

  • El apéndice «Consejos y convenciones» de la referencia Emacs Lisp https://www.gnu.org/software/emacs/manual/html_node/elisp/Tips.html.

  • Evite usar defadvice o with-eval-after-load para el código Lisp que vaya a ser incluido en Emacs.

  • Elimine todos los espacios en blanco finales en todos los archivos fuente y de texto.

  • Use ?\s en lugar de ? en el código Lisp para un carácter de espacio.

54.2 Asignación de Derechos de Autor

La FSF (Free Software Foundation) es la propietaria del copyright de GNU Emacs. La FSF es una organización sin ánimo de lucro con la misión mundial de promover la libertad de los Usuarios de ordenadores y defender los derechos de todos los Usuarios de software libre. Para obtener información general, consulte el sitio web https://www.fsf.org/.

En general, para contribuciones no triviales a GNU Emacs y paquetes almacenados en GNU ELPA, requerimos que el copyright sea asignado a la FSF. Para conocer las razones de esto, consulte https://www.gnu.org/licenses/why-assign.html.

La atribución de derechos de autor es un proceso sencillo. Los residentes de muchos países pueden hacerlo de forma totalmente electrónica. Podemos ayudarle a empezar, incluyendo el envío de los formularios que debe rellenar, y responder a cualquier pregunta que pueda tener (o dirigirle a las personas con las respuestas), en la lista de correo mailto:emacs-devel@gnu.org.

(Nota: la discusión general sobre por qué algunos proyectos GNU piden una cesión de copyright está fuera del tema de emacs-devel. En su lugar, vea gnu-misc-discuss).

Una renuncia de derechos de autor también es una posibilidad, pero preferimos una transferencia de los mismos. Tenga en cuenta que el descargo de responsabilidad, al igual que la transferencia, implica el envío de documentación firmada a la FSF (no basta con decir «esto es de dominio público»). Además, un descargo de responsabilidad no puede aplicarse a trabajos futuros, tiene que repetirse cada vez que quiera enviar algo nuevo.

Podemos aceptar pequeños cambios (aproximadamente, menos de 15 líneas) sin que medie un encargo. Se trata de un límite acumulativo (por ejemplo, tres parches separados de 5 líneas) sobre todas sus contribuciones.