La contribution open-source est l'une des compétences les plus recherchées aujourd'hui dans le domaine de la technologie. Les gens ont réalisé les avantages de l'utilisation des technologies open source et les avantages de faire partie de ces projets.
Le développement open-source est une approche basée sur le partage de code source et l'amélioration collaborative.
Il existe des milliers de projets open source sur Internet. Les projets open source peuvent être des applications de médias sociaux, des logiciels de gestion de projet et de la documentation technique. Alors, comment choisissez-vous le bon?
Que rechercher dans un projet open-source
Une idée fausse à propos des projets open source est que vous devez contribuer au code. Bien que le code soit essentiel, d'autres domaines tels que la documentation, la gestion de projet et le plaidoyer communautaire peuvent inclure d'importants contributions open source.
Quiconque a travaillé sur des projets open source vous parlera de la puissance de tels projets. Les avantages comprennent l'innovation, le perfectionnement et les relations productives qui ont un impact sur votre carrière.
Considérez les caractéristiques suivantes pour déterminer si une source ouverte vaut votre temps.
1. A-t-il une licence ?
Chaque projet open source a une licence, généralement une licence permissive ou une licence copyleft. Une licence permissive est courante dans les projets open source. Il n'empêche personne d'utiliser, de distribuer ou de vendre une version modifiée du logiciel.
La plupart des projets open source ont une licence permissive, telle que MIT, BSD ou Apache 2.0. La licence MIT partage et distribue des logiciels gratuitement et est sans garantie :
Les licences Copyleft telles que General Public License, Mozilla Public License et Affero General Public License sont assorties de restrictions supplémentaires.
Une licence permissive permet aux contributeurs de modifier et de distribuer des logiciels open source. Cela signifie que les développeurs peuvent modifier le code source pour produire un nouveau logiciel et l'utiliser ou le distribuer sans restriction. La version modifiée sera sous la même licence que le logiciel d'origine.
Cependant, les versions modifiées n'auront pas le même nom que la version originale pour faciliter l'identification entre les deux. La licence doit également inclure toutes les personnes et ne pas discriminer qui que ce soit.
Toute personne qui reçoit le logiciel redistribué doit avoir les mêmes droits sur la licence que les propriétaires du code d'origine.
Une licence gratuite ne limite pas le logiciel à un canal de distribution ou à une technologie particulière. Les logiciels et les dépendances distribués parallèlement aux logiciels open source ne doivent pas nécessairement être open source. Les technologies à source fermée et autres technologies payantes utilisent des logiciels à source ouverte sans restrictions.
2. Le code source est-il partagé ?
Tous les projets open-source ont une licence qui permet le partage gratuit du code source. Les droits s'étendent également au code compilé à partir des contributions. Le projet doit mettre son code source à la disposition de toutes les parties sans restrictions.
Lorsque le code source n'est pas disponible sur les plateformes publiques, il doit être disponible sur demande. Tout projet qui ne partage pas son code source n'est pas un projet open source.
Mais, la licence peut restreindre la redistribution du code source et autoriser uniquement la redistribution de sa forme modifiée. Le code modifié peut avoir un nom ou une version différente pour le différencier du projet d'origine.
3. Le projet a-t-il des lignes directrices pour les contributeurs ?
Chaque projet open-source devrait avoir un guide des contributeurs. Vous le trouverez probablement dans le dossier racine du projet, souvent nommé CONTRIBUTORS ou CONTRIBUTORS.md. Un guide des contributeurs contient des instructions simples sur la façon de contribuer au projet.
Le guide montre aux nouveaux contributeurs comment bifurquer, soulever un problème et soumettre leurs contributions au référentiel en amont. Les guides des contributeurs aident à montrer aux contributeurs comment le projet fonctionne pour réduire les conflits entre les branches lors de la fusion.
Voici un exemple de directives pour les contributeurs du projet open source AsyncAPI sur GitHub:
4. A-t-il une communauté active ?
L'innovation est l'une des raisons pour lesquelles les projets open source sont devenus si populaires. L'open-source rassemble des communautés talentueuses et enthousiastes pour générer des idées qui favorisent l'innovation.
Une communauté forte assure une communication, une collaboration et un marketing clairs pour le produit. Les communautés open source actives produisent de meilleurs résultats et adaptent les innovations plus rapidement que les projets individuels.
Pour déterminer si une communauté est active, examinez ses canaux sociaux. Commencez par surveiller leurs activités sur les réseaux sociaux, les comptes Discord ou Slack. Travailler dans une communauté active avec une libre circulation de l'information et des ressources, c'est mieux.
Les communautés actives dans l'open source accélèrent l'innovation de trois manières. Les communautés réagissent aux tendances actuelles de la technologie, ont des cycles de publication fréquents et ont une vaste redistribution du logiciel.
Un exemple de projet open source avec une communauté fantastique est le framework Javascript de Facebook, React.
React est passé à la version 18 en neuf ans, tandis qu'un framework similaire Vue.js est toujours à la version 3. Les deux cadres ont moins de dix ans. La communauté dynamique de React éclipse d'autres frameworks JavaScript populaires, tels que Angular.
C'est amusant de travailler sur des projets open source avec des communautés actives. De plus, vous ne serez jamais en retard sur les tendances et les mises à jour technologiques. Trouver le meilleures communautés technologiques Discord est un excellent ajout à votre portefeuille open source.
5. Les mainteneurs sont-ils actifs et attentifs ?
Dans un projet open source, les mainteneurs sont des contributeurs autorisés à modifier les fichiers dans le référentiel d'un projet. Les mainteneurs sont en charge du projet et s'assurent que les contributions apportées au projet sont conformes à ses objectifs.
Dans un bon projet open source, les mainteneurs sont les plus actifs. Ils seront en charge des canaux communautaires, animeront les discussions et répondront aux questions des contributeurs. Les mainteneurs donnent des mises à jour et encouragent la collaboration dans la communauté.
Pour déterminer si un projet a des responsables actifs, consultez ses référentiels distants, tels que GitHub. Les mainteneurs actifs communiquent bien. Ils répondent aux demandes d'extraction, configurent les problèmes et répondent aux questions des contributeurs.
Identifiez les mainteneurs actifs en vérifiant la fréquence à laquelle ils répondent aux requêtes publiées sur les réseaux sociaux. Tout référentiel avec trois mois d'écart de communication n'est pas un projet adapté.
Caractéristiques d'un bon projet open-source
Bien que de nombreuses autres caractéristiques définissent un projet open source approprié, les plus importantes sont le type de licence, la nature des communautés, le code source et les responsables actifs.
Les projets open source présentant les caractéristiques ci-dessus inspirent l'innovation, la mise à l'échelle et la commercialisation de projets de classe mondiale. De plus, de grandes communautés open source suivent les tendances technologiques et encouragent la collaboration et la diversité.
Il y a de fortes chances que vous ayez utilisé au moins un logiciel ouvert dans votre vie. Pourquoi ne pas commencer par là? Utilisez les caractéristiques mentionnées dans cet article pour vous assurer d'obtenir le meilleur projet qui complète vos compétences et vos besoins.