Article original : Open Source Projects Every Developer Should Know About
De nombreuses entreprises utilisent du code provenant de projets open source dans le monde moderne du développement logiciel.
Cette approche profite non seulement à ces organisations, mais aussi à différents développeurs travaillant sur différents projets. Et cela a créé un environnement où les développeurs peuvent travailler de manière collaborative tout en apprenant les uns des autres.
Tout comme dans tout autre domaine de développement, l'open source n'est pas facile si vous ne savez pas ce que vous cherchez et où chercher.
Depuis quelques années, depuis ma première publication sur Comment contribuer aux projets open source – Un guide pour débutants, des personnes m'ont contacté pour me dire à quel point l'article les avait aidés. D'autres voulaient plus de conseils sur la manière de naviguer dans le domaine de l'open source.
La plupart des questions que je reçois vont de "Comment puis-je trouver les bons projets et programmes sur lesquels travailler", à "Puis-je vraiment gagner ma vie grâce à l'open source", ou "La plupart des programmes que je trouve ne sont pas adaptés aux débutants, comment devrais-je procéder ?", pour n'en citer que quelques-unes.
Eh bien, je peux comprendre ces questions, car à un moment donné, j'étais dans la même situation mais je n'ai jamais obtenu les réponses que je voulais jusqu'à plus tard.
Si vous êtes dans la même situation et que vous avez des questions sur l'open source, détendez-vous – je vous couvre.
Une chose que je peux vous assurer, c'est que participer à l'open source peut être bénéfique si vous trouvez le bon chemin. Ce bon chemin peut être soit en rejoignant un projet, soit simplement en contribuant à une base de code. Il existe de nombreuses façons d'aider. Et puis vous aurez de nombreuses opportunités de développer vos compétences et de grandir en tant que développeur.
Le bon côté de l'open source, c'est qu'il accueille tout le monde, que vous soyez étudiant, professionnel ou passionné d'open source. Les projets open source peuvent vous offrir une plateforme unique pour apprendre, collaborer et mettre en valeur vos compétences. Après tout, il y en a pour tous les goûts.
Cela dit, commençons !
Qu'est-ce que l'Open Source ?
Avant de commencer à examiner différents projets open source, faisons d'abord un rappel de ce qu'est l'open source et pourquoi vous devriez envisager de vous y joindre.
Le code open source est un code qui est mis à la disposition du public non seulement pour être consulté et utilisé, mais aussi pour être modifié et distribué sous une licence permissive.
En tant que développeur, contribuer à l'open source peut être gratifiant et peut vous aider à apprendre, à enseigner aux autres et à développer vos compétences.
Outre cela, il existe de nombreuses autres raisons pour lesquelles vous devriez envisager de contribuer à l'open source, notamment :
- Vous avez l'opportunité d'améliorer le logiciel sur lequel vous comptez quotidiennement.
- Au cours du processus, vous pouvez trouver un mentor si vous en avez besoin.
- Vous pourrez apprendre de nouvelles compétences ou améliorer celles que vous possédez déjà.
- Vous pouvez partager et mettre en valeur vos compétences auprès des autres.
- Au cours du processus, vous pouvez acquérir une compréhension plus approfondie d'une technologie donnée.
- C'est un bon moyen de construire votre réputation et de développer votre carrière.
Types de projets Open Source
Maintenant que vous avez une compréhension de ce qu'est l'open source et de certains de ses avantages, apprenons-en davantage sur les différents types de projets open source disponibles pour les contributeurs aspirants.
De l'éducation aux stages en passant par les hackathons, il existe de nombreuses opportunités pour vous d'améliorer vos compétences, d'acquérir une expérience pratique, de gagner votre vie et d'apporter des contributions précieuses à la communauté open source.
Ces projets offrent une opportunité unique aux développeurs de tous niveaux d'apprendre et de gagner de l'expérience tout en travaillant sur des projets réels. La communauté open source est également un lieu où des individus partageant les mêmes idées du monde entier peuvent se connecter et partager.
Avec tant de projets disponibles, il peut être difficile pour les débutants dans le domaine de savoir exactement par où commencer. Pour faciliter les choses, après quelques recherches, j'ai pu classer les projets en six catégories principales, à savoir :
- Éducation et formation
- Stages et mentorats
- Subventions et financement
- Construction de communauté et plaidoyer
- Recherche et développement
Ces catégories abritent différents projets, ce qui vous permet de savoir exactement ce que vous cherchez.
Si après avoir lu cet article, vous pensez que j'ai oublié un certain type de projet qui pourrait être utile, vous pouvez vous rendre sur GitHub et l'ajouter à ce dépôt dédié à la liste de tous les projets open source pour un accès facile : Awesome-Open-Source-Programs.
Projets d'éducation et de formation
Ces projets offrent une excellente opportunité aux individus qui souhaitent apprendre et acquérir de nouvelles compétences, connaissances et expériences tout en contribuant à l'open source et à la communauté.
Certains projets qui relèvent de cette catégorie incluent :
freeCodeCamp
Le programme de freeCodeCamp est conçu de manière à offrir aux apprenants une expérience pratique en construisant des projets réels tout en leur permettant de contribuer à l'open source.
En retour, les apprenants acquièrent des compétences et obtiennent également un certificat qu'ils peuvent ajouter à leur CV.
La formation de la Linux Foundation
Ce projet particulier offre une large gamme de ressources, y compris des cours et des certifications sur diverses technologies. Certaines des technologies prioritaires incluent Kubernetes, Linux et Hyperledger.
La structure du projet est conçue pour offrir aux apprenants une expérience pratique et des conseils pratiques, leur permettant de construire leur carrière sur des technologies open source.
Initiatives CNCF
Ce projet se concentre principalement sur l'enseignement à ses mentorés des technologies cloud-native et sur la manière de contribuer à des projets open source basés sur cet écosystème.
En plus de cela, les apprenants peuvent également en apprendre davantage sur la programmation et la documentation.
Mozilla Developer Network (MDN)
MDN est une plateforme web qui fournit aux développeurs une documentation complète, des tutoriels et d'autres ressources sur les technologies de développement web comme HTML, CSS, JavaScript et les API Web. Ils proposent également une gamme de cours en ligne et de parcours d'apprentissage qui permettent aux apprenants de développer leurs compétences et leurs connaissances dans des domaines spécifiques du développement web.
Son contenu est créé et maintenu par une grande communauté de développeurs, ce qui signifie qu'il est open source et que tout le monde peut y contribuer.
Recurse Center
Il s'agit d'un projet de 12 semaines conçu pour fonctionner comme une retraite. Le programme est ouvert à toute personne souhaitant s'améliorer en programmation. Que vous soyez autodidacte ou professionnel, vous aurez l'opportunité de travailler avec des personnes partageant des compétences similaires aux vôtres. Les retraites sont gratuites, autodirigées et basées sur des projets.
Open Source Guides
Cette plateforme sert de référence pour les débutants recherchant des guides sur la manière de commencer avec l'open source et la contribution.
Le site est facile à naviguer avec des liens rapides vers des articles allant de la manière de contribuer à l'open source à la manière de démarrer un projet open source, en passant par la construction et la maintenance de communautés open source.
Projets de stage et de mentorat
Ces projets open source offrent aux contributeurs aspirants l'opportunité d'acquérir une expérience précieuse tout en recevant un mentorat de la part de personnes expérimentées dans différents domaines.
En retour, les contributeurs qui sont acceptés par le biais de candidatures ont l'opportunité de contribuer à des projets réels, de créer des connexions au sein de la communauté open source et, parfois, de recevoir des bourses pour le travail accompli. Ces projets durent généralement de 10 semaines à 6 mois.
Google Summer of Code (GSoC)
Ce programme associe des étudiants à des mentors pour travailler sur des projets open source pendant l'été. Le programme a aidé des milliers d'étudiants à acquérir des compétences et de l'expérience en contribuant à une variété de projets open source. En retour, les participants reçoivent une bourse pour le travail accompli et une expérience qui peut les aider dans leur carrière.
Lisez plus sur GSoC ici.
D'autres programmes qui promeuvent GSoC incluent :
Outreachy
Il s'agit d'un programme de stage qui offre aux communautés sous-représentées l'opportunité de contribuer à des projets open source. Le programme se déroule deux fois par an, offrant un stage à distance de trois mois avec une bourse à la fin de la période.
Les participants qui passent la phase de candidature sont associés à des mentors qui les aident tout au long du processus alors qu'ils travaillent sur des projets réels, acquérant de l'expérience dans divers domaines, y compris le développement logiciel, la documentation, l'UI/UX et plus encore. Vous pouvez lire plus sur leur site web : https://www.outreachy.org/
Google Season of Docs (GSoD)
Ce programme particulier se concentre sur l'offre d'opportunités aux rédacteurs techniques qui souhaitent contribuer à des projets open source.
Les participants sont associés à des mentors de différents projets open source pour améliorer leur documentation. Le programme dure trois mois et offre des bourses à la fin de la période. Vous pouvez lire plus sur leur site web : https://developers.google.com/season-of-docs
Rails Girls Summer of Code
Ce programme se concentre principalement sur l'encouragement des femmes et des personnes non binaires à contribuer à des projets open source.
Le programme dure trois mois et les participants reçoivent des bourses par la suite. Tout au long de la période, les participants sont associés à des mentors qui fournissent des conseils et de l'aide si nécessaire. Voici leur site web : https://railsgirlssummerofcode.org/
Programme de mentorat de la Linux Foundation (LFX)
Il s'agit d'un programme de 12 semaines qui offre des opportunités de mentorat aux développeurs intéressés à contribuer à des projets open source. À la fin du programme, les participants reçoivent une bourse. Voici leur site web.
D'autres programmes de mentorat qui fonctionnent sous la Linux Foundation incluent :
- Programme de mentorat du noyau Linux
- Programme de mentorat de Linux Foundation Networking (LFN)
- Programme de mentorat de l'Open Mainframe Project
- Programme de mentorat Hyperledger
- CHAOSS
Season of KDE
Ce programme offre des opportunités à tous ceux qui souhaitent participer à des projets de codage et non-codage qui bénéficient à l'écosystème KDE.
Le programme dure généralement environ six mois et offre une bourse aux participants qui terminent avec succès le programme. Voici leur site web : https://season.kde.org/
Girlscript Summer of Code
Il s'agit d'un programme de 3 mois mené par la GirlScript Foundation. Son objectif principal est de changer des vies en transmettant une éducation technologique et des compétences pertinentes tout en favorisant la diversité.
Pendant cette période, les participants contribuent à de nombreux projets sous la direction attentive de mentors qualifiés. Visitez leur site web pour plus d'informations : https://gssoc.girlscript.tech/
Stage à la Free Software Foundation (FSF)
Ce programme offre aux participants l'opportunité de travailler en étroite collaboration avec le personnel de l'organisation sur leurs centres d'intérêt.
Selon le site de la plateforme, son principal objectif est la campagne et l'organisation communautaire, la licence des logiciels libres, les systèmes et l'administration réseau, le soutien au projet GNU et le développement web. Lisez plus ici
X.Org Endless Vacation of Code (EVoC)
Ce programme est similaire à GSoC mais avec quelques différences. Le mentorat EVoC peut être initié à tout moment de l'année civile et le conseil d'administration EVoC peut financer autant de ces mentorats qu'il le juge approprié.
Bien qu'ils acceptent une large gamme de projets, leur principal objectif est la documentation technique. Le programme dure trois à quatre mois de travail à temps presque plein et continu. Lisez plus sur EVoC ici.
Julia Seasons of Contributions (JSoC)
Julia Seasons of Contributions (JSoC) est un programme saisonnier de mentorat pour les étudiants et autres développeurs afin de contribuer à l'écosystème open source. Lisez plus sur JSoC ici.
Summer of Haskell
Summer of Haskell est un programme initié par Haskell.Org dans le but de toucher les étudiants et de les encourager à contribuer à la communauté Haskell avec l'aide de mentors expérimentés.
Le programme a les mêmes caractéristiques que GSoC, y compris le mentorat et les bourses pour les contributeurs Haskell. Lisez plus sur la manière de vous impliquer ici.
Summer of Bitcoin
Il s'agit d'un programme mondial qui offre des stages d'été en ligne axés sur l'introduction des étudiants universitaires au développement et à la conception open source de Bitcoin.
Tout au long de la période de stage, les participants apprennent comment Bitcoin fonctionne et comment contribuer aux projets Bitcoin. En retour, ils gagnent des Bitcoins en tant que bourse et construisent une carrière dans Bitcoin. Lisez plus ici.
Subventions et financement
L'un des principaux défis auxquels sont confrontés la plupart des projets open source est de trouver un financement durable.
Heureusement, il existe de nombreux programmes de subventions disponibles et prêts à fournir un soutien financier aux communautés et projets open source. Certains de ces programmes incluent :
GitHub Sponsors
GitHub Sponsors est une plateforme de financement qui permet à la communauté des développeurs de soutenir financièrement d'autres développeurs et organisations qui conçoivent, construisent et maintiennent des projets open source. Lisez plus ici.
Mozilla Open Source Support (MOSS)
MOSS est un programme qui offre un financement aux projets open source qui s'alignent sur la mission de Mozilla. MOSS propose plusieurs types de récompenses, notamment :
- Technologie Fondamentale, qui soutient les projets open source sur lesquels Mozilla s'appuie.
- Partenaires de Mission, qui soutiennent les projets open source qui contribuent à la mission de Mozilla.
- Open Source Sécurisé, qui soutient les projets open source qui améliorent la sécurité d'Internet.
Lisez plus ici.
Programme d'expérience de codage Igalia
Il s'agit d'un programme de subventions spécifiquement destiné aux personnes étudiant l'informatique, les technologies de l'information ou les logiciels libres, que ce soit dans un cadre formel ou informel.
Son objectif principal est de donner aux participants leur première exposition au monde professionnel, en travaillant main dans la main avec les programmeurs d'Igalia et en apprenant avec eux. Lisez plus ici.
Programmes de construction de communauté et de plaidoyer
La plupart des communautés open source prospèrent grâce à la collaboration, l'inclusivité et la diversité.
Pour aider à atteindre ces objectifs, ces dernières années, il y a eu une augmentation des programmes de construction de communauté visant à fournir un environnement accueillant et favorable pour différentes personnes dans le domaine de la technologie, tout en promouvant une culture d'inclusivité et de diversité.
Certains de ces programmes incluent :
- Open Source Diversity
- OpenSource Initiative
- Open Source Community Africa (OSCA)
- Open Source for America
- Hacktoberfest
- WriteSpeakCode
- Processing Foundation Fellowships
- Open Education Week
Recherche et développement
Si vous êtes intéressé par la recherche et le développement, ces projets vous aideront à entrer dans ce domaine. La plupart de ces programmes se concentrent sur l'avancement des technologies open source et de l'innovation dans divers domaines pour résoudre des problèmes réels.
Certains d'entre eux incluent :
Google Summer of Earth Engine
Il s'agit d'un programme de recherche ciblant principalement les étudiants universitaires et les chercheurs d'Inde. Les participants du programme ont l'opportunité de travailler avec des organisations de recherche de premier plan qui travaillent à trouver des solutions aux problèmes affectant l'environnement, l'eau et l'agriculture.
Le programme dure une période de trois mois. Après sa conclusion, les participants reçoivent un certificat de reconnaissance, des goodies Earth Engine et une bourse. Lisez plus sur le programme ici.
Free and Open Source Silicon Foundation (FOSSi)
La mission du programme est de promouvoir et d'aider les conceptions de matériel numérique libre et open source et leurs écosystèmes associés. Il fonctionne comme un groupe ouvert, inclusif et indépendant des fournisseurs.
Certains des projets sous cette organisation particulière incluent la conférence ORCONF, le portail LibreCores pour le matériel open source et la plateforme PULP pour le calcul économe en énergie. Lisez plus ici.
Open Robotics Foundation (OSRF)
OSRF est une organisation à but non lucratif indépendante fondée par des membres de la communauté robotique mondiale. Sa mission est de soutenir le développement, la distribution et l'adoption de logiciels open source pour une utilisation dans la recherche, l'éducation et le développement de produits en robotique.
Certains de ses projets incluent Gazebo, Ignition, ROS et ROS-Industrial. Lisez plus ici
Reinforcement Learning Open-Source Fest
L'objectif principal de ce programme est d'initier les étudiants aux programmes et au développement logiciel open source en apprentissage par renforcement, tout en travaillant aux côtés de chercheurs, de scientifiques des données et d'ingénieurs de l'équipe Real World Reinforcement Learning chez Microsoft Research.
Autres projets de R&D
- The Eclipse Foundation
- Open Summer of Code
- Codeheat
- FOSSASIA Program
- Segment Open Fellowship
- Apache OpenOffice
- Career Opporunites in Open-Source
Conclusion
Avec tous ces projets et programmes, vous pouvez voir combien d'opportunités la communauté open source peut présenter. Tous ces programmes peuvent vous aider à développer vos compétences, à collaborer avec d'autres et, surtout, à créer un impact positif sur la société en résolvant des problèmes réels.
Si vous êtes intéressé à explorer les projets listés ci-dessus, assurez-vous de lire plus sur ceux qui vous intéressent afin de trouver un programme adapté à votre expertise.
Vous pouvez également rejoindre différentes communautés en ligne et forums pour vous connecter avec d'autres contributeurs, apprendre de leurs expériences et obtenir du soutien.
J'espère que cet article vous met sur la bonne voie et vous inspire à vous aventurer dans le monde de l'open source. N'oubliez pas, chaque contribution compte, peu importe sa taille. Alors n'hésitez pas à vous impliquer et commencez à faire la différence dès aujourd'hui !