Kontribusi open-source adalah salah satu keterampilan yang paling dicari saat ini di bidang teknologi. Orang-orang telah menyadari manfaat menggunakan teknologi sumber terbuka dan imbalan menjadi bagian dari proyek ini.
Pengembangan sumber terbuka adalah pendekatan yang didasarkan pada berbagi kode sumber dan peningkatan kolaboratif.
Ada ribuan proyek sumber terbuka di internet. Proyek sumber terbuka dapat berupa aplikasi media sosial, perangkat lunak manajemen proyek, dan dokumentasi teknis. Jadi bagaimana Anda memilih yang tepat?
Apa yang Harus Diperhatikan dalam Proyek Sumber Terbuka
Salah satu kesalahpahaman tentang proyek sumber terbuka adalah Anda harus menyumbangkan kode. Meskipun kode sangat penting, area lain seperti dokumentasi, manajemen proyek, dan advokasi komunitas, dapat mencakup signifikan kontribusi sumber terbuka.
Siapa pun yang telah mengerjakan proyek sumber terbuka akan memberi tahu Anda tentang kekuatan proyek semacam itu. Manfaatnya meliputi inovasi, peningkatan keterampilan, dan hubungan produktif yang memengaruhi karier Anda.
Pertimbangkan karakteristik berikut untuk menentukan apakah sumber terbuka sepadan dengan waktu Anda.
1. Apakah Memiliki Lisensi?
Setiap proyek sumber terbuka memiliki lisensi, biasanya lisensi permisif atau lisensi copyleft. Lisensi permisif umum dalam proyek sumber terbuka. Itu tidak membatasi siapa pun untuk menggunakan, mendistribusikan, atau menjual versi perangkat lunak yang dimodifikasi.
Sebagian besar proyek sumber terbuka memiliki lisensi permisif, seperti MIT, BSD, atau Apache 2.0. Lisensi MIT membagikan dan mendistribusikan perangkat lunak secara gratis, dan bebas garansi:
Lisensi copyleft seperti Lisensi Publik Umum, Lisensi Publik Mozilla, dan Lisensi Publik Umum Affero memiliki batasan lebih lanjut.
Lisensi permisif memungkinkan kontributor untuk mengubah dan mendistribusikan perangkat lunak sumber terbuka. Ini berarti pengembang dapat memodifikasi kode sumber untuk menghasilkan perangkat lunak baru dan menggunakan atau mendistribusikannya tanpa batasan. Versi yang dimodifikasi akan berada di bawah lisensi yang sama dengan perangkat lunak aslinya.
Namun, versi yang dimodifikasi tidak akan memiliki nama yang sama dengan versi aslinya untuk memudahkan identifikasi antara keduanya. Lisensi juga harus mencakup semua orang dan tidak mendiskriminasi siapa pun.
Siapa pun yang menerima perangkat lunak yang didistribusikan ulang harus memiliki hak yang sama dalam lisensi sebagai pemilik kode asli.
Lisensi gratis tidak membatasi perangkat lunak untuk saluran distribusi atau teknologi tertentu. Perangkat lunak dan dependensi yang didistribusikan bersama perangkat lunak sumber terbuka tidak harus berupa sumber terbuka. Teknologi sumber tertutup dan berbayar lainnya menggunakan perangkat lunak sumber terbuka tanpa batasan.
2. Apakah Kode Sumber Dibagikan?
Semua proyek sumber terbuka memiliki lisensi yang memungkinkan pembagian kode sumber secara gratis. Hak juga mencakup kode yang dikompilasi dari kontribusi. Proyek harus membuat kode sumbernya tersedia untuk semua pihak tanpa batasan.
Ketika kode sumber tidak tersedia di platform publik, itu harus tersedia berdasarkan permintaan. Proyek apa pun yang tidak membagikan kode sumbernya bukanlah proyek sumber terbuka.
Namun, lisensi dapat membatasi redistribusi kode sumber dan hanya mengizinkan redistribusi bentuk modifikasinya. Kode yang dimodifikasi dapat memiliki nama atau versi yang berbeda untuk membedakannya dari proyek aslinya.
3. Apakah Proyek Memiliki Panduan untuk Kontributor?
Setiap proyek sumber terbuka harus memiliki panduan kontributor. Anda mungkin akan menemukannya di folder akar proyek, sering disebut CONTRIBUTORS atau CONTRIBUTORS.md. Panduan kontributor berisi instruksi sederhana tentang cara berkontribusi pada proyek.
Panduan menunjukkan kepada kontributor baru cara melakukan fork, mengajukan masalah, dan mengirimkan kontribusi mereka ke repositori upstream. Panduan kontributor membantu menunjukkan kepada kontributor bagaimana proyek bekerja untuk mengurangi konflik antar cabang selama penggabungan.
Berikut adalah contoh panduan kontributor dari proyek sumber terbuka AsyncAPI di GitHub:
4. Apakah Ini Memiliki Komunitas yang Aktif?
Inovasi adalah salah satu alasan mengapa proyek sumber terbuka menjadi begitu populer. Sumber terbuka menyatukan komunitas yang berbakat dan antusias untuk menghasilkan ide yang mempromosikan inovasi.
Komunitas yang kuat memastikan komunikasi, kolaborasi, dan pemasaran produk yang jelas. Komunitas sumber terbuka yang aktif menghasilkan hasil yang lebih baik dan menskalakan inovasi lebih cepat daripada proyek individu.
Untuk menentukan apakah suatu komunitas aktif, lihat saluran sosialnya. Mulailah dengan memantau aktivitas mereka di media sosial, Discord, atau akun Slack. Bekerja dalam komunitas yang aktif dengan aliran informasi dan sumber daya yang bebas lebih baik.
Komunitas aktif dalam sumber terbuka mempercepat inovasi dalam tiga cara. Komunitas menanggapi tren teknologi saat ini, memiliki siklus rilis yang sering, dan memiliki redistribusi perangkat lunak yang luas.
Contoh proyek sumber terbuka dengan komunitas yang fantastis adalah kerangka kerja Javascript Facebook, Bereaksi.
React telah berkembang ke versi 18 dalam sembilan tahun, sementara framework serupa Vue.js masih di versi 3. Kedua framework tersebut berumur kurang dari sepuluh tahun. Komunitas React yang bersemangat menaungi framework JavaScript populer lainnya, seperti Angular.
Sangat menyenangkan mengerjakan proyek sumber terbuka dengan komunitas aktif. Selain itu, Anda tidak akan pernah ketinggalan tren dan pembaruan teknologi. Menemukan komunitas teknologi Discord terbaik adalah tambahan yang bagus untuk portofolio sumber terbuka Anda.
5. Apakah Pengelola Aktif dan Penuh Perhatian?
Dalam proyek sumber terbuka, pengelola adalah kontributor dengan izin untuk mengubah file dalam repositori proyek. Pemelihara bertanggung jawab atas proyek dan memastikan kontribusi yang dibuat untuk proyek selaras dengan tujuannya.
Dalam proyek sumber terbuka yang bagus, pengelola adalah yang paling aktif. Mereka akan bertanggung jawab atas saluran komunitas, memimpin diskusi, dan menjawab pertanyaan kontributor. Pengelola memberikan pembaruan dan mendorong kolaborasi dalam komunitas.
Untuk menentukan apakah suatu proyek memiliki pengelola aktif, lihat repositori jarak jauhnya, seperti GitHub. Pemelihara aktif berkomunikasi dengan baik. Mereka menanggapi permintaan tarik, menyiapkan masalah, dan menjawab pertanyaan kontributor.
Identifikasi pengelola aktif dengan memeriksa seberapa sering mereka merespons kueri yang diposting di saluran sosial. Repositori apa pun dengan jeda komunikasi tiga bulan bukanlah proyek yang cocok.
Karakteristik Proyek Sumber Terbuka yang Baik
Sementara banyak karakteristik lain menentukan proyek sumber terbuka yang sesuai, yang penting adalah jenis lisensi, sifat komunitas, kode sumber, dan pengelola aktif.
Proyek sumber terbuka dengan karakteristik di atas menginspirasi inovasi, penskalaan, dan pemasaran proyek kelas dunia. Juga, komunitas sumber terbuka yang hebat mengikuti tren teknologi dan mendorong kolaborasi dan keragaman.
Kemungkinannya, Anda telah menggunakan setidaknya satu produk perangkat lunak terbuka dalam hidup Anda. Mengapa tidak mulai dari sana? Gunakan karakteristik yang disebutkan dalam artikel ini untuk memastikan Anda mendapatkan proyek terbaik yang melengkapi keterampilan dan kebutuhan Anda.