Je me dirige vers ma dernière année en génie informatique et j'ai obtenu un stage pour cet été et cet automne. Comme je ne ferai pas de devoirs, j'aimerais profiter de cette occasion pour m'impliquer dans un projet open source en quelque sorte. Je maîtrise C, C ++, Java et Python. Je suis aussi raisonnablement familier avec Linux, je l'utilise sur mon ordinateur portable en ce moment et toutes mes classes de ce semestre se sont concentrées sur lui.
J'envisageais de regarder Android ou Ubuntu mais dans le passé, je me suis senti un peu dépassé. Quelqu'un a-t-il des conseils? Intéressé sur ce qui serait un bon projet sur lequel travailler, par où commencer et si je serais vraiment capable de contribuer beaucoup.
Et à la fin, à quelle fréquence les changements des peuples sont-ils réellement acceptés? À quelle fréquence est-ce que j'écrirais du code juste pour le rejeter?
tl: dr Vous recherchez plus d'expérience en programmation en contribuant à un projet open source. Les nouveaux venus sur la scène ont besoin de conseils.
la source
Réponses:
+1 à Steve Haigh pour avoir mentionné le clair de lune.
Si vous travaillez pour un magasin de logiciels, vous pouvez vous retrouver dans une situation où votre employeur revendique la propriété du logiciel sur lequel vous avez travaillé à votre propre rythme. Avant de commencer, consultez votre employeur pour clarifier la politique de Moonlighting dans votre entreprise.
Un bon endroit pour commencer pourrait être OpenHatch . C'est un site Web dédié à aider les gens à s'impliquer dans des projets Open Source. Ils seront en mesure de vous donner une liste de bugs "de la taille d'une bouchée" pour démarrer sur l'un des projets qui se sont inscrits avec eux, et peuvent vous aider à entrer en contact avec d'autres contributeurs qui sont prêts à vous encadrer sur le projet et / ou langue de votre choix.
L'acceptation en amont de vos correctifs dépendra et dépendra presque toujours de la qualité du correctif, et s'il est accompagné de cas de test. En fait, de nombreux projets n'accepteront pas de correctifs à moins qu'ils n'incluent un test de vérification du correctif.
Étant donné que la qualité de votre code sera jugée subjectivement, soyez prêt à travailler avec les critiques constructives des responsables en amont pour améliorer votre code.
la source
En tant que gestionnaire d'un projet open source (FireBreath), je vous suggère de simplement trouver un projet que vous utilisez ou qui vous intéresse et de chercher des moyens d'aider. Il y a beaucoup de choses que vous pouvez faire sans même écrire de code. Dans notre projet, nous avons besoin de personnes pour aider:
Celles-ci sont spécifiques à mon projet, bien sûr (et vous êtes les bienvenus pour aider! ;-) mais tous les projets ont des choses comme ça que les nouveaux utilisateurs peuvent apporter. Ma contribution la plus récente à un autre projet a été d'ajouter un outil pour une meilleure gestion des autorisations de référentiels génériques sur gitolite. Restez avec des projets que vous trouvez intéressants ou que vous pouvez utiliser!
Bonne chance!
la source
Je ne peux pas vous dire quel projet vous devez choisir - cela dépend de vous en fait. Cependant, je peux vous dire comment vous impliquer: si vous vous sentez passionné par certains projets, c'est-à-dire que vous utilisez l'application depuis un certain temps (pour OS, ce n'est peut-être pas aussi simple), vous pouvez toujours soumettre des correctifs avec les modifications suggérées (améliorations, corrections de bugs) et demandez aux propriétaires du projet de les examiner / intégrer.
C'est assez facile avec les projets sur GitHub - il suffit de créer votre patch et de soumettre une demande de pull.
Quoi qu'il en soit, plus les correctifs que vous soumettez sont précieux, plus ils sont susceptibles de vous accueillir dans l'équipe principale.
la source
Si vous n'êtes pas expert dans une langue particulière, de nombreuses activités sont toujours très appréciées. Ils comprennent les tests, la rédaction de didacticiels, la rédaction de documentations API, la réalisation du site Web pour les projets, etc. Si vous avez un intérêt particulier, trouvez un projet dans ce domaine et apportez des connaissances sur le domaine. (Par exemple, nous avons une communauté active de projets de chimie OS).
la source
Pour vous lancer dans des projets Open Source, jetez un œil à OpenHatch - c'est toute leur mission:
la source
Par exemple, Mozilla est toujours à la recherche de programmeurs C ++ pour développer et tester leurs projets. Il est accablant pour un nouveau venu de télécharger la base de code massive et de passer des heures à la construire. Ensuite, cela prend environ six mois où vous passez en moyenne plus de 10 heures par semaine pour vous familiariser avec lui et comprendre un bug ou un défaut ou une telle chose. Ensuite, vous devriez bientôt pouvoir comprendre comment regarder reproduire, isoler, corriger, tester, tester la régression, appliquer le patch. Au fur et à mesure que vous faites cela, vous pouvez obtenir un accès direct en écriture à la base de code, superviser une fonctionnalité ou plus. Je crois que cela est vrai pour chaque projet qui est mature avec beaucoup de gens qui y travaillent.
À l'autre extrémité, de nombreux projets se meurent car il n'y a personne pour les développer. Il pourrait être difficile de trouver des personnes qui peuvent vous aider ou de la documentation dans ce genre.
Pour trouver un équilibre entre ces extrêmes, vous pouvez trouver un programme que vous devez utiliser souvent ou tous les jours. Continuez à l'utiliser suffisamment pour que vous maximisiez bientôt son ensemble de fonctionnalités. Peut-être développer une sorte d'affinité pour l'utiliser par rapport à d'autres options. Ensuite, vous pouvez soit soumettre une demande de fonctionnalité ou la prendre sur vous car vous êtes probablement celui qui comprend le mieux la fonctionnalité que vous proposez. En apparence, cette option vous donne l'impression de ne jamais exploiter au maximum les fonctionnalités d'un programme. Si vous restez avec lui assez longtemps, vous aurez besoin du programme pour faire plus que ce qu'il peut réellement faire. Cela pourrait être un correctif de sécurité / confidentialité, ou une chose subtile ou une amélioration de l'utilisabilité.
la source