2 poin oleh GN⁺ 2023-10-04 | 1 komentar | Bagikan ke WhatsApp
  • Jellyfin menjadikan momen ulang tahun ke-10 Hacktoberfest pada Oktober 2023 sebagai kesempatan untuk memperluas basis kontributor yang stagnan dan mempercepat peningkatan server, Web UI, dan klien
  • Proyek ini mempertahankan model sukarelawan semi-komersial, dan donasi hanya digunakan untuk biaya infrastruktur serta perangkat keras klien pengembangan yang jarang dibutuhkan
  • Kontributor inti untuk server, Web UI, dan seluruh klien berjumlah maksimal sekitar 30 orang, dan hampir tidak bertambah dalam 3 tahun terakhir sehingga beberapa aplikasi dipelihara oleh 1–2 orang di waktu pribadi mereka
  • Keluhan pengguna berfokus pada kurangnya dukungan klien dan tingkat kematangan yang belum memadai; bahkan fitur atau klien dengan permintaan tinggi seperti Chromecast pernah lama tidak memiliki tenaga pengembangan
  • Semua bentuk kontribusi dibutuhkan, mulai dari perbaikan bug kecil, perbaikan dokumentasi, UI/UX, terjemahan, hingga pengembangan klien penuh, dan kontributor berkualitas yang konsisten juga dapat bergabung ke tim resmi

Mengapa Jellyfin sedang mencari kontributor sekarang

  • Jellyfin menjadikan masuknya kontributor baru sebagai prioritas penting bertepatan dengan ulang tahun ke-10 Hacktoberfest dari DigitalOcean
  • Setiap kali muncul kontroversi terkait Plex, Jellyfin sering disebut sebagai alternatif, tetapi di komunitas juga terus muncul keluhan tentang kurangnya klien, ketiadaan fitur tertentu, dan tingkat kematangan yang belum memadai
  • Untuk mengurangi kesenjangan ini, lebih banyak orang perlu ikut serta dalam peningkatan kode, pengembangan fitur baru, dan perapian dokumentasi

Keterbatasan proyek berbasis sukarelawan

  • Jellyfin dijalankan sebagai proyek semi-komersial yang langka bahkan di dalam FLOSS
    • Pengembang, penerjemah, pengelola komunitas, dan anggota yang membantu pemecahan masalah semuanya adalah sukarelawan
    • Tidak ada orang yang dibayar untuk mengerjakan Jellyfin, dan juga tidak ada dukungan dari perusahaan atau organisasi terpisah
    • Tidak ada rencana monetisasi, dan bug bounty pun secara aktif dihindari
  • Donasi hanya digunakan untuk biaya infrastruktur dan, bila perlu, perangkat keras klien untuk pengembangan yang sesekali dibeli
    • Donasi tidak digunakan untuk membayar pengembang, dan sikapnya adalah tidak akan melakukannya di masa depan juga
  • Pilihan ini dimaksudkan untuk menghindari pola proyek media streaming lain yang bermula sebagai FLOSS lalu menambahkan fitur yang merugikan pengguna demi pendapatan dan beralih menjadi closed source

Beban menjaga cakupan luas dengan tim kecil

  • Saat ini basis kontributor inti, mencakup server, Web UI, dan semua klien, berjumlah maksimal sekitar 30 orang
    • Dalam 3 tahun terakhir, ukuran keseluruhannya hampir tidak bertambah
    • Beberapa area, terutama aplikasi individual, dikerjakan oleh 1–2 orang secara gratis di waktu pribadi mereka
  • Bahkan fitur atau klien dengan permintaan tinggi pun bisa terhenti jika tidak ada orang yang memulai pengembangannya atau membantu
    • Chromecast sempat harus ditinggalkan untuk sementara, tetapi dalam beberapa minggu terakhir mulai bergerak lagi

Cara berpartisipasi dan jalur bergabung ke tim resmi

