Sur la recherche de projets Open Source auxquels contribuer

13

Cette question a été posée un milliard de fois sur Stackoverflow, mais l'accent a toujours été mis sur le codage non numérique. Je recherche un projet auquel contribuer dans les limites du calcul numérique et du calcul haute performance. Je préférerais idéalement un petit projet mais ce n'est pas nécessaire.

Quelle serait la meilleure façon de s'impliquer dans un projet open source pertinent pour SciComp? Par où commencer pour chercher des projets? Quelle serait la meilleure façon d'entrer dans un tel projet? Demandes de fonctionnalités / bogues / documentation ou autre?

En regardant quelque chose comme ATLAS ou Nix , comment passez-vous du N00B à l'actif?

Enquête
la source
1
Sur la base de cette question Stack Overflow et de cette question Stack Overflow , je pense que votre question est trop localisée. Je ne sais pas si les réponses aideraient nécessairement beaucoup d'autres personnes dans la communauté; nous avons fermé les questions sur les personnes demandant des idées de thèse pour des raisons similaires. (Sinon, c'est une bonne question.)
Geoff Oxberry
1
Je n'ai pas grand-chose à suggérer, sauf: Un grand projet n'est vraiment qu'un tas de petits projets qui volent en formation. Dans tout grand projet logiciel, il existe de nombreuses petites équipes qui se chevauchent et travaillent sur des sous-projets spécifiques. Il est donc possible de travailler en petite équipe sur un gros projet. Cela dit, j'ai hâte de découvrir quels petits projets les gens finissent par énumérer ici.
1
@GeoffOxberry: Je m'en remets à vous, mais je suis déçu que ce soit fermé. «Nommer de bons projets open source auxquels contribuer» est une énorme question sans réponse dans le contexte du débordement de pile, mais dans le contexte de la communauté beaucoup plus petite de l'informatique scientifique, où les projets logiciels ont tendance à durer beaucoup plus longtemps, je pense que cela être une précieuse question de type communauté-wiki.
1
@JonathanDursi: "Nommer de bons projets de calcul scientifique open source" serait alors une question de liste, qui est également mal vue. (Voir cette question .) Je pense qu'une version de calcul scientifique de cette question serait sur le sujet (en d'autres termes, "Quelle est la meilleure façon d'entrer dans un projet open source en calcul scientifique?").
Geoff Oxberry
@GeoffOxberry, je pourrais modifier ma question pour qu'elle ressemble à stackoverflow.com/questions/88740/… mais dans une perspective SciComp.
Enquête

Réponses:

11

Je pense que vous en tirerez le meilleur parti si vous contribuez à des projets que vous utilisez activement pour d'autres travaux, car cela vous motive à développer les fonctionnalités dont vous avez besoin vous-même. En fin de compte, c'est ainsi que la plupart des logiciels open source sont écrits: par des personnes qui avaient besoin de la fonctionnalité pour une raison ou une autre.

Dans le cadre de notre propre projet, deal.II , j'avais écrit une description de la façon de contribuer il y a quelque temps dans nos FAQ .

Wolfgang Bangerth
la source
A voté! Exactement mon point.
Ali
5

Attention: auto-promotion éhontée à venir! :)

Je suis développeur principal d'un petit projet de calcul scientifique open source:

PyClaw (source ici )

Il fait partie de la grande famille de codes Clawpack pour la résolution des EDP hyperboliques. PyClaw est conçu pour résoudre des systèmes hyperboliques arbitraires de PDE sur des grilles logiquement quadrilatérales ou hexaédriques. Il comprend deux types différents de solveurs à volume fini et est évolutif pour les grands supercalculateurs (voir notre article de journal soumis, y compris les exécutions jusqu'à 65 000 cœurs).

Jetez un œil à la documentation et au suivi des problèmes . Il y a beaucoup à faire! La meilleure façon de contribuer dépend de votre expérience et de votre formation. Peut-être que la meilleure façon de commencer est de résoudre un petit problème et de soumettre une demande d'extraction sur Github. Alternativement, il peut être judicieux d'envoyer un message à la liste de diffusion des développeurs pour vous présenter et expliquer vos domaines d'expertise.

David Ketcheson
la source
1

J'ai le même problème. J'ai fini par résoudre mes propres problèmes avec les bibliothèques existantes (par exemple COIN-OR), en créant des exécutables autonomes pour des tâches spécifiques. Je prévois de contribuer ces codes une fois qu'ils sont assez polis et stables.


Ces réponses reflètent bien mon opinion:

Bonne chance quand même!

Ali
la source
Je n'ai pas de problème en tant que tel. Je souhaite simplement apprendre tout en contribuant.
Enquête
@Nunoxic Oui, j'ai eu cette partie. Je voulais juste partager mon expérience. Comme je l'ai dit: "J'ai le même problème." :(
Ali
1

Trois étapes faciles:

  1. Essayez de résoudre un problème que vous trouvez intéressant. (J'en ai si vous en avez besoin de plus!)
  2. Découvrez ce que les autres OS ont fait, essayez d'utiliser leur logiciel.
  3. Trouvez les lacunes et améliorez-les!
meawoppl
la source
0

liste des logiciels XSEDE

Le réseau XSEDE de superordinateurs financés par la NSF dispose d'une liste de logiciels disponibles , et vous pouvez effectuer une recherche par domaine ou application scientifique. Cependant, vous devrez rechercher les noms des logiciels sur Google pour en savoir plus.

Projets membres de la Software Carpentry Foundation

La Software Carpentry Foundation tient une liste de projets menés par ses membres. Beaucoup d'entre eux sont hébergés sur GitHub ou similaire et sont ouverts aux contributeurs. Quelques-uns sont des outils de simulation HPC:

Divulgation : Je suis un instructeur bénévole de la Software Carpentry Foundation et mon projet est répertorié sur la page des projets.

Plug / Public Service Announcement: si vous êtes intéressé à contribuer à des logiciels scientifiques open source, je vous suggère de lire "Best Practices in Scientific Computing" de Wilson et al 2014 et d'envisager d'assister à un atelier organisé par la Software Carpentry Foundation - et si / quand vous êtes prêt, formation d'instructeur.

David LeBauer
la source