Terlibat dengan Proyek Sumber Terbuka [ditutup]


19

Saya sedang menuju tahun senior saya di bidang teknik komputer dan mendapatkan magang untuk musim panas dan musim gugur ini. Karena saya tidak akan mengerjakan pekerjaan rumah, saya ingin mengambil kesempatan ini untuk terlibat dalam semacam proyek sumber terbuka. Saya mahir dengan C, C ++, Java, dan Python. Saya juga cukup terbiasa dengan Linux, menggunakannya di laptop saya saat ini dan semua kelas saya semester ini berfokus padanya.

Saya sedang mempertimbangkan untuk melihat Android atau Ubuntu tetapi di masa lalu saya merasa sedikit kewalahan. Adakah yang punya saran? Tertarik pada apa yang akan menjadi proyek yang baik untuk dikerjakan, di mana untuk memulai, dan jika saya benar-benar dapat berkontribusi banyak.

Dan pada akhirnya seberapa sering perubahan orang benar-benar diterima? Seberapa sering saya akan menulis kode hanya untuk ditolak?

tl: dr Mencari lebih banyak pengalaman pemrograman dengan berkontribusi pada proyek sumber terbuka. Baru ke TKP butuh saran.


Saya akan mengatakan pendaratan di sini tentu bermanfaat!
squillman

6
Kedengarannya seperti ide yang bagus, tetapi periksa aturan "moonlighting" di perusahaan tempat Anda magang. Beberapa tempat, terutama jika mereka adalah toko perangkat lunak, akan sangat membatasi apa yang dapat Anda lakukan - bahkan di waktu Anda sendiri dan di PC Anda sendiri.
Steve

1
mungkin mempertimbangkan belajar bahasa pemrograman baru yang lebih deklaratif daripada yang Anda sebutkan. Seperti haskell atau scala. Kemudian kerjakan proyek sumber terbuka.
mrsteve

Jawaban:


15

+1 untuk Steve Haigh karena menyebutkan pencahayaan bulan.

Jika Anda bekerja untuk sebuah toko perangkat lunak, Anda mungkin menemukan diri Anda dalam situasi di mana majikan Anda mengklaim kepemilikan atas perangkat lunak yang Anda kerjakan di waktu Anda sendiri. Sebelum memulai, konsultasikan dengan atasan Anda untuk mengklarifikasi kebijakan penerangan cahaya bulan di perusahaan Anda.

Tempat yang baik untuk memulai adalah OpenHatch . Mereka adalah situs web yang ditujukan untuk membantu orang terlibat dalam proyek Open Source. Mereka akan dapat memberi Anda daftar bug "seukuran gigitan" untuk memulai proyek mana pun yang telah mendaftar, dan dapat membantu Anda menghubungi kontributor lain yang bersedia membimbing Anda di proyek dan / atau bahasa yang Anda pilih.

Penerimaan hulu tambalan Anda akan dan hampir selalu bergantung pada kualitas tambalan, dan jika tambalan tersebut disertai dengan uji kasus. Banyak proyek pada kenyataannya tidak akan menerima tambalan kecuali mereka menyertakan tes memverifikasi tambalan.
Karena kualitas kode Anda adalah sesuatu yang akan dinilai secara subyektif, bersiaplah untuk bekerja dengan kritik konstruktif dari pengelola hulu untuk meningkatkan kode Anda.


1
Kebijakan mereka tentang moonlighting adalah sesuatu yang bahkan tidak pernah saya pertimbangkan. OpenHatch.org juga terlihat keren. Mendaftarlah sekarang untuk memeriksanya.
Tarmon

2
Catatan lain tentang sampingan, jika do meminta majikan Anda, Anda mungkin ingin melakukannya melalui email untuk jejak kertas. Kalau tidak, apa yang akan menghentikan mereka dari mengubah pikiran mereka nanti dan mengatakan mereka tidak pernah meninggalkan klaim mereka untuk proyek Anda? Hanya pemikiran saja.
Jeff Welling

Saya tidak percaya pertanyaan ini ditutup, terutama karena memiliki banyak "jawaban," berdasarkan opini atau tidak!
Dave Kanter

7

Sebagai manajer proyek sumber terbuka (FireBreath), saya menyarankan agar Anda cukup menemukan proyek yang Anda gunakan atau yang menarik minat Anda dan mencari cara yang dapat Anda bantu. Ada banyak hal yang dapat Anda lakukan tanpa menulis kode apa pun. Dalam proyek kami, kami membutuhkan orang untuk membantu:

  • Tes dan laporkan bug
  • Perbarui dokumentasi di situs web
  • Bantu menulis alat sekunder
  • Nongkrong di ruang IRC dan bantu pengguna baru
  • Buat contoh plugin menggunakan FireBreath untuk dilihat pengguna baru

