O znajdowaniu projektów Open Source, do których należy się przyczynić


13

To pytanie zostało zadane miliard razy na Stackoverflow, jednak zawsze skupiano się na kodowaniu nienumerycznym. Szukam projektu, do którego można się przyczynić w ramach obliczeń numerycznych i obliczeń o wysokiej wydajności. Idealnie wolałbym mały projekt, ale nie jest to konieczne.

Jaki byłby najlepszy sposób na zaangażowanie się w projekt open source dotyczący SciComp? Gdzie zaczyna się szukać projektów? Jaki byłby najlepszy sposób na wejście w taki projekt? Prośby o nowe funkcje / Błędy / Dokumentacja czy inne?

Patrząc na coś takiego jak ATLAS lub Nix , jak przejść z N00B do aktywnych?


1
W oparciu o to pytanie przepełnienia stosu i pytanie przepełnienia stosu myślę, że twoje pytanie jest zbyt zlokalizowane. Nie wiem, czy odpowiedzi niekoniecznie pomogłyby wielu innym członkom społeczności; zamknęliśmy pytania dotyczące osób pytających o pomysły na tezy z podobnych powodów. (W przeciwnym razie jest to dobre pytanie.)
Geoff Oxberry

1
Nie mam wiele do zaproponowania, z wyjątkiem: Duży projekt to tak naprawdę cała masa małych projektów lecących w szyku. W ramach każdego dużego projektu oprogramowania istnieje wiele małych, nakładających się zespołów pracujących nad konkretnymi podprojektami. Dlatego możliwe jest wykonywanie pracy w małych zespołach przy dużym projekcie. Powiedziawszy to, nie mogę się doczekać, aby dowiedzieć się, jakie małe projekty ludzie kończą tutaj na liście.

1
@GeoffOxberry: Odłożę się na ciebie, ale jestem rozczarowany, że to jest zamknięte. „Wymień kilka dobrych projektów open source, do których należy się przyczynić” to ogromne, niemożliwe do rozstrzygnięcia pytanie w kontekście przepełnienia stosu, ale w kontekście znacznie mniejszej społeczności naukowców, gdzie projekty oprogramowania trwają znacznie dłużej, myślę, że to by było bądź cennym pytaniem typu wiki-społeczność.

1
@JathanathanDursi: „Wymień kilka dobrych naukowych projektów obliczeniowych o otwartym kodzie źródłowym” byłoby więc pytaniem z listy, na które również nie należy się zgodzić. (Zobacz to pytanie .) Myślę, że naukowa wersja tego pytania dotyczyłaby tematu (innymi słowy: „Jaki jest najlepszy sposób, aby dostać się do projektu open source w informatyce naukowej?”).
Geoff Oxberry

@GeoffOxberry, mógłbym edytować moje pytanie, aby przypominało stackoverflow.com/questions/88740/... ale w perspektywie SciComp.
Zapytanie

Odpowiedzi:


11

Myślę, że w pełni skorzystasz z tego, jeśli przyczynisz się do projektów, które aktywnie wykorzystujesz do innych prac, ponieważ to motywuje cię do rozwijania funkcjonalności, której potrzebujesz. W ten sposób pisze się większość oprogramowania typu open source: przez ludzi, którzy potrzebowali tej funkcji z tego czy innego powodu.

W kontekście naszego własnego projektu, deal.II , napisałem opis, w jaki sposób wnieść swój wkład z powrotem do naszych FAQ .


Pozytywne! Dokładnie o to mi chodzi.
Ali,

5

Ostrzeżenie: bezwstydna autopromocja przed nami! :)

Jestem głównym programistą małego projektu naukowego o otwartym kodzie źródłowym:

PyClaw (źródło tutaj )

Jest częścią większej rodziny kodów Clawpack do rozwiązywania hiperbolicznych PDE. PyClaw jest zaprojektowany do rozwiązywania dowolnych układów hiperbolicznych PDE na logicznie cztero-stronnych lub sześciościennych siatkach. Zawiera dwa różne rodzaje solverów o skończonej objętości i jest skalowalny do dużych superkomputerów (patrz nasz przesłany artykuł do czasopisma, w tym działa na rdzeniach do 65 000).

Spójrz na dokumentację i narzędzie do śledzenia problemów . Jest wiele rzeczy do zrobienia! To, gdzie możesz najlepiej przyczynić się, zależy od twojego pochodzenia i treningu. Być może najlepszym sposobem na rozpoczęcie jest rozwiązanie małego problemu i przesłanie prośby o ściągnięcie na Github. Alternatywnie może być sensowne wysłanie wiadomości na listę mailową programistów przedstawiającą się i wyjaśniającą obszary specjalizacji.


1

Mam ten sam problem. Skończyłem rozwiązywanie własnych problemów z istniejącymi bibliotekami (na przykład COIN-OR), tworząc samodzielne pliki wykonywalne dla określonych zadań. Planuję przekazać te kody z powrotem, gdy będą dość dopracowane i stabilne.


Te odpowiedzi dobrze odzwierciedlają moją opinię:

W każdym razie powodzenia!


Jako taki nie mam problemu. Po prostu chcę się uczyć, wnosząc wkład.
Zapytanie

@Noxoxic Tak, dostałem tę część. Chciałem tylko podzielić się swoim doświadczeniem. Jak powiedziałem: „Mam ten sam problem”. :(
Ali,

1

Trzy proste kroki:

  1. Postaraj się rozwiązać problem, który uważasz za interesujący. (Mam trochę, jeśli potrzebujesz więcej!)
  2. Dowiedz się, co zrobili inni użytkownicy systemu operacyjnego, spróbuj użyć ich oprogramowania.
  3. Znajdź niedociągnięcia i popraw je!

0

lista oprogramowania XSEDE

Sieć XSEDE superkomputerów finansowanych przez NSF ma listę dostępnego oprogramowania i możesz wyszukiwać według domeny naukowej lub aplikacji. Będziesz jednak musiał przejrzeć nazwy oprogramowania w Google, aby dowiedzieć się więcej.

Projekty członkowskie Software Carpentry Foundation

Software Carpentry Foundation prowadzi listę projektów prowadzonych przez jej członków. Wiele z nich jest hostowanych na GitHub lub podobnym i są dostępne dla współpracowników. Kilka z nich to narzędzia do symulacji HPC:

Ujawnienie : Jestem wolontariuszem instruktorem Software Carpentry Foundation, a mój projekt znajduje się na stronie projektów.

Ogłoszenie Plug / Public Service: jeśli jesteś zainteresowany współpracą z oprogramowaniem naukowym typu open source, sugeruję przeczytanie „Najlepszych praktyk w obliczeniach naukowych” Wilson i in. 2014 i rozważenie udziału w warsztatach prowadzonych przez Software Carpentry Foundation - i jeśli / kiedy będziesz gotowy, szkolenie instruktorskie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.