2 पॉइंट द्वारा GN⁺ 2023-10-04 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Jellyfin ने अक्टूबर 2023 में Hacktoberfest की 10वीं वर्षगांठ को अवसर बनाकर ठहरे हुए contributor base को बढ़ाने और server, Web UI, तथा client सुधार की रफ्तार तेज करने का लक्ष्य रखा है
  • प्रोजेक्ट अर्ध-व्यावसायिक स्वयंसेवी मॉडल बनाए रखता है, और donations भी केवल infrastructure लागत तथा कभी-कभार development के लिए client hardware पर ही खर्च किए जाते हैं
  • core contributors की संख्या server, Web UI और सभी clients को मिलाकर अधिकतम लगभग 30 लोगों तक है, और पिछले 3 वर्षों में यह लगभग बढ़ी नहीं है, इसलिए कुछ apps को 1-2 लोग अपने निजी समय में maintain कर रहे हैं
  • user शिकायतें मुख्य रूप से client support की कमी और अधूरेपन पर केंद्रित हैं, और Chromecast जैसी अधिक मांग वाली सुविधाओं या clients के लिए भी कुछ समय तक development momentum नहीं था
  • छोटे bug fixes, documentation सुधार, UI/UX, translation से लेकर सभी clients के development तक हर तरह की मदद की ज़रूरत है, और लगातार अच्छी quality का योगदान देने वाले आधिकारिक टीम में भी शामिल हो सकते हैं

Jellyfin अभी contributors क्यों ढूंढ रहा है

  • Jellyfin, DigitalOcean के Hacktoberfest की 10वीं वर्षगांठ के साथ नए contributors को जोड़ना एक महत्वपूर्ण लक्ष्य मान रहा है
  • जब भी Plex से जुड़ा कोई विवाद होता है, Jellyfin का नाम एक विकल्प के रूप में आता है, लेकिन community में clients की कमी, कुछ features का अभाव, और अधूरापन जैसी बातें भी बार-बार उठती हैं
  • इस अंतर को कम करने के लिए ज़्यादा लोगों को code सुधार, नए features के development, और documentation को बेहतर बनाने में हिस्सा लेना होगा

स्वयंसेवी आधार पर चलने वाले प्रोजेक्ट की सीमाएं

  • Jellyfin, FLOSS के भीतर भी अपेक्षाकृत दुर्लभ अर्ध-व्यावसायिक प्रोजेक्ट के रूप में संचालित होता है
    • developers, translators, community operators, और समस्या-समाधान में मदद करने वाले सभी सदस्य स्वयंसेवक हैं
    • Jellyfin पर काम करने के लिए किसी को भुगतान नहीं मिलता, और न ही किसी company या अलग organization का sponsorship है
    • monetization की कोई योजना नहीं है, और bug bounty से भी सक्रिय रूप से दूरी रखी जाती है
  • donations का उपयोग केवल infrastructure लागत और ज़रूरत पड़ने पर कभी-कभार खरीदे जाने वाले development client hardware के लिए किया जाता है
    • donations से developers को भुगतान नहीं किया जाता, और आगे भी ऐसा न करने का रुख है
  • यह रास्ता इसलिए चुना गया है ताकि उन अन्य media streaming projects जैसी दिशा से बचा जा सके, जो FLOSS के रूप में शुरू हुए लेकिन revenue के कारण users के प्रति प्रतिकूल features जोड़ते गए और फिर closed source में बदल गए

छोटे team के साथ बड़े दायरे को संभालने का दबाव

  • मौजूदा core contributor base, server, Web UI और सभी clients को मिलाकर अधिकतम लगभग 30 लोगों का है
    • पिछले 3 वर्षों में कुल आकार लगभग नहीं बढ़ा है
    • कुछ क्षेत्रों, खासकर अलग-अलग apps में, 1-2 लोग अपने निजी समय में बिना भुगतान काम कर रहे हैं
  • जिन features या clients की मांग ज़्यादा है, उनमें भी यदि development शुरू करने या मदद करने वाला कोई न हो, तो प्रगति रुक सकती है
    • Chromecast को कुछ समय के लिए छोड़ना पड़ा था, लेकिन हाल के कुछ हफ्तों में फिर से हलचल दिखी है

