Créer un projet Open Source

There is no perfect time to open source your work. You can open source an idea, a work in progress, or after years of being closed source.

Choisir le nom du projet

Choisir un nom facile à retenir.

Ajouter un fichier LICENSE

Ajouter un fichier LICENSE pour définir la licence du projet.
Par définition, tous les projets open source doivent avoir une license open source.
Si le projet n’a pas de licence, il n’est pas open source.

How open source licenses work
SPDX License List

Ajouter un fichier README

Créer un fichier README pour expliquer

Il est également conseillé d’ajouter

Le fichier doit être placé à la racine du projet, dans /docs ou /.github pour que Github le détecte.
Il doit être écrit en Markdown (Github Flavored).

Template de fichier README

Ajouter des badges

On peut ajouter des badges pour signaler des informations, par exemple PRs-welcome:

[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)

Affiche: PRs Welcome

Liste de badges

Ajouter un wiki / site statique

Ajouter un fichier CONTRIBUTING

Le fichier CONTRIBUTING peut préciser

Il peut également préciser

https://github.com/formly-js/angular-formly/blob/master/CONTRIBUTING.md https://github.com/atom/atom/blob/master/CONTRIBUTING.md https://github.com/Leaflet/Leaflet/blob/master/CONTRIBUTING.md

Ajouter un fichier CODE_OF_CONDUCT

Ajouter un fichier CODE_OF_CONDUCT pour définir un code de conduite pour les contributions. Mettre un lien dans CONTRIBUTING.

http://yourfirstpr.github.io/coc.html https://github.com/openemr/openemr/blob/master/CODE_OF_CONDUCT.md https://github.com/atom/atom/blob/master/CODE_OF_CONDUCT.md https://opensource.guide/code-of-conduct/

Ajouter des topics

Ajouter des topics au repo pour aider les gens à trouver le repo avec la recherche

Ajouter un fichier VISION

Au début d’un projet, on expérimente avec des idées et on prend des décisions en se basant sur nos propres désirs. Plus le projet gagne en popularité, plus de contributeurs et utilisateurs s’impliquent dans le processus.

Écrire les objectifs du projet clarifie non seulement ce que vous voulez, mais aide les autres à comprendre comment vous aider. Avoir une vision claire et documentée vous permettra de prioriser les demandes.

Même si ces objectifs ne sont rédigés au propre, il est préférable de griffonner une todolist que rien du tout. Si vous disposez d’autres éléments pouvant aider (une roadmap par exemple), rendez-les publics.

Créer des releases

Github permet de créer des releases à partir de tags ou de commits. Cela permet de télécharger sous forme de zip le code du tag et d’ajouter des notes/de la documentation ainsi que des fichiers joints.
Les releases permettent aux utilisateurs de télécharger une copie du code source sans passer par git.

Pour créer une release:

Ajouter un fichier CHANGELOG

Créer un fichier CHANGELOG pour écrire les changements apportés au projet à chaque montée en version (nouvelles fonctionnalités, bug fix, etc)

Activer les issues

Les issues peuvent être crées par les utilisateurs pour signaler des bugs ou poser des questions, ou par vous-même pour organiser un suivi des fonctionnalités ou demander de l’aide à la communauté GitHub.

Pour les activer, aller dans les configurations du projet, onglet Options, et cocher Issues.

Activer la gestion de projet

L’onglet Project permet de gérer le projet en organisant les Pull Request, Issues ou notes en cartes dans des colonnes (c’est à dire un Kanban board, un peu comme Trello). Voir vidéo explicative

Configurer le dépot

Dans les options, on peut

Lister les dépendances du projet

Listing the packages that a repository depends on