Menyumbang kepada projek sumber terbuka: Bagaimana untuk bermula

Projek-projek sumber terbuka telah melahirkan pelbagai perisian berguna sejak bertahun-tahun. Banyak teknologi hebat yang kami gunakan hari ini dilahirkan daripada pembangunan sumber terbuka! Android, Firefox, pemain media VLC, MongoDB, Linux, Docker dan Python hanya untuk menamakan beberapa.

Malah banyak gergasi teknologi menyedari manfaat dan membenarkan pekerja mereka mengambil hari dan mendedikasikan masa mereka untuk membuka projek sumber. Malah, ramai yang mempunyai projek sumber terbuka sendiri.

Walau bagaimanapun, majoriti penyumbang untuk projek sumber terbuka tidak berfungsi untuk gergasi teknologi; sesiapa sahaja boleh meninggalkan tanda mereka pada perisian terbuka atau membuat "perkara besar seterusnya" mereka sendiri. Sebagai sebahagian daripada projek sumber terbuka juga dapat membantu anda meningkatkan kemahiran anda, mempelajari sesuatu yang baru, mendapatkan bimbingan atau membentuk persahabatan yang panjang. Sumbangan kepada projek sumber terbuka sepatutnya memberi manfaat yang saling menguntungkan dalam jangka pendek dan panjang. Banyak syarikat secara aktif menyewa pemaju sepenuh masa daripada mereka yang paling banyak menyumbang kepada sesuatu projek, dan dengan itu berbuat demikian dapat menjadi cara terbaik untuk memamerkan kemahiran anda, sambil belajar yang baru.

Artikel ini menggabungkan beberapa tip yang kami kongsi dengan mereka yang ingin terlibat dengan MindsDB, dan sementara setiap projek adalah berbeza, diharapkan idea-idea ini akan membantu anda terlibat dalam mana-mana projek sumber terbuka.

Halaman GitHub MindsDB

Sebelum membuat sumbangan pertama anda

1. Menilai diri anda:

Langkah pertama adalah untuk menilai kemahiran teknikal atau bukan teknikal yang anda ada atau ingin bertambah baik. Tanya diri sendiri di mana saya boleh menambah nilai paling? Ini dapat membantu menulis kod, menguji pepijat atau membantu memperbaiki dokumentasi supaya orang lain dapat menggunakan perisian ini dengan lebih cekap.

2. Kenali GitHub

Hampir semua projek sumber terbuka menggunakan sistem kawalan versi, alat yang membantu menggabungkan kod baru ke dalam projek (utama "repositori"). Biasanya, kolaborasi ini berpusat di sekitar laman web yang menjadi tuan rumah repositori utama. Laman web ini termasuk Github, Bitbucket dan Gitlab, menganggap Github adalah yang paling popular dan yang kami gunakan di MindsDB.

Secara umumnya, sistem kawalan versi membolehkan menjejaki semua perubahan dalam projek tanpa menyimpan beberapa fail. Buat akaun di Github, log masuk dan terokai semua tab yang berlainan di bahagian atas tapak web. Di sini anda akan mendapat maklumat tentang Github, panduan pembangunan, projek sumber terbuka, acara, persidangan dan lain-lain. Anda boleh mempelajari semua asas-asas GitHub dengan mengikuti panduan ini di sini.

3. Cari projek-projek yang berkaitan dan sertai masyarakat

Cari projek-projek yang berkaitan di Github berdasarkan kemahiran anda. Anda boleh menggunakan Github Explore untuk tujuan ini atau mendaftar untuk Kod Triage untuk mendapatkan e-mel pada isu yang berbeza setiap hari. Semasa memilih projek untuk bermula, cari projek yang sedang dikendalikan secara aktif (banyak komitmen) dan mempunyai banyak masalah. Sebaik sahaja anda telah menemui projek anda yang berkaitan, Star & Fork projek itu, langgan senarai mel dan saluran kendurnya. Ini adalah cara terbaik untuk mendapatkan bantuan jika anda tersekat dalam menubuhkan projek atau membuat sumbangan pertama anda.

Membuat sumbangan pertama anda

1. Main dengan perisian: Cari Bugs

Pertama, cuba perisian itu, pasang dan mainkan, cubalah memecahkannya, lihat jika ia berbuat apa yang dikatakan di dalam kotak. Ini adalah tempat yang bagus di mana anda boleh mula menambah nilai dengan mudah, dengan melaporkan sebarang isu yang anda dapati. Setiap projek mungkin mempunyai template yang sedikit berbeza untuk melaporkan isu-isu, tetapi pada dasarnya mereka semua mengandungi maklumat yang serupa. (Anda boleh mencari templat Isu MindsDB di sini)

2. Terokai Isu yang sedia ada

Sebaik sahaja anda telah mengetahui projek yang ingin anda sumbangkan, tinjau repositori Githubnya, baca dokumen dan pergi ke tab isu. Di sini anda akan mendapati semua isu terbuka yang boleh anda lakukan. Isu-isu ini boleh dari tahap pemula untuk memajukan tahap. Jika repositori diselenggara dengan baik, isu-isu tersebut akan ditandai dengan "pemula", "pemasa pertama", "bantuan" dan sebagainya supaya anda boleh bekerja dengan tugas yang paling mudah untuk mendapatkan keyakinan dan pengalaman dengan projek tersebut.