1 komentar

 
GN⁺ 2023-10-04
Komentar Hacker News
  • Saya tidak tahu Jellyfin berbasis C#
    Saya memulai karier sebagai developer C#, tetapi sekarang hanya memakai C++, dan selama ini terus mencari proyek untuk mencoba memakai C# lagi
    Saya punya daftar hal yang terasa kurang nyaman di Jellyfin, dan sekarang setelah tahu ini C#, rasanya ingin memperbaikinya sendiri

    • Kalau sudah lama tidak memakai C#, besar kemungkinan ini akan cukup menyenangkan
      Bahasanya sudah banyak berkembang, terutama kemudahan pengembangan seperti pattern matching, pernyataan using, dan tipe dasar yang berorientasi performa
      Sejak awal tahun ini saya mulai kembali memakai C# penuh waktu, dan sangat puas
  • Akan bagus kalau tim Jellyfin juga menampilkan ajakan berkontribusi seperti ini di titik tempat pengguna meminta fitur
    Untuk dukungan Chromecast, contoh di tulisan blog itu, saya pernah bertanya di issue ini bagaimana bisa membantu mengimplementasikan fiturnya: https://github.com/jellyfin/Swiftfin/issues/271#issuecomment...
    Walaupun sebenarnya tidak ada hal produktif yang bisa saya kontribusikan untuk fitur itu, kalau ada panduan memulai saya pasti akan membukanya
    Kalau tulisan blog dan materi untuk memulai cepat ditautkan di issue tempat orang bertanya bagaimana bisa membantu, konversinya sepertinya akan cukup bagus
    Terima kasih kepada semua orang yang berkontribusi ke Jellyfin, dan saya tahu onboarding developer sering kali menjadi pekerjaan yang lebih besar, tetapi ini sekadar usulan bahwa posisi itu cocok untuk menaruh tautan ajakan bertindak

  • Saya pernah mencoba menambahkan fitur allowlist berbasis tag yang dulu banyak diminta dan kelihatannya tidak sulit diimplementasikan, dan saya juga sudah memahami di bagian mana fitur itu harus dimasukkan dalam kode server
    Namun saya menyerah setelah sadar bahwa untuk mengirimkan fiturnya, saya harus mengurus PR di setidaknya dua repositori, dan bolak-balik di antara dua repositori untuk pengujian integrasi
    Untuk kode yang terikat erat, satu repositori memang sangat praktis
    Mungkin saya akan melihatnya lagi suatu saat
    Sebagai tambahan, parental control berbasis allowlist adalah salah satu alat terbaik, tetapi membuat frustrasi karena hampir tidak ada yang benar-benar mendukungnya

    • Setidaknya akan bagus kalau mengirimkan umpan balik tentang bagian mana yang membuat Anda mentok lalu menyerah
      Kemungkinan besar Anda bukan satu-satunya yang mengalami masalah itu
      Pihak proyek mungkin juga merasa hal itu merepotkan, tetapi bisa jadi mereka sudah terbiasa dengan kerepotan tersebut sampai melupakannya
    • Ini masalah besar pada git/GitHub
      Jika PR lintas repositori didukung, prosedur seperti ini bisa disederhanakan; saya sudah menginginkan fitur semacam itu hampir 10 tahun
    • Sebagai referensi, parental control Plex sangat fleksibel sampai terasa tidak masuk akal
      Saya mengatur akun anak agar hanya bisa melihat item dengan tag tertentu, dan karena tag Plex cukup terperinci, bisa juga mengizinkan seluruh film atau acara TV, sebagian acara TV, atau hanya satu episode
      Sekarang mereka bisa mengakses cukup banyak konten, tetapi konten baru tidak otomatis terbuka
      Kalau saya mendapatkan episode baru Bluey, istri saya biasanya ingin menontonnya dulu, dan karena di program anak-anak jarang ada hal yang sangat bermasalah, hampir selalu kami setujui, tetapi tetap membuat hati tenang
    • Saya sudah lama frustrasi karena allowlist, lalu belajar dari Reddit cara membuat allowlist di Plex
      Saya tidak ingat persis istilahnya, tetapi ada tag dan label, jadi harus hati-hati
      Dulu saya mencoba sisi yang salah; pada dasarnya buat label, lalu atur akun anak agar hanya melihat konten yang memiliki label itu
    • Plex mendukung allowlist dan blocklist sekaligus
      Bagus karena sebagian besar film bisa diblokir berdasarkan rating, lalu beberapa film tertentu bisa diizinkan satu per satu
  • Sebagai developer yang hanya bekerja di sistem Linux, saya penasaran seperti apa lingkungan pengembangan C#
    Saya kira Mono masih ada, dan runtime yang dipakai saat proyek C# dijalankan adalah itu
    Saya selalu merasa C# agak canggung di lingkungan non-Windows, tetapi mungkin selama ini saya salah paham
    Karena tidak ada kesempatan atau kebutuhan memakainya di kantor, saya tidak benar-benar tahu seberapa bagus tooling-nya di Mac atau Linux, atau bagaimana cara kerjanya dalam praktik
    Di sisi lain, saya beberapa kali melihat orang menyebutnya seperti Java yang lebih baik, dan di sini sepertinya F# juga cukup disukai

    • Di Arch, instalasinya agak merepotkan, dan sejak Mono pada dasarnya menghilang, pilihan IDE terasa hanya VS Code tertutup milik Microsoft
      Plugin C# tidak berfungsi di VSCodium
      Mirip Java, desain bahasa C# juga cukup banyak mengasumsikan penggunaan IDE
      Meski begitu, kalau untuk aplikasi web, selain itu baik-baik saja
    • C# di Linux hanya sedikit lebih merepotkan dibandingkan di Windows
      Perlu sedikit perhatian saat memasang SDK, dan beberapa API sistem berperilaku agak berbeda, tetapi secara keseluruhan hanya pada level saya sedikit lebih memilih Windows
      Mono masih ada, tetapi sejak sekitar 2015 C# sudah didukung secara native di Linux, dan sejauh yang saya tahu sekarang hampir tidak ada yang benar-benar memakai Mono
      Kegunaan utamanya lebih untuk menjalankan aplikasi .NET Framework, bukan .NET Core
    • Mono masih ada, tetapi Jellyfin menggunakan .NET Core, runtime bebas dan open source yang disediakan Microsoft
    • Lingkungan pengembangan C# sangat bagus dan berjalan secara native di Linux
      Mono masih tersisa dan dipakai untuk beberapa kebutuhan khusus seperti WASM dan interpreter
    • C# sudah lama berjalan secara native di Linux
      Sejauh yang saya tahu, di Azure pun banyak yang lebih memilih menjalankannya di mesin Linux, dan tempat saya bekerja juga begitu
      Performanya menurut saya sama atau lebih cepat
      Sekarang banyak developer C#, mungkin bahkan mayoritas, bekerja di mesin non-Windows, dan dukungan untuk arsitektur Mac baru juga ditambahkan dengan sangat cepat
      Singkatnya, sekarang bahasa C# itu sendiri sama baiknya atau lebih baik di lingkungan non-Windows
  • Saya sempat melihat repositori GitHub-nya, dan ada lebih dari 90 PR terbuka di repositori utama, sebagian bahkan tidak mendapat umpan balik selama lebih dari 8 bulan
    Kalau tim saat ini bahkan tidak bisa menangani tumpukan PR yang sudah ada, saya tidak tahu apa arti ajakan untuk berkontribusi ini
    Dalam kondisi sekarang, bertambahnya PR tidak akan membantu proyek

  • Saya tidak tahu Jellyfin membutuhkan developer
    Saya pengguna setia Plex, tetapi pekerjaan saya adalah developer C#, jadi saya meng-clone proyek server dan web lalu mencoba mengerjakan isu pertama

  • Saya sangat menyukai Jellyfin dan sudah memakainya selama 3 tahun
    Saya pasti berencana ikut Hacktoberfest

  • Saya ingin memakai Jellyfin, tetapi tidak ada klien resmi Apple TV

    • https://github.com/jellyfin/Swiftfin
      Saya memakainya dan cukup bagus
    • Pemutar media Infuse[0][1] punya klien Apple TV / iOS / macOS yang sangat baik
      Juga terintegrasi dengan Jellyfin
      [0] https://firecore.com/infuse
      [1] https://jellyfin.org/posts/client-infuse/
    • Saya penasaran apakah klien-klien yang ada memang seburuk itu
      Saat saya mencoba salah satunya beberapa tahun lalu, tidak ada masalah berarti dengan klien Jellyfin
      Saya berhenti memakai Jellyfin karena Locast ditutup, dan itu adalah penggunaan utama saya
    • Sejak membeli Apple TV, saya memakai Swiftfin dan sejauh ini lumayan
      Opsi pengurutan dan filternya sangat kurang, terasa tersendat seperti kartu film dimuat di posisi yang salah kalau menggulir terlalu cepat, dan kadang progress bar berhenti diperbarui selama sisa film setelah dijeda
      Meski begitu, masih bisa dipakai
    • Bukankah ada Swiftfin?
      Pengembangannya memang agak sporadis, tetapi dulu saat saya membutuhkannya, itu berjalan cukup baik
  • Saya dulu benar-benar ingin memakai Jellyfin dan sempat beralih, tetapi setelah tahu ada banyak API yang tidak terautentikasi, termasuk sampai stream video, saya kembali ke Plex
    Rasanya terlalu berisiko mengekspos Jellyfin ke web
    https://github.com/jellyfin/jellyfin/issues/5415

  • Semoga fitur Chromecast di Jellyfin iOS akhirnya dikembangkan
    Secara harfiah hanya karena satu fitur ini saya memakai Plex alih-alih Jellyfin
    Semoga ada orang yang mahir dengan Chromecast API bergabung dan membantu tim