Auf der Suche nach Open Source-Projekten, zu denen Sie beitragen können


13

Diese Frage wurde ein gefragt Milliarden Mal jedoch auf Stackoverflow hat sich der Fokus auf nicht-numerischen Codierung immer. Ich bin auf der Suche nach einem Projekt, an dem ich im Rahmen von Numerical Computing und High Performance Computing mitarbeiten kann. Ich würde im Idealfall ein kleines Projekt vorziehen, aber das ist nicht notwendig.

Was wäre der beste Weg, um sich an einem Open Source-Projekt für SciComp zu beteiligen? Wo fängt man an, nach Projekten zu suchen? Was wäre der beste Weg, um an einem solchen Projekt teilzunehmen? Feature Requests / Bugs / Dokumentation oder sonstiges?

Wenn Sie sich so etwas wie ATLAS oder Nix ansehen, wie wechseln Sie von N00B zu Active?


1
Aufgrund dieser Stapelüberlauf-Frage und dieser Stapelüberlauf-Frage denke ich, dass Ihre Frage zu lokalisiert ist. Ich weiß nicht, ob Antworten unbedingt vielen anderen Menschen in der Gemeinde helfen würden. Aus ähnlichen Gründen haben wir Fragen zu Personen geschlossen, die nach Ideen für Abschlussarbeiten fragen. (Ansonsten ist es eine gute Frage.)
Geoff Oxberry

1
Ich kann nicht viel vorschlagen, außer: Ein großes Projekt ist wirklich nur eine ganze Reihe kleiner Projekte, die in Formation fliegen. In jedem großen Softwareprojekt gibt es viele kleine, sich überschneidende Teams, die an bestimmten Teilprojekten arbeiten. So ist es möglich, in kleinen Teams an einem großen Projekt zu arbeiten. Trotzdem freue ich mich darauf, herauszufinden, welche kleinen Projekte die Leute hier auflisten.

1
@GeoffOxberry: Ich werde es dir aufschieben, aber ich bin enttäuscht, dass dies geschlossen ist. "Nennen Sie einige gute Open-Source-Projekte, zu denen Sie beitragen können", ist eine große, unbeantwortbare Frage im Zusammenhang mit dem Stapelüberlauf, aber im Kontext der viel kleineren Gemeinschaft des wissenschaftlichen Rechnens, in der Softwareprojekte tendenziell viel länger dauern, denke ich, würde dies der Fall sein Eine wertvolle Frage vom Typ Community-Wiki.

1
@JonathanDursi: "Nennen Sie einige gute Open-Source-Projekte für das wissenschaftliche Rechnen" wäre dann eine Listenfrage, die ebenfalls verpönt ist. (Siehe diese Frage .) Ich denke, dass eine wissenschaftliche Computerversion dieser Frage zum Thema gehört (mit anderen Worten: "Was ist der beste Weg, um in ein Open-Source-Projekt im wissenschaftlichen Rechnen einzusteigen?").
Geoff Oxberry

@GeoffOxberry, ich könnte meine Frage so bearbeiten, dass sie stackoverflow.com/questions/88740/… ähnelt, aber in einer SciComp-Perspektive.
Anfrage

Antworten:


11

Ich denke, Sie werden das Beste daraus machen, wenn Sie zu Projekten beitragen, die Sie aktiv für andere Arbeiten nutzen, da dies Sie dazu motiviert, Funktionen zu entwickeln, die Sie selbst benötigen. Letztendlich wird so die meiste Open-Source-Software geschrieben: von Leuten, die die Funktionalität aus dem einen oder anderen Grund brauchten.

Im Rahmen unseres eigenen Projekts deal.II hatte ich eine Beschreibung darüber verfasst, wie wir vor einiger Zeit einen Beitrag zu unseren häufig gestellten Fragen leisten können .


Upvoted! Genau mein Standpunkt.
Ali

5

Achtung: Schamlose Eigenwerbung voraus! :)

Ich bin leitender Entwickler eines kleinen Open-Source-Projekts für wissenschaftliches Rechnen:

PyClaw (Quelle hier )

Es ist Teil der größeren Familie von Clawpack- Codes zum Lösen hyperbolischer PDEs. PyClaw wurde entwickelt, um beliebige hyperbolische Systeme von PDEs auf logisch viereckigen oder hexaedrischen Gittern zu lösen. Es enthält zwei verschiedene Arten von Finite-Volume-Solvern und ist für große Supercomputer skalierbar (siehe unser eingereichtes Journalpapier mit Auflagen von bis zu 65K-Kernen).

Schauen Sie sich die Dokumentation und den Issue Tracker an . Es gibt viel zu tun! Wo Sie am besten beitragen können, hängt von Ihrem Hintergrund und Ihrer Ausbildung ab. Vielleicht ist der beste Weg, um loszulegen, ein kleines Problem anzugehen und eine Pull-Anfrage bei Github einzureichen. Alternativ kann es sinnvoll sein, eine Nachricht an die Entwickler-Mailingliste zu senden, in der Sie sich vorstellen und Ihre Fachgebiete erläutern.


1

Ich habe das gleiche Problem. Am Ende habe ich meine eigenen Probleme mit vorhandenen Bibliotheken (z. B. COIN-OR) gelöst und eigenständige ausführbare Dateien für bestimmte Aufgaben erstellt. Ich habe vor, diese Codes wieder einzuspielen, sobald sie ziemlich poliert und stabil sind.


Diese Antworten spiegeln meine Meinung gut wider:

Trotzdem viel Glück!


Ich habe kein Problem als solches. Ich möchte einfach lernen, während ich mitarbeite.
Anfrage

@Nunoxic Ja, ich habe diesen Teil bekommen. Ich wollte nur meine Erfahrungen teilen. Wie gesagt: "Ich habe das gleiche Problem." :(
Ali

1

Drei einfache Schritte:

  1. Lösen Sie ein für Sie interessantes Problem. (Ich habe welche, wenn du mehr brauchst!)
  2. Finden Sie heraus, was andere Benutzer des Betriebssystems getan haben, und versuchen Sie, ihre Software zu verwenden.
  3. Finde die Mängel und verbessere sie!

0

Liste der XSEDE-Software

Das XSEDE-Netzwerk von NSF-finanzierten Supercomputern verfügt über eine Liste verfügbarer Software , und Sie können nach wissenschaftlichen Domänen oder Anwendungen suchen. Sie müssen jedoch die Namen der Software googeln, um mehr zu erfahren.

Mitgliedsprojekte der Software Carpentry Foundation

Die Software Carpentry Foundation führt eine Liste von Projekten, die von ihren Mitgliedern geleitet werden. Viele davon werden auf GitHub oder ähnlichem gehostet und sind offen für Mitwirkende. Einige Tools für die HPC-Simulation:

Offenlegung : Ich bin ein ehrenamtlicher Ausbilder der Software Carpentry Foundation und mein Projekt ist auf der Projektseite aufgeführt.

Ankündigung von Plug-and-Public-Services: Wenn Sie an Open-Source-Software für die Wissenschaft interessiert sind, empfehlen wir Ihnen, "Best Practices in Scientific Computing" von Wilson et al. 2014 zu lesen und an einem Workshop der Software Carpentry Foundation teilzunehmen Wenn / wenn Sie bereit sind, Instruktor Training.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.