Construisez un projet open source en utilisant ces conseils essentiels


  • Français


  • L’open source est un écosystème florissant et bénéfique qui résout publiquement les problèmes des communautés et des industries en utilisant des logiciels développés via un modèle décentralisé et des contributions communautaires. Au fil des ans, cet écosystème a grandi en nombre et en force parmi les amateurs et les professionnels. C’est maintenant courant – même les entreprises propriétaires utilisent l’open source pour créer des logiciels.

    Avec l’essor de l’écosystème, de nombreux développeurs souhaitent se lancer et créer de nouveaux projets open source. La question est : comment y parvenir avec succès ?

    Cet article démystifiera le cycle de vie et la structure des projets open source. Je veux vous donner un aperçu de ce qui se passe à l’intérieur d’un projet open source et vous montrer comment construire un projet réussi et durable basé sur mon expérience personnelle.

    Une introduction rapide à l’open source

    La Initiative Open Source (OSI) fournit une définition formelle et détaillée de l’open source, mais Wikipedia fournit un bon résumé :

    Un logiciel open source est un logiciel informatique publié sous une licence dans laquelle le détenteur des droits d’auteur accorde aux utilisateurs le droit d’utiliser, d’étudier, de modifier et de distribuer le logiciel et son code source à quiconque et à toutes fins.

    Un logiciel open source est un code public, généralement sur Internet, développé soit en collaboration par plusieurs personnes, soit par une seule personne. Il s’agit de collaborer avec des personnes de différentes régions, cultures et formations techniques, travaillant souvent à distance. C’est pourquoi il est essentiel de créer un projet qui accueille tout le monde et permette à différentes personnes de travailler ensemble.

    L’anatomie d’un projet open source

    Comme le corps humain, un projet open source est constitué de plusieurs structures qui forment l’ensemble du système. Je les considère comme deux branches : les personnes (microscopiques) et les documents (macroscopiques).

    Première branche : les personnes

    Généralement, un projet open source inclut les groupes de personnes suivants :

    • Créateurs : Ceux qui ont créé le projet
    • Mainteneurs : Ceux qui gèrent activement l’ensemble du projet
    • Contributeurs : Ceux qui contribuent au projet (quelqu’un comme vous !)
    • Utilisateur: Ceux qui utilisent le projet, y compris les développeurs et les clients non techniques
    • Groupe de travail: Une collection de contributeurs divisés en groupes spécifiques à un domaine pour se concentrer sur une discussion ou une activité autour d’un sujet spécifique (tel que la documentation, l’intégration, les tests, DevOps, les revues de code, les performances, la recherche, etc.)
    • Parrainer: Ceux qui contribuent financièrement au projet

    Vous devez tenir compte de chaque groupe de la liste ci-dessus lorsque vous vous préparez à créer un nouveau projet. Quel plan avez-vous pour chacun d’eux ?

    • Pour les mainteneurs, décidez des critères que vous souhaitez utiliser pour les nommer. Habituellement, un contributeur actif fait le meilleur mainteneur.
    • Pour les utilisateurs et les contributeurs, vous souhaitez préparer une documentation solide, un processus d’intégration et tout ce dont ils ont besoin pour réussir lorsqu’ils travaillent sur votre projet.
    • Pour les groupes de travail, décidez si vous en avez besoin et comment votre projet peut être logiquement divisé à l’avenir.
    • Enfin, pour les sponsors, vous devez fournir suffisamment de données et d’informations sur votre projet pour leur permettre de choisir de vous sponsoriser.

    Vous n’avez pas besoin d’avoir tout compris au début de votre projet. Cependant, il est sage d’y penser dès les premières étapes afin de pouvoir construire les bonnes fondations pour s’assurer que les futurs ajouts restent fermes et mènent à un projet réussi.

    Deuxième branche : documents

    Les projets open source incluent généralement les documents suivants, généralement au format texte brut ou démarqué :

    • Licence: Ce document légal explique comment et dans quelle mesure le projet peut être librement utilisé, modifié et partagé. Une liste des licences approuvées par l’OSI est disponible sur le site Web de l’OSI. Sans licence explicite, votre projet n’est pas légalement open source !
    • Code de conduite: Ce document décrit les règles, les normes, les pratiques acceptables et les responsabilités de toute personne qui décide de participer au projet de quelque manière que ce soit (y compris ce qui se passe lorsque quelqu’un enfreint l’une des règles). La Pacte de contributeur est un bon exemple et est open source (sous licence Creative Commons).
    • LISEZMOI : Ce fichier présente votre projet aux nouveaux arrivants. Sur de nombreux sites Web d’hébergement Git, tels que GitLab, GitHub et Codeberg, le fichier README s’affiche sous la liste de fichiers initiale d’un référentiel. Il est courant de présenter de la documentation ici, avec des liens vers d’autres documents nécessaires.
    • Documentation: Il s’agit d’un fichier ou d’un répertoire contenant toutes les ressources de documentation du projet, y compris les guides, les références d’API, les didacticiels, etc.
    • Contribuant: Incluez un document expliquant comment contribuer au projet, y compris les guides d’installation, la configuration, etc.
    • Sécurité: Incluez un fichier expliquant comment soumettre des rapports de vulnérabilité ou des problèmes de sécurité.

    De plus, un projet a généralement des pages Web pour les problèmes, le support et la collaboration.

    En gros, ceux-ci incluent:

    • Problèmes ou rapports de bug : Un endroit où les utilisateurs peuvent signaler des bogues. Cette page fournit également un endroit où les développeurs peuvent aller pour s’attribuer la tâche de réparer un ou plusieurs d’entre eux.
    • Demandes d’extraction ou de fusion : Un lieu proposant des améliorations de fonctionnalités et des solutions aux bogues. Ces correctifs peuvent être créés par n’importe qui, revus par les responsables, puis fusionnés dans le code du projet.
    • Discussions : Un endroit où les responsables, les contributeurs et les utilisateurs discutent d’un projet open source. Il peut s’agir d’un site Web dédié ou d’un forum au sein d’un site de codage collaboratif.

    La plupart des projets disposent également d’un canal de communication sous la forme d’un chat en ligne pour les conversations et les interactions entre les membres de la communauté.

    Licence

    La licence est peut-être le critère le plus simple mais le plus important à prendre en compte avant de créer un projet open source. Une licence définit les termes et conditions qui permettent au code source et aux autres composants de votre projet d’être utilisés, modifiés et partagés.

    Les licences contiennent des tonnes de jargon juridique que beaucoup de gens ne comprennent pas entièrement. j’utilise choosealicense.comqui vous aide à choisir une licence en fonction de la communauté que vous envisagez, de votre désir de récupérer les correctifs de ceux qui utilisent votre code ou de votre volonté d’autoriser les gens à utiliser votre code sans partager les améliorations qu’ils y apportent.

    (Bolaji Ayodeji, CC BY-SA 4.0)

    13 phases de création d’un projet open source

    Passons maintenant à la question essentielle : comment démarrer un projet de logiciel open source ?

    Voici une liste de ce que je considère comme les phases d’un projet open source.

    1. Réfléchissez à votre idée, écrivez un synopsis et documentez-le correctement.
    2. Commencez à développer votre idée. Cela implique généralement de trouver les bons outils et piles à utiliser, écrire du code, contrôler la version du code, déboguer, boire du café, traîner StackOverflow, utiliser d’autres projets open source, dormir et construire quelque chose pour résoudre un problème défini ou juste pour le fun!
    3. Testez le projet localement, écrivez des tests unitaires et d’intégration selon vos besoins, configurez des pipelines CI/CD selon vos besoins, créez une branche intermédiaire (une branche de test où vous testez le code en direct avant de fusionner avec la branche principale), et faites tout ce que vous besoin de déployer le projet.
    4. Écrire bonne documentation efficace. Cela devrait couvrir ce que fait votre projet, pourquoi il est utile, comment démarrer avec (utilisation, installation, configuration, contribution) et où les gens peuvent obtenir de l’aide.
    5. Assurez-vous de documenter toutes les conventions de code que vous souhaitez utiliser. Appliquez-les avec des outils tels que les linters, les formateurs de code, les hooks Git et l’utilitaire de ligne de commande commitizen.
    6. Choisissez la bonne licence et créez un README.
    7. Publiez le projet sur Internet (vous pouvez avoir initialement un référentiel privé et le rendre public à cette étape).
    8. Configurez les processus de création de versions et de documentation des journaux des modifications (vous pouvez utiliser des outils tels que les ensembles de modifications).
    9. Commercialisez le projet dans le monde ! Vous pouvez publier une publication sur les réseaux sociaux, créer une newsletter, la partager avec vos amis en privé, lancer une chasse aux produits, diffuser en direct ou toute autre stratégie marketing traditionnelle que vous connaissez.
    10. Recherchez un soutien financier en utilisant l’une des plateformes de financement disponibles, telles que Open Collective, GitHub Sponsors, Patreon, Buy me a Coffee, LiberaPay, etc. Lorsque vous créez des comptes avec ces plateformes, ajoutez un lien vers celui-ci dans la documentation et le site Web de votre projet.
    11. Créez une communauté autour de votre projet.
    12. Envisagez d’introduire des groupes de travail pour diviser la gestion de votre projet en parties logiques si nécessaire.
    13. Mettez continuellement en œuvre de nouvelles idées qui soutiennent les ressources et les personnes derrière votre projet.

    Il est important de mesurer les différentes parties de votre projet au fur et à mesure de votre progression. Cela vous fournit des données que vous pouvez utiliser pour l’évaluation et les stratégies de croissance futures.

    Commencez maintenant un projet!

    J’espère que cet article vous aidera à aller de l’avant avec ce projet auquel vous pensez.

    N’hésitez pas à l’utiliser comme guide et à combler les lacunes que j’ai manquées lors de la construction de votre superbe projet de logiciel open source.

    Source

    Houssen Moshinaly

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Copy code