Skip to content

Berkontribusi pada proyek open source di GitHub

Perangkat lunak atau software sudah menjadi bagian dari hidup kita sejak dimulainya revolusi digital sekitar tahun 1940/1960-an. Hampir setiap sendi kehidupan kita disokong oleh teknologi—yang salah satunya adalah software.

Sebagai developer, menulis kode adalah makanan sehari-hari kita. Namun, pernahkah kalian bertanya-tanya mengapa 95% software yang kalian gunakan untuk bekerja itu bisa gratis? Text editor, library, framework, hingga sistem operasi pun ada yang bisa kalian gunakan secara gratis-tis-tis-tis. Hal ini berdasar pada istilah dan gerakan FOSS (Free and Open Source Software) yang dimulai pada tahun 1980-an oleh Richard Stallman. Gerakan tersebut bertujuan agar setiap orang memiliki kebebasan terhadap sebuah perangkat lunak, seperti:

  • Kebebasan untuk menjalankan program sesuai kehendak kalian, untuk tujuan apa pun.
  • Kebebasan untuk mempelajari bagaimana program itu bekerja dan merubahnya sesuai kehendak kalian. Syarat yang harus terpenuhi adalah: akses ke kode sumber.
  • Kebebasan untuk mendistribusikan ulang sehingga kalian bisa menolong sesama.
  • Kebebasan untuk mendistribusikan ulang salinan program yang sudah kalian modifikasi. Jika melakukan praktik ini, maka orang banyak juga bisa mendapat manfaat dari perubahan yang kalian buat. Syarat yang harus terpenuhi adalah: akses ke kode sumber.

Open Source juga bukan istilah yang asing bagi kita sebagai developer. Banyak library atau paket-paket yang dibuat oleh orang lain dan didistribusikan melalui platform seperti GitHub, sehingga orang di seluruh dunia bisa menggunakannya, melihat kode sumbernya, dan bisa ikut berkontribusi untuk perbaikan atau peningkatan fitur.

GitHub dan Hacktoberfest

GitHub, selain menjadi platform kerja kolaborasi developer, bisa juga menjadi media sosial bagi developer untuk memamerkan proyek-proyeknya. Manfaat yang didapat selain orang lain bisa melihat kode sumber kita dan menggunakannya, membuat proyek open source di GitHub juga bisa memperbesar peluang mendapat pekerjaan; karena rekruter bisa dengan mudah menilai pekerjaan kita dari apa yang kita kerjakan secara terbuka.

Menyambung soal open source atau proyek sumber terbuka, ada sebuah event tahunan menarik bernama Hacktoberfest. Hacktoberfest merupakan event sebulan penuh pada bulan Oktober untuk mendorong kontributor proyek open source dan developer seluruh dunia untuk memberi kembali kepada komunitas open source. Yes, memberi kembali. Karena pada hakikatnya, setiap perangkat lunak yang kita pakai secara gratis ini untuk bekerja atau belajar, ada jerih payah orang lain yang membuatnya gratis—untuk itu, agar komunitas ini tetap hidup, kita bisa mulai dengan cara belajar bagaimana cara berkontribusi ke proyek open source di GitHub.

Memulai Kontribusi Pertama

24 DEV memiliki sebuah proyek open source bernama SMKID yang bertujuan untuk menguratori informasi seluruh SMK yang ada di Indonesia agar mudah dicari. Kode sumber proyek ini bisa diakses melalui laman https://github.com/24-dev/smkid dan akses situsnya melalui laman https://smkid.vercel.app/.

Kita akan coba mempelajari bagaimana cara berkontribusi sekecil apa pun pada proyek open source. Pada kesempatan ini, kita akan menambahkan data SMK yang belum tersedia di SMKID.

Persiapan

Langkah-langkah Membuat Kontribusi

  1. Akses repositori SMKID pada https://github.com/24-dev/smkid

  2. Fork repositori tersebut sehingga kalian memiliki salinan repositori tersebut di profil GitHub kalian. Melakukan fork

  3. Pada halaman repositori yang sudah kalian fork di profil kalian, lakukan clone pada repositori tersebut ke perangkat kalian dengan menjalankan perintah berikut di terminal kalian:

    Terminal window
    git clone https://github.com/username-kalian/smkid.git

    Clone URL 1

    Langkah untuk mendapatkan URL untuk clone bisa mengikuti gambar di bawah.

    Clone URL 2

  4. Buka folder hasil clone tadi, lalu buat branch baru sesuai dengan konten yang akan kalian tambahkan. Pada contoh ini, penulis akan menambahkan data SMKN 58 Jakarta.

    Terminal window
    git checkout -b sekolah-yang-ingin-ditambah

    Membuat branch

  5. Tambahkan konten sesuai dengan format yang ada. Silakan cek berkas berikut https://github.com/24-dev/smkid/blob/main/_contents/SMKN2SBY.md?plain=1

    Status setelah menambahkan konten

  6. Lalu, push perubahan tersebut ke remote repositori hasil fork tadi.

    Terminal window
    git push
  7. Lakukan commit pada perubahan tersebut dengan perintah:

    Terminal window
    git add .
    git commit -m "feat: add smkn 58 jakarta"
  8. Buka halaman repositori fork SMKID kalian. Akan ada banner dengan tombol “Compare & Pull Request”, silakan klik tombol tersebut. Membuat PR langkah pertama

  9. Perhatikan kotak merah dan kuning pada gambar di bawah.

    • Kotak merah
      • Pastikan base repository mengarah ke 24-dev/smkid dengan base-nya main
      • Pastikan head repository mengarah ke username-kalian/smkid dengan compare-nya nama branch yang sudah kalian buat dan push tadi.
    • Kotak kuning
      • Isi judul sesuai konteks perubahan
      • Isi sesuai dengan template tersebut
      • Jika tidak tahu atau tidak ada, bisa diisi dengan _“No information provided”

    Membuat PR langkah kedua

  10. Jika sudah, klik “Create pull request” dan selesai! Membuat PR langkah ketiga

  11. Kalian hanya perlu menunggu reviewer menyetujui perubahan kalian dan melakukan merge. Biasanya jika tidak sesuai standar, kalian akan diminta untuk memperbaikinya dan feedback loop terjadi di sana.

  12. Good luck!

Pada umumnya kalian juga bisa melihat isu apa saja yang ada pada sebuah proyek pada tab “Issues” di GitHub. Jika kalian menyanggupi, kalian bisa langsung mengerjakannya atau memberi tahu maintainer di isu tersebut dengan cara membuat komentar yang menyatakan bahwa kalian akan menyelesaikan isu tersebut.

Bicara soal isu, selain data SMK, SMKID juga ada beberapa isu terbuka nih untuk kalian coba. Silakan akses di https://github.com/24-dev/smkid/issues dan mari terbang bersama!

Terima kasih!