Ini khusus untuk proyek saya, tentu saja (dan Anda dapat membantu! ;-) tetapi semua proyek memiliki hal-hal seperti itu yang dapat dikontribusikan oleh pengguna baru. Kontribusi saya yang terbaru untuk proyek lain adalah menambahkan alat untuk pengelolaan izin repositori wildcard yang lebih baik pada gitolite. Tetap dengan proyek yang menurut Anda menarik atau dapat digunakan!

Semoga berhasil!


Aku bahkan tidak memikirkan hal-hal seperti itu. Terima kasih atas sarannya. Saya akan pergi mencari-cari proyek baru yang membutuhkan hal-hal semacam itu.
Andrew

+1 untuk dokumentasi. Sebagai koordinator untuk SharePoint SUSHI, salah satu hal paling membosankan dan paling sulit untuk ditulis adalah dokumen, tetapi mereka juga yang paling penting bagi pengguna baru. Membantu di sana juga akan membuat Anda terbiasa dengan fitur-fitur proyek dan cara kerjanya.
Ryan Hayes

3

Saya tidak dapat memberi tahu Anda proyek apa yang harus Anda pilih - ini terserah Anda sebenarnya. Namun, saya dapat memberi tahu Anda cara untuk terlibat: jika Anda merasakan hasrat untuk beberapa proyek, yaitu telah menggunakan aplikasi cukup lama (untuk OS itu mungkin tidak semudah), Anda selalu dapat mengirimkan tambalan dengan perubahan yang disarankan (perangkat tambahan, perbaikan bug) dan minta pemilik proyek untuk meninjau / mengintegrasikan.
Itu cukup mudah dengan proyek-proyek di GitHub - cukup buat tambalan Anda dan kirim permintaan tarik.
Bagaimanapun, semakin banyak patch berharga yang Anda kirimkan, semakin besar kemungkinan mereka akan menyambut Anda ke tim inti.


2

Jika Anda tidak ahli dalam bahasa tertentu masih ada banyak kegiatan yang sangat dihargai. Mereka termasuk pengujian, menulis tutorial, menulis dokumentasi API, melakukan situs web untuk proyek dll. Jika Anda memiliki minat khusus menemukan proyek di daerah itu dan berkontribusi pengetahuan domain. (Misalnya kami memiliki komunitas aktif proyek-proyek OS kimia).


2

Untuk masuk ke proyek-proyek Open Source, lihat sebentar di OpenHatch - itu adalah seluruh misi mereka:

proyek sumber terbuka dengan tujuan menurunkan hambatan untuk masuk ke dalam kontribusi sumber terbuka dan meningkatkan keanekaragaman. Kami mencapai tujuan ini melalui sejumlah inisiatif ...


2
maukah Anda menjelaskan lebih lanjut tentang apa yang dilakukannya dan mengapa Anda merekomendasikannya untuk menjawab pertanyaan yang diajukan? "Jawaban khusus tautan" tidak diterima di Stack Exchange
agas

1

Sebagai contoh, Mozilla selalu mencari programmer C ++ untuk mengembangkan dan menguji proyek mereka. Sangat luar biasa bagi pendatang baru untuk mengunduh basis kode besar dan menghabiskan waktu berjam-jam membangunnya. Maka dibutuhkan dalam lingkungan enam bulan di mana Anda menghabiskan rata-rata 10+ jam seminggu untuk berkenalan dengannya dan memahami bug atau cacat atau hal semacam itu. Kemudian, segera Anda harus dapat memahami cara melihat mereproduksi, mengisolasi, memperbaiki, menguji, uji regresi, menerapkan tambalan. Ketika Anda melakukan ini lebih banyak, Anda mungkin mendapatkan akses tulis langsung ke basis kode, mengawasi fitur atau lebih. Saya percaya ini benar untuk setiap proyek yang matang dengan banyak orang yang mengerjakannya.

Di ujung lain, ada banyak proyek sekarat karena tidak ada yang mengembangkannya. Mungkin sulit untuk menemukan orang yang dapat membantu Anda atau dokumentasi dalam jenis-jenis ini.

Untuk mencapai keseimbangan di antara yang ekstrem ini, Anda dapat menemukan program yang perlu Anda gunakan sering atau setiap hari. Tetap gunakan cukup hingga Anda memaksimalkan fitur yang diset segera. Mungkin mengembangkan semacam afinitas terhadap menggunakannya di atas opsi lain. Kemudian, Anda bisa mengajukan permintaan fitur atau mengambilnya sendiri karena Anda cenderung menjadi orang yang paling memahami fitur yang Anda usulkan. Di permukaan, opsi ini membuat Anda merasa seperti Anda tidak akan memaksimalkan fitur-fitur program. Jika Anda bertahan cukup lama, Anda akan membutuhkan program untuk melakukan lebih dari apa yang sebenarnya bisa dilakukan. Ini bisa berupa perbaikan keamanan / privasi, atau hal yang halus atau peningkatan kegunaan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.