Mencari Proyek Sumber Terbuka Untuk Dikontribusikan

13

Pertanyaan ini telah ditanyakan satu miliar kali pada Stackoverflow namun, fokusnya selalu pada Non-Numerical Coding. Saya mencari proyek untuk berkontribusi dalam batas-batas Komputasi Numerik dan Komputasi Kinerja Tinggi. Idealnya saya lebih suka proyek kecil tapi itu tidak perlu.

Apa cara terbaik untuk terlibat dalam proyek sumber terbuka yang berkaitan dengan SciComp? Di mana orang mulai mencari proyek? Apa cara terbaik untuk memasuki proyek seperti itu? Permintaan Fitur / Bug / Dokumentasi atau lainnya?

Melihat sesuatu seperti ATLAS atau Nix , bagaimana Anda beralih dari N00B ke aktif?

Pemeriksaan resmi
sumber
1
Berdasarkan pertanyaan Stack Overflow dan pertanyaan Stack Overflow ini , saya pikir pertanyaan Anda terlalu terlokalisasi. Saya tidak tahu apakah jawaban akan membantu banyak orang di komunitas; kami telah menutup pertanyaan tentang orang yang meminta ide-ide tesis untuk alasan yang sama. (Kalau tidak, itu adalah pertanyaan yang bagus.)
Geoff Oxberry
1
Saya tidak punya banyak saran, kecuali: Sebuah proyek besar sebenarnya hanya sejumlah besar proyek kecil yang terbang dalam formasi. Dalam setiap proyek perangkat lunak besar, ada banyak tim kecil yang tumpang tindih yang bekerja pada subproyek tertentu. Jadi mungkin untuk melakukan pekerjaan tim kecil pada proyek besar. Karena itu, saya menantikan untuk mengetahui proyek kecil apa yang akhirnya terdaftar di sini.
1
@ GeoffOxberry: Saya akan tunduk kepada Anda, tapi saya kecewa ini ditutup. "Sebutkan beberapa proyek sumber terbuka yang baik untuk berkontribusi" adalah pertanyaan besar yang tidak dapat dijawab dalam konteks stack overflow, tetapi dalam konteks komunitas komputasi ilmiah yang jauh lebih kecil, di mana proyek perangkat lunak cenderung bertahan lebih lama, saya pikir ini akan menjadi pertanyaan berjenis komunitas-wiki yang berharga.
1
@JonathanDursi: "Sebutkan beberapa proyek komputasi ilmiah open source yang bagus" kemudian akan menjadi pertanyaan daftar, yang juga disukai. (Lihat pertanyaan ini .) Saya pikir versi komputasi ilmiah dari pertanyaan ini akan membahas topik (dengan kata lain, "Apa cara terbaik untuk masuk ke proyek open source dalam komputasi ilmiah?").
Geoff Oxberry
@ GeoffOxberry, saya bisa mengedit pertanyaan saya menyerupai stackoverflow.com/questions/88740/… tetapi dalam perspektif SciComp.
Pemeriksaan

Jawaban:

11

Saya pikir Anda akan mendapatkan hasil maksimal jika Anda berkontribusi pada proyek yang Anda gunakan secara aktif untuk pekerjaan lain, karena itu memotivasi Anda untuk mengembangkan fungsionalitas yang Anda butuhkan sendiri. Pada akhirnya, ini adalah bagaimana sebagian besar perangkat lunak open source ditulis: oleh orang-orang yang membutuhkan fungsionalitas karena satu dan lain alasan.

Dalam konteks proyek kami sendiri, deal.II , saya telah menulis deskripsi tentang bagaimana berkontribusi beberapa waktu lalu di FAQ kami .

Wolfgang Bangerth
sumber
Terpilih! Poin saya tepat.
Ali
5

Peringatan: promosi diri yang tak tahu malu ke depan! :)

Saya adalah pengembang utama proyek komputasi ilmiah open-source kecil:

PyClaw (sumber di sini )

Itu adalah bagian dari keluarga besar kode Clawpack untuk memecahkan hiperbola PDE PyClaw dirancang untuk memecahkan sistem hiperbola sewenang-wenang dari PDE pada kisi-kisi logis segiempat atau heksahedral. Ini mencakup dua jenis pemecah volume hingga dan dapat diskalakan untuk superkomputer besar (lihat makalah jurnal yang kami kirimkan termasuk berjalan di hingga 65K core).

Lihatlah dokumentasi dan pelacak masalah . Ada banyak yang perlu dilakukan! Di mana Anda dapat berkontribusi terbaik tergantung pada latar belakang dan pelatihan Anda. Mungkin cara terbaik untuk memulai adalah dengan mengatasi masalah kecil dan mengirimkan permintaan tarik pada Github. Atau, masuk akal untuk mengirim pesan ke milis pengembang yang memperkenalkan diri Anda dan menjelaskan bidang keahlian Anda.

David Ketcheson
sumber
1

Saya memiliki masalah yang sama. Saya akhirnya memecahkan masalah saya sendiri dengan perpustakaan yang ada (misalnya COIN-OR), membuat executable mandiri untuk tugas-tugas tertentu. Saya berencana untuk menyumbangkan kode-kode ini kembali setelah cukup dipoles dan stabil.


Jawaban-jawaban ini mencerminkan pendapat saya:

Semoga berhasil!

Ali
sumber
Saya tidak punya masalah seperti itu. Saya hanya ingin belajar sambil berkontribusi.
Pemeriksaan
@ Tidak Beracun Ya, saya mendapat bagian itu. Saya hanya ingin berbagi pengalaman. Seperti yang saya katakan: "Saya memiliki masalah yang sama." :(
Ali
1

Tiga langkah mudah:

  1. Berusaha menyelesaikan masalah yang menurut Anda menarik. (Saya punya beberapa jika Anda membutuhkan lebih banyak!)
  2. Cari tahu apa yang telah dilakukan oleh orang-orang OS lain, coba gunakan perangkat lunak mereka.
  3. Temukan kekurangannya dan tingkatkan!
meawoppl
sumber
0

daftar perangkat lunak XSEDE

Jaringan XSEDE dari superkomputer yang didanai NSF memiliki daftar perangkat lunak yang tersedia , dan Anda dapat mencari berdasarkan domain ilmiah atau aplikasi. Namun, Anda harus google nama-nama perangkat lunak untuk mempelajari lebih lanjut.

Proyek anggota Software Carpentry Foundation

Software Carpentry Foundation mengelola daftar proyek yang dipimpin oleh anggotanya. Banyak dari ini di-host di GitHub atau serupa dan terbuka untuk kontributor. Beberapa adalah alat untuk simulasi HPC:

Pengungkapan : Saya adalah sukarelawan instruktur Software Carpentry Foundation, dan proyek saya tercantum di halaman proyek.

Pengumuman Plug / Layanan Publik: jika Anda tertarik untuk berkontribusi pada perangkat lunak ilmiah open source, saya sarankan Anda membaca "Praktik Terbaik dalam Komputasi Ilmiah" oleh Wilson et al 2014 dan mempertimbangkan menghadiri lokakarya yang dikelola oleh Software Carpentry Foundation - dan jika / ketika Anda siap, pelatihan instruktur.

David LeBauer
sumber