- Forgejo adalah forge perangkat lunak ringan yang di-host sendiri untuk tim yang ingin menjalankan platform pengembangan mereka sendiri, dengan fokus mengurangi beban instalasi dan pemeliharaan
- Dikelola oleh komunitas di bawah Codeberg e.V., dan baik proyek maupun proses pengembangannya tetap berbasis perangkat lunak bebas
- Sambil menyediakan lingkungan yang mudah dipindahi bagi pengguna yang terbiasa dengan GitHub, Forgejo dirancang agar pengguna dapat mengendalikan sendiri kepemilikan platform dan produktivitas kolaborasi
- Menawarkan fitur yang kaya sambil mempertahankan kebutuhan server yang rendah, dan menyatakan membutuhkan sumber daya satu digit kali lebih sedikit dibanding forge lain
- Menempatkan keamanan, skalabilitas, federasi, dan privasi sebagai pusat, serta mengarah pada pengembangan kolaboratif terdistribusi
Posisi dan cara operasi Forgejo
- Forgejo adalah forge perangkat lunak ringan yang di-host sendiri yang memungkinkan platform pengembangan perangkat lunak dijalankan di server sendiri
- Menargetkan kemudahan instalasi dan pemeliharaan dengan beban administrasi yang rendah
- Anda bisa membuat akun di Codeberg atau instans publik lainnya, atau mengunduhnya dan meng-host sendiri
- Pengelolanya adalah komunitas inklusif di bawah Codeberg e.V.
- Codeberg e.V. diperkenalkan sebagai organisasi nirlaba yang demokratis
- Forgejo menyatakan dirinya dapat dipercaya karena sepenuhnya merupakan perangkat lunak bebas
- Fokus produknya ada pada keamanan, skalabilitas, federasi, dan privasi
- Perbedaannya dengan forge perangkat lunak lain dapat dilihat di halaman perbandingan
Arah fitur dan area partisipasi
- Forgejo bertujuan membantu mengambil kembali kendali atas proses pengembangan perangkat lunak, meng-host proyek secara mandiri, dan memungkinkan para peserta bersama-sama fokus pada penyediaan perangkat lunak berkualitas tinggi
-
Kemudahan penggunaan dan beban operasional
- Menonjolkan manajemen proyek yang sederhana dan mengutamakan pengalaman pengguna untuk kolaborasi serta produktivitas
- Menyediakan lingkungan yang familier bagi pengguna GitHub agar mereka bisa berpindah ke platform yang mereka miliki sendiri
- Mengurangi beban instalasi dan pemeliharaan agar pengguna dapat menjalankan forge perangkat lunak mereka sendiri tanpa keahlian teknis khusus
-
Perangkat lunak bebas dan kolaborasi terdistribusi
- Menyediakan fitur yang kaya sambil tetap mempertahankan profil server yang rendah
- Baik Forgejo maupun proses pengembangan proyeknya sama-sama menggunakan perangkat lunak bebas
- Menawarkan arah yang memungkinkan pengembangan perangkat lunak kolaboratif melalui platform terdistribusi
-
Area yang dapat dikontribusikan
1 komentar
Komentar Hacker News
Menurut FAQ, pengucapannya adalah forˈd͡ʒe.jo, dan bagi telinga orang Amerika Midwest terdengar seperti “4 Jay yo”. Katanya ini berarti Forge dalam Esperanto
Fork dari Gitea, tetapi dijalankan sebagai nirlaba, dan bagus karena semuanya berlisensi bebas(GPL) tanpa upsell premium. Saya juga suka karena komunikasi komunitasnya lewat Matrix dan Mastodon
Sepertinya Codeberg memakai ini, dan dari luar tampilannya mirip Gitea/GitHub jadi tidak ada masalah. Kode sumbernya bisa dilihat dari ikon branch kecil di kanan atas, dan di-host di Codeberg. Hal yang baru saya ketahui hari ini adalah bahwa Codeberg sendiri adalah instance Forgejo
https://forgejo.org/2024-02-forking-forward/
https://v10.next.forgejo.org/explore/repos
https://codeberg.org/forgejo/forgejo
Setahu saya, fork ini muncul karena Gitea mendirikan perusahaan yang membuat fitur kustom bila ada permintaan dari perusahaan, bukan karena ada banyak tanda-tanda seperti pembalikan lisensi
Katanya Fedora Project sedang pindah ke sini: https://fedoramagazine.org/fedora-moves-towards-forgejo-a-unified-decision/
Saya penasaran mengapa Forgejo bercabang dari Gitea, lalu setelah mencari tahu, ini lagi-lagi tampak seperti contoh kreator/pengelola perangkat lunak bebas dan open source yang kekurangan dana diperlakukan tidak adil, entah dari atas, mungkin juga dari bawah
Jika melihat pengumuman pendirian badan hukum Gitea, tampaknya biaya tidak bisa ditanggung hanya dengan open source bebas, dan sepertinya ada penumpang gratis kaya yang dimungkinkan oleh lisensi MIT
Bagian yang inti adalah: “Selama bertahun-tahun kami mencoba berbagai cara untuk mendukung para maintainer dan proyek, seperti bounty, sponsor langsung, dan hibah. Banyak individu hebat dan beberapa perusahaan sangat dermawan, tetapi beberapa perusahaan menghasilkan pendapatan lebih besar daripada PDB sejumlah negara sambil menggunakan Gitea dalam produk inti mereka tanpa mengembalikan perbaikan yang mereka buat”
Saya bukan penggemar Bruce Perens, tetapi ucapannya bahwa “kita punya program kesejahteraan perusahaan yang hebat, dan para penggunanya adalah perusahaan-perusahaan terkaya di dunia. Sebaliknya, jika pengembang tidak bekerja di perusahaan-perusahaan itu, mereka hampir tidak mendapat imbalan” tepat mengenai inti masalah
Sebaliknya, ketika para pendiri membentuk perusahaan, komunitas bereaksi keras, dan katanya bukan semata karena pendirian perusahaannya, melainkan karena perusahaan itu memiliki domain dan merek dagang. Sekilas itu tampak seperti alasan kecil, tetapi saya tidak tahu detail situasinya
Bagaimanapun, ini terlihat seperti kasus kegagalan FOSS #187 di kalangan pengembang hobi dan di luar FAANG
Perangkat lunak bebas pada awalnya adalah gerakan etis, dan tidak perlu mengutamakan sumber pendapatan. Sebab tujuannya bukan pengembangan yang berkelanjutan, melainkan kebebasan pengguna. Tidak ada bagian dari pernyataan “pengguna harus memiliki kebebasan untuk melakukan apa yang mereka inginkan dengan perangkat lunak” yang juga mengatakan “dan beberapa pengembang yang bekerja demi tujuan etis itu harus bisa diberi gaji”
Menurut sejarah OSI sendiri, pada suatu titik orang-orang mulai berpikir bahwa model pengembangan terbuka juga pada dasarnya baik untuk bisnis, Netscape ikut bergabung, lalu sebagian orang berkumpul dan me-rebranding perangkat lunak bebas menjadi open source
http://web.archive.org/web/20071115150105/https://opensource.org/history/
Istilah FOSS terasa mirip dengan Buddhisme korporat ala Amerika. Seperti mindfulness dan meditasi yang dilepaskan dari konteks religius aslinya yang mendalam lalu dijadikan program pengembangan diri, bentuknya menjadi sesuatu yang sulit dikenali oleh para praktisi aslinya. Perangkat lunak bebas bukan soal pengembangan berkelanjutan, melainkan soal melakukan hal yang benar, yaitu kebebasan pengguna, dan sisanya hanyalah sarana untuk tujuan itu. Namun pada suatu titik, sarana justru menjadi tujuan, lalu orang heran mengapa FOSS tidak otomatis membiayai dirinya sendiri
Pihak yang membaca arah dengan tepat adalah GitLab. Mereka menemukan titik keseimbangan untuk menyediakan produk dengan cara open source sambil tetap menanggung biaya operasional, dan berhasil mendapatkan kepercayaan sekaligus pendapatan, jadi itu dilakukan dengan baik
Jika ingin mencari nafkah dari pekerjaan open source, itu harus dijalankan seperti bisnis dan memakai perangkat bisnis yang tepat. Jika tidak, upaya sendiri pada akhirnya bisa berbalik terasa seperti eksploitasi terhadap diri sendiri. Saya tidak sedang bicara soal niat jahat, tetapi keadilan adalah soal keseimbangan, dan jika kerja keras Anda gagal memperlakukan diri Anda sendiri dengan layak, itu juga tidak adil
Sulit dipahami ketika orang menolak menambahkan syarat copyleft tambahan ke dalam lisensi, tetapi pada akhirnya berharap perusahaan bertindak seolah-olah syarat itu ada karena itikad baik
Perusahaan seperti Google menyukai lisensi permisif, bahkan sampai mendanai alternatif berlisensi MIT/BSD untuk komponen umum seperti toybox
Forgejo v9 ke atas tampaknya memang berlisensi GPL
Cerita horor tentang big tech memang berguna ketika proyek open source ingin membenarkan pembalikan lisensi, tetapi itu tidak cocok di sini. Biasanya pun argumennya kurang masuk akal, dan dalam kasus ini tampaknya para maintainer sendiri juga tidak pernah mengatakan hal seperti itu
Proyek seperti MongoDB, ElasticSearch, dan Redis menjadi populer karena mereka open source, dan sangat mungkin persaingan mereka selama bertahun-tahun juga terbatas karena sulit bersaing dengan sesuatu yang gratis. Lalu belakangan mereka seolah berbalik meninggalkan para pengguna. Jika MongoDB 1.0 adalah produk komersial, tak seorang pun akan memakainya, jadi uang yang mereka hasilkan sejak awal pun ada karena mereka sebelumnya open source
Hal yang menarik dari Forgejo adalah pekerjaan federasi forge sedang berlangsung
https://codeberg.org/forgejo/forgejo/issues/59#issuecomment-1652830
Dalam dunia yang ideal, GitHub dan GitLab juga akan mendukung federasi, tetapi sepertinya itu tidak akan terjadi
Sebagai alternatif dalam ruang masalah yang sama, ada pendekatan P2P seperti https://radicle.xyz/
Federasi yang berguna antar-instance Forgejo sebenarnya bisa diselesaikan cukup dengan OIDC dan beberapa webhook saja. Misalnya kolaborasi antar-instance, fork, dan pull request. Saya tidak paham mengapa federasi antara Forgejo dan Mastodon diperlukan, dan juga tidak jelas apa maknanya
Dulu mereka juga menerbitkan laporan kemajuan tahunan hingga 2023, tetapi situs web itu tampaknya sudah tidak bisa diakses lagi: https://web.archive.org/web/20240830030315/https://forgefriends.org/blog/2023/06/21/2023-06-state-forge-federation/
Meski begitu, federasi terakhir kali disebut dalam pembaruan bulanan pada bulan Oktober, dan saat itu ditekankan bahwa federasi adalah “prioritas tertinggi” proyek Forgejo dan akan tetap demikian ke depannya
https://forgejo.org/2024-10-monthly-update/#:~:text=Forgejo%20federation%20is%20and%20will%20always%20be%20the%20highest%20priority%20of%20the%20Forgejo%20project
Mengekspos repositori Git ke jaringan sangat mudah lewat HTTP atau SSH, dan juga mendukung alur code review berbasis email. Namun, saya cukup menyukai pendekatan seperti git-appraise yang menyimpan review di dalam repositori
https://github.com/google/git-appraise
Pipeline CI/CD juga bisa diintegrasikan secara sederhana jika dapat dipicu lewat push. Namun, kita justru membangun UI terpusat di atas Git, dan sekarang mencoba mengintegrasikan UI-UI itu satu sama lain. Mengingat Git sendiri sudah terdesentralisasi, ini terasa seperti melangkah mundur
Terkait hal ini: https://gitlab.com/groups/gitlab-org/-/epics/11247#why
Saat ini saya melakukan mirroring di self-hosted Forgejo, github.com, dan gitlab.com, dan instance Forgejo lebih merupakan bagian dari hobi self-hosting daripada infrastruktur yang benar-benar wajib
GitLab Cells juga tampaknya bisa mengarah ke arah yang sama, dan ada penyebutan federasi dalam dokumen desainnya
https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/cells/
Selama beberapa tahun saya berpindah dari Gogs ke Gitea, lalu ke Forgejo, dan ini benar-benar perangkat lunak yang luar biasa.
Untuk 90% kebutuhan, cukup dengan menaruh repositori Git pribadi di server SSH. Kalau hanya ingin menaruh repositori Chezmoi di tempat yang bisa diakses dari semua komputer, keluarga Forgejo tidak memberi tambahan banyak
Namun untuk 10% sisanya, yaitu saat ingin berbagi kode secara privat dengan beberapa teman, ini sangat bagus. Versi gratisnya lebih baik daripada paket berbayar GitHub, dan kalau toh akan menjalankannya demi proyek 10% itu, masuk akal juga memakai sisanya sebagai repositori Git acuan pribadi
Ada papan Kanban dan editor kode juga
Setelah diganti ke Gitea, rasanya jauh lebih lega, lalu Forgejo mulai menarik perhatian saya ketika Fedora memilih Forgejo untuk server repositorinya
Kebutuhan saya sederhana, hanya semacam penyimpanan file terpusat untuk catatan dan kode sumber. Saya menguji migrasi dari Gitea 1.21 ke Forgejo 9 dan hasilnya mulus tanpa hambatan
Saya serius mempertimbangkan pindah, tetapi dalam jangka panjang saya masih memikirkan mana yang akan lebih didukung dengan baik dan lebih cocok untuk penggunaan gratis
Sejujurnya tujuan pindah berikutnya tampaknya antara Forgejo dengan Forgejo Actions untuk CI/CD(https://forgejo.org/docs/next/user/actions/), atau sekalian menyelam lebih dalam dan kembali ke Jenkins
Tagline-nya kurang deskriptif. Saya baru paham tujuannya setelah scroll halaman utama sekali dua kali, yaitu bahwa ini adalah alternatif GitHub yang di-host sendiri
Dalam perangkat lunak, kata “forge” bisa ditafsirkan dalam banyak arti, jadi sebaiknya dijelaskan lebih jelas sejak awal
Secara teknis, sistem pada masa itu seperti Redmine juga bisa disebut forge, dan sepertinya istilah itu kemudian menetap
Lihat: https://en.wikipedia.org/wiki/Forge_(software)
Saat mendengar “forge”, yang terbayang adalah alat untuk mengubah bahan mentah menjadi barang jadi. Misalnya alat pandai besi yang mengubah besi menjadi tapal kuda
Kalau dianalogikan ke perangkat lunak, yang lebih pas justru mengubah kode sumber teks menjadi biner yang bisa dijalankan, yaitu compiler atau interpreter
GitHub dan SourceForge memindahkan kode sumber dari satu tempat ke tempat lain. Kalau analoginya dipaksakan, itu lebih mirip gabungan toko dan layanan pengiriman. Kode sumbernya berpindah, tetapi tidak berubah bentuk
Karena itu, dari sudut pandang pengembang C/C++ lama, forge terasa cukup aneh sebagai istilah untuk server Git yang di-host sendiri
Setelah terus menjalankan GitLab CE dan kerepotan dengan konsumsi CPU dan memori yang besar, saya pindah ke Forgejo dan tidak kecewa
Ia berjalan dalam container rootless dan nyaris tidak memakai memori maupun CPU. Pembaruannya juga cukup
podman pullsekali lalu langsung jalanSekarang saya juga menjalankan Actions untuk mengeksekusi Jekyll dan sebagainya agar situs web statis terus diperbarui
Menyenangkan punya forge sendiri yang bisa mengimpor repositori, issue, dan lain-lain dari forge lain seperti GitHub dan GitLab, dan saya juga menantikan integrasi Fediverse yang lebih luas berbasis ActivityPub di masa depan
Pendekatan hosting kode yang terdesentralisasi tetapi tetap saling terhubung adalah sesuatu yang selalu saya inginkan, dan sekarang rasanya sudah hampir tercapai
Selama beberapa tahun saya berpindah dari GitHub → GitLab self-hosted → Gitea → Forgejo, dan saya tidak menyesal
Forgejo sangat bagus, dan sepertinya akan lebih baik lagi saat federasinya selesai. Jika fork terdistribusi dan pull request lintas banyak instans dimungkinkan, masalah fragmentasi solusi self-hosted akan teratasi
Saya kehilangan kepercayaan pada Gitea ketika mereka membuat cabang komersial berorientasi laba dengan dukungan modal ventura, dan justru karena itulah Forgejo di-fork
Satu-satunya hal yang saya kehilangan dari GitLab adalah platform CI/CD bawaannya. Namun saya bisa memindahkan pipeline ke Drone CI dan memicunya dengan webhook. Meski begitu, tergantung seberapa kompleks pipeline GitLab-nya, ini mungkin tidak selalu menjadi pilihan
Bagaimanapun, saya tidak suka meng-host server GitLab yang memakan RAM 5GB hanya untuk beberapa proyek kecil. Forgejo memakai sekitar 500MB RAM bahkan saat puncak beban
Penasaran seperti apa pengalaman code review-nya. Saya menduga mirip dengan Gitea, tetapi belum pernah memakai keduanya.
Belakangan ini saya mencoba melakukan code review yang cukup serius di GitHub, tetapi sebagai alat code review rasanya lebih dekat ke versi mainan. Kecuali seluruh model source control dirancang mengikuti alat itu, sepertinya tidak bisa dipakai untuk pekerjaan engineering yang serius, dan kalau begitu elemen lain yang memengaruhi pengelolaan riwayat harus dikorbankan.
Saya terutama terbiasa dengan Gerrit; model dasarnya masuk akal, tetapi ada banyak bagian yang kasar dan juga masalah performa.
Baru terpikir, sepertinya saya belum pernah memakai alat review yang benar-benar saya sukai. Mungkin industri ini cuma bertahan tanpa alat yang benar-benar layak.
Setahu saya sisi GitLab sedikit lebih baik daripada GitHub, tetapi saya tidak terlalu ingat detailnya.
Untuk pertanyaan “Apa itu Forgejo?”, apakah jawaban yang dimaksud seperti “Forgejo adalah software forge ringan yang bisa di-host sendiri. Mudah dipasang, butuh sedikit pemeliharaan, dan melakukan apa yang memang harus dilakukan.”
Tentu tidak semua hal harus disesuaikan dengan bahasa Inggris, dan memang katanya Esperanto, tetapi karena bagian lain dari situsnya tidak begitu, kebanyakan orang tampaknya tidak akan menafsirkannya seperti itu.