S'impliquer dans un projet Open Source [fermé]

19

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.

Tarmon
la source
Je dirais que l'atterrissage ici vaut certainement la peine!
squillman
6
Cela semble être une bonne idée, mais vérifiez les règles du "clair de lune" dans l'entreprise où vous effectuez votre stage. Certains endroits, surtout s'il s'agit de boutiques de logiciels, seront très restrictifs sur ce que vous pouvez faire - même à votre rythme et sur votre propre PC.
Steve
1
envisagez peut-être d'apprendre un nouveau langage de programmation plus déclaratif que ceux que vous mentionnez. Comme haskell ou scala. Ensuite, travaillez sur un projet open source.
mrsteve

Réponses:

15

+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.

Jeff Welling
la source
1
Leur politique sur le clair de lune est quelque chose que je n'avais même pas envisagé. OpenHatch.org a également l'air plutôt cool. Inscrivez-vous dès maintenant pour le vérifier.
Tarmon
2
Une autre note sur le clair de lune, si vous demandez à votre employeur, vous pouvez le faire par e-mail pour la trace papier. Sinon, qu'est-ce qui les empêchera de changer d'avis plus tard et de dire qu'ils n'ont jamais renoncé à leur revendication de votre projet? Juste une pensée.
Jeff Welling
Je ne peux pas croire que cette question était close, d'autant plus qu'elle contient tant de «réponses» intéressantes, basées sur des opinions ou non!
Dave Kanter
7

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:

  • Tester et signaler les bogues
  • Mettre à jour la documentation sur le site Web
  • Aide à l'écriture d'outils secondaires
  • Sortez dans la salle IRC et aidez les nouveaux utilisateurs
  • Créez des exemples de plugins à l'aide de FireBreath pour les nouveaux utilisateurs

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!

taxilien
la source
Je n'ai même pas pensé à des choses comme ça. Merci pour les suggestions. Je vais chercher un nouveau projet qui a besoin de ce genre de choses.
Andrew
+1 pour la documentation. En tant que coordinateur pour SharePoint SUSHI, l'une des choses les plus fastidieuses et les plus difficiles à écrire sont les documents, mais ils sont également les plus importants pour les nouveaux utilisateurs. Vous y aider vous familiarisera également avec les fonctionnalités du projet et son fonctionnement.
Ryan Hayes
3

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.

Paweł Dyda
la source
2

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
2

Pour vous lancer dans des projets Open Source, jetez un œil à OpenHatch - c'est toute leur mission:

un projet open source dont les objectifs sont d'abaisser les barrières à l'entrée dans la contribution open source et d'augmenter la diversité. Nous atteignons ces objectifs grâce à un certain nombre d'initiatives ...

James
la source
2
Pourriez-vous expliquer davantage ce qu'il fait et pourquoi le recommandez-vous comme répondant à la question posée? Les "réponses en lien uniquement" ne sont pas tout à fait les bienvenues à Stack Exchange
gnat
1

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é.

vpit3833
la source