कैसे जुड़ें और आधिकारिक टीम में शामिल होने का रास्ता

  • शुरुआत करने वाले लोग contribution guide, Matrix/IRC/Discord channels, और Forum के माध्यम से मदद ले सकते हैं
  • योगदान का दायरा छोटे bug fixes, documentation सुधार, से लेकर सभी clients के development तक फैला हुआ है
  • यदि कोई व्यक्ति अच्छी quality के योगदान और भागीदारी की इच्छा दिखाता है, तो आधिकारिक टीम में शामिल होने के लिए नए team member nomination process भी उपलब्ध है

1 टिप्पणियां

 
GN⁺ 2023-10-04
Hacker News की राय
  • मुझे नहीं पता था कि Jellyfin C# आधारित है
    मैंने अपना करियर C# डेवलपर के तौर पर शुरू किया था, लेकिन अब सिर्फ C++ इस्तेमाल करता हूँ, और C# फिर से आज़माने के लिए कोई प्रोजेक्ट लगातार ढूँढ रहा था
    Jellyfin में मुझे जिन चीज़ों से दिक्कत थी उनकी एक सूची है, और अब जब पता चला कि यह C# में है, तो उन्हें खुद ठीक करने का मन हो रहा है

    • अगर आपने कुछ समय से C# नहीं लिखा है, तो यह काफी मज़ेदार हो सकता है
      भाषा काफी आगे बढ़ चुकी है, खासकर pattern matching, using statements, और performance-oriented primitive types जैसी developer सुविधा बेहतर हुई है
      इस साल की शुरुआत से फिर से full-time C# इस्तेमाल करना शुरू किया है और मैं बहुत संतुष्ट हूँ
  • अच्छा होगा अगर Jellyfin टीम इस तरह की भागीदारी की अपील उन जगहों पर भी दिखाए जहाँ यूज़र features की request करते हैं
    ब्लॉग पोस्ट में दिए गए उदाहरण Chromecast support के मामले में, मैंने इस issue में पूछा था कि इस feature को implement करने में कैसे मदद कर सकता हूँ: https://github.com/jellyfin/Swiftfin/issues/271#issuecomment...
    भले ही असल में उस feature में उत्पादक रूप से योगदान देने लायक कुछ न रहा हो, अगर कोई getting started guide होती तो मैं उसे ज़रूर देखता
    जिन issues में लोग मदद करने के लिए पूछते हैं, वहाँ ब्लॉग पोस्ट और शुरुआती resources जल्दी लिंक कर दिए जाएँ तो conversion काफी अच्छा हो सकता है
    Jellyfin में योगदान देने वाले सभी लोगों का धन्यवाद, और मुझे पता है कि developer onboarding अक्सर अपने-आप में बड़ा काम बन जाता है, लेकिन यह call-to-action link डालने के लिए अच्छी जगह हो सकती है—बस यही सुझाव है

  • पहले बहुत request की गई और implement करने में भी मुश्किल न लगने वाली tag-based allow list feature जोड़ने की कोशिश की थी, और server code में इसे कहाँ डालना है यह भी समझ लिया था
    लेकिन एहसास हुआ कि feature deliver करने के लिए कम-से-कम दो repositories में PR संभालने होंगे, और integration testing के लिए दोनों repositories के बीच आना-जाना पड़ेगा, तो छोड़ दिया
    tightly coupled code के लिए single repository सचमुच बहुत सुविधाजनक होती है
    शायद फिर से एक बार देखूँ
    वैसे, allow list आधारित parental control सबसे अच्छे tools में से एक है, लेकिन लगभग कहीं support न होना वाकई खीझ पैदा करता है

    • कम-से-कम यह feedback भेजना अच्छा होगा कि आप कहाँ अटके और क्यों छोड़ दिया
      शायद यह समस्या सिर्फ आपके साथ नहीं हुई होगी
      project वालों के लिए भी यह असुविधाजनक होगा, लेकिन हो सकता है वे उस असुविधा के इतने आदी हो गए हों कि भूल गए हों
    • यह git/GitHub की बड़ी समस्या है
      अगर repositories के बीच PR support होता, तो ऐसी प्रक्रिया सरल हो सकती थी; मैं लगभग 10 साल से ऐसी feature चाहता हूँ
    • संदर्भ के लिए, Plex parental controls बेवजह ही बहुत flexible हैं
      मैंने बच्चे के account को सिर्फ वही चीज़ें देखने की अनुमति दी है जिन पर कोई खास tag लगा है, और Plex tags काफी granular हैं, इसलिए पूरी फिल्म या पूरा TV show, TV show का कुछ हिस्सा, या सिर्फ एक episode allow करना भी संभव है
      अभी उसे काफी content तक access है, लेकिन नया content अपने-आप नहीं खुलता
      जब Bluey का नया episode मिलता है तो मेरी पत्नी पहले देखना चाहती है, और बच्चों के shows में बहुत कम ही कुछ बड़ा problematic होता है, इसलिए लगभग हमेशा approve कर देते हैं, लेकिन मन शांत रहता है
    • allow list को लेकर लंबे समय से परेशान था, लेकिन Reddit पर Plex में allow list बनाने का तरीका सीखा
      सही terms ठीक से याद नहीं हैं, लेकिन tags और labels दोनों होते हैं, इसलिए सावधान रहना पड़ता है
      पहले मैं गलत वाली चीज़ आज़मा रहा था, और मूल रूप से label बनाकर बच्चे के account को सिर्फ उसी label लगे content देखने के लिए set करना होता है
    • Plex allow list और block list दोनों support करता है
      ज़्यादातर फिल्मों को rating से block करके रखना और कुछ फिल्मों को अलग से allow कर पाना अच्छा है
  • Linux systems पर ही काम करने वाले developer के तौर पर उत्सुक हूँ कि C# development environment कैसा है
    मुझे लगता था Mono अभी भी है, और C# projects चलते समय वही runtime इस्तेमाल करते हैं
    मुझे हमेशा लगा कि Windows के अलावा environments में C# थोड़ा awkward है, लेकिन शायद मैं इतने समय से गलत समझ रहा था
    काम पर इसे इस्तेमाल करने का मौका या ज़रूरत नहीं पड़ी, इसलिए Mac या Linux पर tools कितने अच्छे हैं और असल में कैसे काम करते हैं, ठीक से नहीं जानता
    दूसरी तरफ, कई बार पढ़ा है कि यह बेहतर Java जैसा है, और यहाँ लोग F# को भी काफी पसंद करते दिखते हैं

    • Arch पर installation थोड़ा झंझटभरा है, और Mono के लगभग गायब हो जाने के बाद IDE options Microsoft के closed-source VS Code तक ही सीमित लगते हैं
      C# plugin VSCodium में काम नहीं करता
      Java की तरह C# language design भी काफी हद तक IDE इस्तेमाल करने की धारणा पर आधारित है
      फिर भी अगर web application हो तो बाकी सब ठीक है
    • Linux पर C# Windows से बस थोड़ा अधिक झंझट वाला है
      SDK install करने में थोड़ा ध्यान देना पड़ता है और कुछ system APIs थोड़ा अलग behave करती हैं, लेकिन कुल मिलाकर Windows को बस बहुत हल्की बढ़त दूँगा
      Mono अभी भी मौजूद है, लेकिन करीब 2015 से C# Linux पर natively supported है, और मेरी जानकारी में अब Mono का वास्तविक इस्तेमाल बहुत कम होता है
      इसका मुख्य use .NET Core नहीं, बल्कि .NET Framework apps चलाने में है
    • Mono अभी भी है, लेकिन Jellyfin Microsoft द्वारा दिया गया free open-source runtime .NET Core इस्तेमाल करता है
    • C# development environment शानदार है और Linux पर natively चलता है
      Mono अभी भी बचा हुआ है और WASM, interpreter जैसे कुछ खास use cases में इस्तेमाल होता है
    • C# बहुत पहले से Linux पर natively चल रहा है
      मेरी जानकारी में Azure में भी अक्सर इसे Linux machines पर चलाना पसंद किया जाता है, और जहाँ मैं काम करता हूँ वहाँ भी यही है
      performance भी समान या कुछ बेहतर ही लगती है
      अब कई C# developers, शायद majority, Windows के अलावा machines पर काम करते हैं, और नए Mac architecture support भी बहुत जल्दी add किया गया था
      संक्षेप में, आजकल C# language खुद Windows के अलावा environments में भी समान या बेहतर है
  • GitHub repository को थोड़ी देर देखा, और मुख्य repository में 90 से ज़्यादा open PR हैं, जिनमें कुछ पर 8 महीने से ज़्यादा समय से कोई feedback नहीं है
    अगर मौजूदा team पुराने PR backlog को भी handle नहीं कर पा रही है, तो समझ नहीं आता कि यह योगदान की अपील किस मतलब की है
    इस हालत में PR और बढ़ने से project को मदद नहीं मिलेगी

  • मुझे पता नहीं था कि Jellyfin को developers की ज़रूरत है
    Plex का काफ़ी इस्तेमाल करने वाला user हूँ, लेकिन पेशे से C# developer हूँ, इसलिए server और web projects clone करके पहला issue पर काम करके देखा

  • Jellyfin मुझे सच में बहुत पसंद है और 3 साल से इस्तेमाल कर रहा हूँ
    Hacktoberfest में ज़रूर हिस्सा लेने का सोच रहा हूँ

  • Jellyfin इस्तेमाल करना चाहता हूँ, लेकिन Apple TV का official client नहीं है

    • https://github.com/jellyfin/Swiftfin
      इसे इस्तेमाल कर रहा हूँ और यह ठीक है
    • Infuse media player[0][1] का Apple TV / iOS / macOS client बहुत अच्छा है
      यह Jellyfin के साथ भी integrate होता है
      [0] https://firecore.com/infuse
      [1] https://jellyfin.org/posts/client-infuse/
    • सोच रहा हूँ कि मौजूदा clients क्या सच में इतने खराब हैं
      कुछ साल पहले एक इस्तेमाल किया था, तब Jellyfin client में कोई खास समस्या नहीं थी
      मैंने Jellyfin इसलिए छोड़ा क्योंकि Locast बंद हो गया था, और वही मेरा मुख्य use case था
    • Apple TV खरीदने के बाद से Swiftfin इस्तेमाल कर रहा हूँ और यह ठीक-ठाक है
      sorting और filter options काफ़ी कम हैं, बहुत तेज़ scroll करने पर movie cards गलत जगह load होने जैसी lagging होती है, और कभी-कभी pause के बाद बाकी फिल्म के दौरान progress bar update होना बंद कर देता है
      फिर भी इस्तेमाल करने लायक है
    • Swiftfin है न?
      development थोड़ी अनियमित है, लेकिन पहले जब ज़रूरत पड़ी थी तो ठीक काम करता था
  • Jellyfin सच में इस्तेमाल करना चाहता था इसलिए पहले switch किया था, लेकिन पता चला कि बहुत सारे unauthenticated APIs हैं और उनमें video streams भी शामिल हैं, तो वापस Plex पर आ गया
    Jellyfin को web पर expose करना बहुत risky लगा
    https://github.com/jellyfin/jellyfin/issues/5415

  • अच्छा होगा अगर Jellyfin iOS में Chromecast feature आखिरकार develop हो जाए
    सिर्फ इसी एक feature की वजह से Jellyfin के बजाय Plex इस्तेमाल कर रहा हूँ
    उम्मीद है Chromecast API में skilled कोई व्यक्ति आकर team की मदद करेगा