3. Membantu memperbaiki dokumentasi

Walau bagaimanapun, anda tidak perlu kod segera. Anda boleh menyumbang kepada dokumentasi, membuat panduan pemaju, membantu orang lain menyelesaikan masalah mereka, dan sebagainya. Baca dokumentasi dan jika anda rasa sesuatu yang hilang ini boleh menjadi tempat pertama yang bagus untuk menyumbang. Anda boleh meningkatkan masalah atau, jika anda merasa cukup yakin, anda boleh menambah bahagian yang hilang itu sendiri. Anda boleh melihat dokumen MindsDB di sini.

4. Cadangkan ciri-ciri baru

Jika anda menyukai projek itu dan mendapati ia berguna, anda juga boleh mula meminta ciri-ciri baru untuk membantu memperbaikinya. (Anda boleh mencari templat kami di sini) Atau lebih baik anda boleh cuba menambahnya sendiri.

Katedral dan Bazaar

Buku klasik mengenai OSS ialah Katedral dan Bazaar. Ia meneroka pembangunan gaya "bazaar", pendekatan bawah yang memberikan kuasa kepada pemaju dan pengguna. Membandingkannya dengan gaya "katedral", pendekatan atas ke bawah di mana kuasa terletak pada pengurus dan pemilik produk.

Inilah idea-idea yang menimbulkan pendekatan kerja seperti yang diterangkan dalam Manifesto Agile. Tetapi tidak kira betapa banyak syarikat telah cuba meniru pendekatan "bazaar" terhadap pembangunan, mereka tidak dapat melakukannya dengan begitu baik sebagai projek sumber terbuka.

Dalam dunia projek korporat, arkitek, pengurus dan pemilik produk memimpin jalan. Di dunia sumber terbuka, pengguna dan pemaju yang membentuk spesifikasi.

Perisian sumber terbuka sangat bagus kerana ia mengetuk ke dalam "perisikan kolektif" pemaju dan pengguna. Kebanyakan pemaju dalam projek sumber terbuka berpunca dari pangkalan pengguna terasnya, kebanyakan "pemimpin" dalam projek sumber terbuka adalah pemaju yang memasukkan idea dan kod paling banyak.

Pendekatan "bazaar" ini tidak semestinya lebih baik daripada pendekatan "katedral", tetapi ia adalah sistem yang patut dicuba. Ia boleh memberi pemaju baru banyak kuasa ke atas perisian, tanpa mengira kriteria luaran seperti umur atau kekananan dalam organisasi. Satu-satunya token pertukaran ialah kod, sumbangan yang lebih bernilai, semakin banyak anda mempengaruhi reka bentuk.

Jika tidak ada yang lain, anda harus bekerja pada beberapa projek sumber terbuka untuk mengalami gaya bawah reka bentuk perisian ini.

Matlamat seterusnya sebagai pemaju sumber terbuka

1. Menghadiri Konferensi

Sebagai pembangun sumber terbuka, anda boleh menghadiri persidangan dan acara yang berkaitan dengan pengekodan dan teknologi. Anda boleh menyemak peristiwa yang berlainan di Github Explore dan cuba menghadiri acara-acara yang dekat dengan anda. MindsDB akan menganjurkan pertemuan sepanjang tahun 2019; jika anda ingin kekal terkini dengan semua MIndsDB anda boleh melanggan senarai mel kami di sini

2. Dibayar untuk pembangunan sumber terbuka

Secara umumnya, anda tidak dibayar untuk melakukan pembangunan sumber terbuka kerana kebanyakan kerja yang dilakukan adalah sukarela. Walau bagaimanapun, jika anda tidak mampu menghabiskan masa yang tidak dibayar dalam pembangunan sumber terbuka, anda boleh bercakap dengan majikan anda dan mengarahkan idea untuk projek yang mungkin menarik perhatian majikan anda atau mencari projek yang membayar pembangun sumber terbukanya. Anda boleh mempelajari lebih lanjut dari panduan Github untuk mendapatkan bayaran untuk pembangunan sumber terbuka. Banyak syarikat (termasuk MindsDB) juga menyewa atau membayar penyumbang utama untuk kerja mereka.

3. Bersinar CV anda, menjadi mentor dan memohon pertandingan terbuka sumber

Anda harus menyebutkan semua projek yang telah anda sumbangkan pada CV anda atau menambah pautan ke akaun GitHub anda pada CV anda atau dalam surat lamaran. Kebanyakan majikan terkesan dengan pengiktirafan sedemikian dan lebih suka calon-calon tersebut untuk menyewa.

Anda juga boleh menjadi mentor kepada orang-orang yang baru untuk pembangunan sumber terbuka. Sudah waktunya untuk kembali kepada komuniti dan memberi bimbingan kepada mereka yang baru bermula. Terdapat beberapa program di mana anda boleh memilih menjadi mentor, mis. Google Summer Code, Rails Girls Summer of Code, Outreachy, dll, atau hanya membantu orang dengan membalas pertanyaan mereka pada milis atau StackOverflow.

Adam Carrigan adalah Pengasas bersama MindsDB alat yang mudah digunakan untuk menambah pembelajaran mesin kepada projek anda dan menyelesaikan cabaran data. Ikuti saya di Twitter

Anda juga boleh mengikuti projek kami di GitHub dan Twitter