En 🧙 Elixir Chile 🇨🇱 buscamos aumentar la cantidad de devs que sepan utilizar Elixir. Con el objetivo de brindar módulos de apoyo y de ejemplo, se debe confeccionar artefactos de software de alta calidad, utilizando las herramientas y buenas prácticas que se esperan de un producto que pueda ser usado en ambientes de producción.
Para esto deben cumplir con lo siguiente:
-
Correctamente documentados utilizando HexDocs y Asciidoc cuando HexDocs no sea apropiado.
-
Funciones con especificación y tipos Typespecs.
-
Seguir buenas prácticas de TDD y tener un buen puntaje de coverage.
-
Utilizar Credo para análisis de código estático.
-
Seguir las recomendaciones de DDD cuando sea prudente.
-
Utilizar la licencia Mozilla Public License v2.0 para el código y Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0) para los artefactos como documentación, imágenes u otros.
-
Soportar como mínimo, las últimas dos versiones del lenguaje.
-
Utilizar Romantic Versioning, partiendo desde la version 1.0.0.
-
Utilizar un Changelog.
-
Utilizar un archivo de
.editorconfig
. -
Utilizar Trunk Based Development para las ramas. Siendo la rama principal llamada
main
. -
Utilizar Conventional Commits al momento de hacer squash and merge del PR (leer traducido). También leer la guía https://www.freecodecamp.org/news/writing-good-commit-messages-a-practical-guide/.
-
Seguir, en lo posible, la filosofía Unix.
-
Seguir, de preferencia, la guía de estilo: Compass.
-
Utilizar la menor cantidad de dependencias externas posibles.
-
Utilizar el lenguaje inglés para el código, commits y documentación de artefactos de software.
-
Utilizar el namespace elixircl_<app> para el nombre de paquetes en hex y ElixirCL<app> como prefijo de los módulos. Ejemplo: elixircl_rut, ElixirCLRut.
Las licencias utilizadas serán para documentos y para código fuente.
A menos que se especifique lo contrario, Los documentos que no sean código estarán bajo la Licencia Creative Commons Atribución-No-Comercial-Compartir-Igual 4.0 Internacional
A menos que se especifique lo contrario, todo el código fuente está bajo a licencia MPL v2.0 (Mozilla Public License Version 2.0).
Es una licencia que es fácil de cumplir. Puedes mezclar la licencia MPL v2.0 con cualquier otra licencia, propietaria u de otra índole. Siempre y cuando se cumplan las siguientes condiciones:
-
Si no modificas los componentes del artefacto de software, solo deberás mostrar un enlace al código fuente del artefacto, de preferencia en un lugar claramente visible dentro del software, por ejemplo el README o sección de autores.
-
Si modificas los componentes de este artefacto, debes solamente proporcionar libremente tus cambios al artefacto (no al proyecto en su totalidad).
Puedes leer el código completo acá: https://github.com/ElixirCL/code-of-conduct
En resumen:
Creemos en la amabilidad, respeto y buena onda en todos nuestras interacciones tanto online como presenciales. Por favor ser lo más buena onda posible con todos los participantes de la comunidad y fuera de esta.