Sobre la búsqueda de proyectos de código abierto para contribuir

13

Esta pregunta se ha hecho mil millones de veces en Stackoverflow, sin embargo, el enfoque siempre ha estado en la codificación no numérica. Estoy buscando un proyecto para contribuir dentro de los límites de la computación numérica y la computación de alto rendimiento. Preferiría idealmente un proyecto pequeño, pero eso no es necesario.

¿Cuál sería la mejor manera de involucrarse en un proyecto de código abierto pertinente a SciComp? ¿Dónde se empieza a buscar proyectos? ¿Cuál sería la mejor manera de entrar en un proyecto de este tipo? Solicitudes de características / Errores / Documentación u otro?

Mirando algo como ATLAS o Nix , ¿cómo pasas de N00B a activo?

Encuesta
fuente
1
Según esta pregunta de Stack Overflow y esta pregunta de Stack Overflow , creo que su pregunta está demasiado localizada. No sé si las respuestas necesariamente ayudarían a muchas otras personas en la comunidad; Hemos cerrado preguntas sobre personas que solicitan ideas de tesis por razones similares. (De lo contrario, es una buena pregunta).
Geoff Oxberry
1
No tengo mucho que sugerir, excepto: un gran proyecto es realmente un montón de pequeños proyectos que vuelan en formación. Dentro de cualquier gran proyecto de software, hay muchos equipos pequeños y superpuestos que trabajan en subproyectos específicos. Por lo tanto, es posible trabajar en equipos pequeños en un gran proyecto. Habiendo dicho eso, espero descubrir qué proyectos pequeños las personas terminan enumerando aquí.
1
@ GeoffOxberry: te aplazaré, pero estoy decepcionado de que esto esté cerrado. "Nombrar algunos buenos proyectos de código abierto para contribuir" es una gran pregunta sin respuesta en el contexto del desbordamiento de la pila, pero en el contexto de la comunidad mucho más pequeña de computación científica, donde los proyectos de software tienden a durar mucho más, creo que esto sería ser una valiosa pregunta de tipo wiki comunitario.
1
@JonathanDursi: "nombrar algunos buenos proyectos de computación científica de código abierto" sería una pregunta de la lista, que también está mal visto. (Vea esta pregunta ). Creo que una versión de computación científica de esta pregunta sería sobre el tema (en otras palabras, "¿Cuál es la mejor manera de entrar en un proyecto de código abierto en computación científica?").
Geoff Oxberry
@ GeoffOxberry, podría editar mi pregunta para que parezca stackoverflow.com/questions/88740/… pero desde una perspectiva SciComp.
Investigación

Respuestas:

11

Creo que sacarás el máximo provecho si contribuyes a proyectos que utilizas activamente para otro trabajo, ya que eso te motiva a desarrollar la funcionalidad que necesitas. En definitiva, así es como se escribe la mayoría del software de código abierto: por personas que necesitaban la funcionalidad por una razón u otra.

En el contexto de nuestro propio proyecto, deal.II , había escrito una descripción de cómo contribuir hace un tiempo en nuestras preguntas frecuentes .

Wolfgang Bangerth
fuente
¡Votado! Exactamente mi punto.
Ali
5

Advertencia: ¡autopromoción descarada por delante! :)

Soy el desarrollador principal de un pequeño proyecto de computación científica de código abierto:

PyClaw (fuente aquí )

Es parte de la familia más grande de códigos Clawpack para resolver PDE hiperbólicas. PyClaw está diseñado para resolver sistemas hiperbólicos arbitrarios de PDE en cuadrículas lógicamente cuadriláteras o hexaédricas. Incluye dos tipos diferentes de solucionadores de volumen finito y es escalable a grandes supercomputadoras (consulte nuestro artículo de diario presentado que incluye ejecuciones de hasta 65K núcleos).

Eche un vistazo a la documentación y al rastreador de problemas . ¡Hay mucho que hay que hacer! El lugar donde puede contribuir mejor depende de sus antecedentes y capacitación. Quizás la mejor manera de comenzar es abordar un pequeño problema y enviar una solicitud de extracción en Github. Alternativamente, podría tener sentido enviar un mensaje a la lista de correo de desarrolladores presentándose y explicando sus áreas de especialización.

David Ketcheson
fuente
1

Tengo el mismo problema. Terminé resolviendo mis propios problemas con las bibliotecas existentes (por ejemplo, COIN-OR), creando ejecutables independientes para tareas específicas. Planeo contribuir con estos códigos una vez que estén bastante pulidos y estables.


Estas respuestas reflejan bien mi opinión:

Buena suerte de todos modos!

Ali
fuente
No tengo un problema como tal. Simplemente deseo aprender mientras contribuyo.
Investigación del
@Nunoxic Sí, tengo esa parte. Solo quería compartir mi experiencia. Como dije: "Tengo el mismo problema". :(
Ali
1

Tres sencillos pasos:

  1. Prepárate para resolver un problema que te parezca interesante. (¡Tengo algunos si necesitas más!)
  2. Averigua qué han hecho otras personas del sistema operativo, intenta usar su software.
  3. ¡Encuentra las deficiencias y mejóralas!
meawoppl
fuente
0

lista de software XSEDE

La red XSEDE de supercomputadoras financiadas por NSF tiene una lista de software disponible , y puede buscar por dominio científico o aplicación. Sin embargo, tendrá que buscar en Google los nombres de software para obtener más información.

Proyectos miembros de la Fundación de Carpintería de Software

La Software Carpentry Foundation mantiene un lista de proyectos liderados por sus miembros. Muchos de estos están alojados en GitHub o similar y están abiertos a los contribuyentes. Algunas son herramientas para la simulación de HPC:

Divulgar : Soy instructor voluntario de la Fundación de Carpintería de Software y mi proyecto figura en la página de proyectos.

Anuncio de servicio público / plug: si está interesado en contribuir al software científico de código abierto, le sugiero que lea "Mejores prácticas en informática científica" de Wilson et al 2014 y considere asistir a un taller dirigido por la Fundación de Carpintería de Software, y si / cuando esté listo, capacitación de instructores.

David LeBauer
fuente