Le développement open source de MeshCore
Comment la communauté MeshCore construit ensemble un logiciel open source : licences, contributions et processus de développement
Pourquoi MeshCore est-il open source ?
MeshCore est un logiciel open source : l'intégralité du code source est disponible publiquement sur GitHub. Chacun peut consulter, utiliser, modifier et améliorer le code. Ce choix délibéré vise la transparence, la sécurité et un développement porté par la communauté.
Open source ne signifie pas seulement que le code est accessible. Cela implique aussi qu'une communauté active de développeurs, d'utilisateurs et de passionnés travaille ensemble aux améliorations. Tout le monde peut contribuer : du signalement de bugs à l'implémentation de fonctionnalités inédites.
Sur cette page, nous expliquons comment se déroule le processus de développement open source, comment contribuer et quels en sont les avantages.
Licence et philosophie
Licence MIT (permissive)
Le firmware MeshCore est distribué sous licence MIT – l'une des licences open source les plus permissives. Vous pouvez utiliser le code à n'importe quelle fin, y compris commerciale.
Libertés : utiliser, copier, modifier, distribuer, sous-licencier
GPL pour certains composants
Certains modules sont couverts par la GPL (copyleft). Si vous intégrez ces composants dans votre propre projet, vous devez également rendre votre code open source sous GPL.
Copyleft : les travaux dérivés doivent aussi être sous GPL
Philosophie open source
MeshCore embrasse les principes de l'open source : transparence, collaboration et propriété communautaire. Le réseau appartient à tous, pas à une seule entreprise ou organisation.
Comment contribuer
Pas besoin d'être un développeur chevronné pour apporter sa pierre à l'édifice. Il y a des possibilités pour chaque niveau :
Rapports de bugs
Signalez bugs, plantages ou comportements étranges via les GitHub Issues. Des rapports bien rédigés aident énormément.
Documentation
Améliorez la documentation, rédigez des tutoriels, créez des guides vidéo. La documentation est au moins aussi importante que le code.
Tests
Testez les nouvelles versions, explorez les cas limites, vérifiez que les corrections fonctionnent. Les testeurs sont indispensables.
Contributions de code
Corrigez des bugs, implémentez des fonctionnalités, optimisez les performances. Chaque pull request est la bienvenue.
Design UI/UX
Améliorez l'interface de l'appli, créez des maquettes pour de nouvelles fonctionnalités, testez l'ergonomie.
Traductions
Traduisez l'appli, le firmware et la documentation dans d'autres langues. Aidez MeshCore à devenir accessible partout dans le monde.
Workflow de développement
Fork the repository
Créez un fork du dépôt MeshCore sur GitHub. C'est votre propre copie dans laquelle vous pouvez expérimenter librement.
Create a branch
Créez une nouvelle branche pour votre fonctionnalité ou correction. Utilisez des noms descriptifs comme « fix-routing-bug » ou « add-telemetry-sensor ».
Write code & test
Développez votre modification et testez-la rigoureusement. Assurez-vous que les fonctionnalités existantes restent intactes. Ajoutez des commentaires pour le code complexe.
Submit pull request
Soumettez une pull request vers le dépôt principal. Décrivez ce que vous avez modifié et pourquoi. Faites le lien avec les issues concernées.
Code review & merge
Les mainteneurs examinent votre code, donnent leur feedback et mergent en cas d'approbation. Ce processus peut être itératif, avec plusieurs tours de revue.
Avantages de l'open source
Sécurité
Tout le monde peut auditer le code. Aucune porte dérobée ni atteinte à la vie privée.
Innovation rapide
Des centaines de développeurs dans le monde y contribuent. L'innovation avance bien plus vite qu'en closed source.
Propriété communautaire
Le projet appartient à la communauté, pas à une seule entreprise. Il perdure tant que les utilisateurs le souhaitent.
Plateforme d'apprentissage
Apprenez du code, expérimentez et perfectionnez vos compétences. L'open source est un excellent moyen de progresser.
Personnalisable
Adaptez le logiciel à votre cas d'usage spécifique. Pas de vendor lock-in.
Entièrement gratuit
Pas de frais de licence, pas d'abonnement. Totalement gratuit, maintenant et pour toujours.
Questions fréquentes
Faut-il connaître le C++ pour contribuer ?
Pas forcément. Vous pouvez contribuer via les rapports de bugs, la documentation, les tests et les traductions sans aucune connaissance en programmation. Pour les contributions de code, des connaissances en C/C++ sont nécessaires.
Qui décide quelles fonctionnalités sont acceptées ?
Les mainteneurs principaux examinent les pull requests et décident de leur acceptation. Ils évaluent la qualité du code, la cohérence avec la feuille de route et l'absence d'impact négatif sur les fonctionnalités existantes.
Puis-je utiliser le code dans mon produit commercial ?
Oui, la licence MIT autorise l'usage commercial. Attention : certains composants sont sous GPL – ceux-ci exigent que votre code soit également open source.
En combien de temps les pull requests sont-elles examinées ?
Les mainteneurs s'efforcent de répondre aux pull requests sous 1 à 2 semaines. En période chargée, cela peut prendre plus de temps. Un peu de patience est parfois nécessaire.
Existe-t-il un canal de discussion pour les développeurs ?
Bien sûr, il y a un groupe Telegram actif où développeurs et utilisateurs posent des questions, échangent des idées et collaborent.
Puis-je créer un fork et ajouter mes propres fonctionnalités ?
Évidemment. C'est justement le principe de l'open source. Vous pouvez créer un fork, ajouter des fonctionnalités qui ne sont pas acceptées dans la branche principale, et distribuer votre propre version (conformément aux conditions de licence).
Rejoignez la communauté
MeshCore se développe grâce aux contributions de la communauté. Chaque apport compte : d'un simple rapport de bug à l'implémentation d'une fonctionnalité majeure. Participez !