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.
sumber
Jawaban:
+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.
sumber
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:
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!
sumber
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.
sumber
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).
sumber
Untuk masuk ke proyek-proyek Open Source, lihat sebentar di OpenHatch - itu adalah seluruh misi mereka:
sumber
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.
sumber