Thông báo tuyển cộng tác viên phát triển - Jellyfin
(jellyfin.org)- Jellyfin nhân dịp Hacktoberfest kỷ niệm 10 năm vào tháng 10/2023 muốn mở rộng nền tảng cộng tác viên đang bị chững lại và tăng tốc cải thiện server, Web UI và client
- Dự án duy trì mô hình tình nguyện bán thương mại và tiền quyên góp chỉ được dùng cho chi phí hạ tầng cùng phần cứng client phục vụ phát triển trong những trường hợp hiếm hoi
- Những người đóng góp nòng cốt, gộp cả server, Web UI và toàn bộ client, chỉ ở mức tối đa khoảng 30 người, gần như không tăng trong 3 năm qua nên một số ứng dụng vẫn do 1~2 người duy trì trong thời gian cá nhân
- Phàn nàn của người dùng tập trung vào thiếu hỗ trợ client và mức độ hoàn thiện còn thấp; ngay cả các tính năng hoặc client có nhu cầu cao như Chromecast cũng từng có thời gian thiếu động lực phát triển
- Từ sửa lỗi nhỏ, cải thiện tài liệu, UI/UX, dịch thuật cho tới phát triển toàn bộ client đều đang cần, và những người đóng góp chất lượng, đều đặn có thể gia nhập đội ngũ chính thức
Vì sao Jellyfin đang tìm cộng tác viên ngay lúc này
- Jellyfin coi việc thu hút cộng tác viên mới là nhiệm vụ quan trọng nhân dịp kỷ niệm 10 năm Hacktoberfest của DigitalOcean
- Mỗi khi có tranh cãi liên quan đến Plex, Jellyfin thường được nhắc đến như một lựa chọn thay thế, nhưng trong cộng đồng cũng liên tục xuất hiện các ý kiến về thiếu client, thiếu một số tính năng cụ thể và độ hoàn thiện chưa đủ cao
- Để thu hẹp khoảng cách đó, cần có thêm nhiều người tham gia cải thiện mã nguồn, phát triển tính năng mới và chỉnh lý tài liệu
Những giới hạn của một dự án dựa trên tình nguyện
- Jellyfin được vận hành như một dự án bán thương mại hiếm thấy ngay cả trong thế giới FLOSS
- Tất cả nhà phát triển, dịch giả, người vận hành cộng đồng và thành viên hỗ trợ xử lý vấn đề đều là tình nguyện viên
- Không ai nhận thù lao cho công việc với Jellyfin, và cũng không có tài trợ từ công ty hay tổ chức riêng nào
- Dự án không có kế hoạch kiếm tiền và cũng chủ động tránh bug bounty
- Tiền quyên góp chỉ được dùng cho chi phí hạ tầng và phần cứng client phục vụ phát triển được mua trong những trường hợp hiếm khi cần thiết
- Dự án không trả thù lao cho nhà phát triển từ tiền quyên góp và cũng khẳng định sẽ không làm vậy trong tương lai
- Lựa chọn này nhằm tránh đi theo con đường mà nhiều dự án streaming media khác từng đi: bắt đầu là FLOSS nhưng rồi thêm các tính năng gây bất lợi cho người dùng vì mục tiêu doanh thu và chuyển sang mã nguồn đóng
Gánh nặng duy trì phạm vi rộng với một đội ngũ nhỏ
- Hiện nay, lực lượng cộng tác viên nòng cốt, tính gộp server, Web UI và tất cả client, chỉ ở mức tối đa khoảng 30 người
- Quy mô tổng thể gần như không tăng trong 3 năm qua
- Một số mảng, đặc biệt là các ứng dụng riêng lẻ, đang do 1~2 người làm miễn phí trong thời gian cá nhân
- Ngay cả các tính năng hoặc client có nhu cầu cao cũng có thể bị đình trệ nếu không có ai bắt đầu phát triển hoặc tham gia hỗ trợ
- Chromecast từng phải tạm gác trong một thời gian, nhưng vài tuần gần đây đã bắt đầu có chuyển biến trở lại
Cách tham gia và con đường gia nhập đội ngũ chính thức
- Người muốn bắt đầu có thể nhận hỗ trợ qua hướng dẫn đóng góp, các kênh Matrix/IRC/Discord và Forum
- Phạm vi đóng góp rất đa dạng, từ sửa lỗi nhỏ, cải thiện tài liệu đến phát triển toàn bộ client
- Nếu thể hiện được các đóng góp chất lượng và mong muốn tham gia lâu dài, bạn cũng có thể gia nhập đội ngũ chính thức thông qua quy trình đề cử thành viên mới
1 bình luận
Ý kiến trên Hacker News
Không biết Jellyfin lại dựa trên C#
Tôi bắt đầu sự nghiệp với tư cách lập trình viên C#, nhưng giờ chỉ dùng C++, và vẫn đang tìm một dự án để thử dùng lại C#
Tôi có một danh sách những điểm bất tiện ở Jellyfin, giờ biết nó là C# rồi nên thấy muốn tự tay sửa
Ngôn ngữ này đã tiến bộ rất nhiều, đặc biệt là các tiện ích cho lập trình viên như pattern matching, câu lệnh using, các kiểu cơ bản hướng hiệu năng
Tôi bắt đầu dùng lại C# toàn thời gian từ đầu năm nay và rất hài lòng
Sẽ tốt nếu nhóm Jellyfin cũng hiển thị lời kêu gọi tham gia như thế này ở những nơi người dùng yêu cầu tính năng
Với hỗ trợ Chromecast, ví dụ trong bài blog, tôi từng hỏi trong issue này rằng có thể giúp triển khai tính năng đó như thế nào: https://github.com/jellyfin/Swiftfin/issues/271#issuecomment...
Dù thực tế có thể chẳng có việc gì để tôi đóng góp một cách hiệu quả cho tính năng đó, nếu có hướng dẫn bắt đầu thì chắc chắn tôi đã vào xem
Nếu nhanh chóng gắn liên kết đến bài blog và tài liệu khởi đầu vào các issue nơi mọi người hỏi họ có thể giúp gì, có lẽ tỉ lệ chuyển đổi sẽ khá tốt
Cảm ơn tất cả những người đóng góp cho Jellyfin, và tôi cũng hiểu onboarding lập trình viên thường có thể trở thành một việc lớn hơn, nhưng đây là gợi ý rằng đó là vị trí tốt để đặt liên kết kêu gọi hành động
Trước đây tôi từng định thêm tính năng danh sách cho phép dựa trên thẻ, vốn được yêu cầu nhiều và trông cũng không quá khó triển khai, và đã xác định được nên đặt nó ở đâu trong mã máy chủ
Nhưng rồi tôi nhận ra để chuyển giao tính năng đó, tôi phải xử lý PR trên ít nhất hai kho lưu trữ, và để kiểm thử tích hợp thì phải qua lại giữa hai kho, nên đã bỏ cuộc
Với mã bị ghép nối chặt, một kho lưu trữ duy nhất thật sự tiện hơn
Có lẽ tôi sẽ xem lại lần nữa
Nói thêm, kiểm soát của phụ huynh dựa trên danh sách cho phép là một trong những công cụ tốt nhất, nhưng thật bực là hầu như chẳng nơi nào hỗ trợ
Có lẽ bạn không phải người duy nhất gặp vấn đề đó
Phía dự án chắc cũng thấy bất tiện, nhưng có thể họ đã quen với sự bất tiện đó đến mức quên mất
Nếu hỗ trợ PR liên kho lưu trữ thì những quy trình như vậy có thể được đơn giản hóa, nhưng tôi đã muốn có tính năng đó gần 10 năm nay rồi
Tôi đã thiết lập để tài khoản của bọn trẻ chỉ xem được những nội dung có thẻ nhất định, và thẻ của Plex khá chi tiết nên có thể cho phép cả một bộ phim hay chương trình TV, một phần của chương trình TV, hoặc chỉ một tập riêng lẻ
Hiện giờ chúng có thể truy cập khá nhiều nội dung, nhưng nội dung mới sẽ không tự động được mở
Khi tải về thứ gì đó như tập mới của Bluey, vợ tôi thường muốn xem trước; với chương trình cho trẻ em thì hiếm khi có gì đáng phản đối nên gần như lúc nào cũng duyệt, nhưng như vậy thấy yên tâm hơn
Tôi không nhớ chính xác thuật ngữ, nhưng cần chú ý vì có cả tag và label
Trước đây tôi đã thử nhầm phía; về cơ bản chỉ cần tạo label rồi đặt tài khoản trẻ em chỉ được xem nội dung có label đó
Thật tốt khi có thể chặn phần lớn phim theo phân loại độ tuổi, rồi chỉ cho phép riêng một số phim
Là một lập trình viên chỉ làm việc trên hệ thống Linux, tôi tò mò môi trường phát triển C# hiện ra sao
Tôi nghĩ Mono vẫn còn đó, và đó là runtime được dùng khi các dự án C# chạy
Tôi luôn cảm thấy C# hơi gượng gạo trong môi trường không phải Windows, nhưng có thể bấy lâu nay tôi đã hiểu sai
Vì không có cơ hội hay nhu cầu dùng ở nơi làm việc, tôi không rõ công cụ trên Mac hay Linux tốt đến đâu, và thực tế nó vận hành thế nào
Mặt khác, tôi đã nhiều lần thấy người ta nói nó giống một Java tốt hơn, và ở đây có vẻ F# cũng khá được ưa thích
Plugin C# không hoạt động trên VSCodium
Tương tự Java, thiết kế ngôn ngữ C# cũng có khá nhiều giả định rằng bạn dùng IDE
Dù vậy nếu là ứng dụng web thì ngoài chuyện đó ra vẫn ổn
Cần chú ý một chút khi cài SDK và một số API hệ thống hoạt động hơi khác, nhưng nhìn chung chỉ ở mức tôi thích Windows hơn rất ít
Mono vẫn tồn tại, nhưng từ khoảng năm 2015 C# đã được hỗ trợ native trên Linux, và theo tôi biết thì hiện nay hầu như không còn trường hợp nào thực sự dùng Mono
Mục đích chính của nó là chạy ứng dụng .NET Framework, chứ không phải .NET Core
Mono vẫn còn và được dùng cho một số mục đích đặc thù như WASM, interpreter
Theo tôi biết, ngay cả trên Azure nhiều trường hợp cũng ưu tiên chạy trên máy Linux, chỗ tôi làm cũng vậy
Hiệu năng tôi thấy là tương đương hoặc nhanh hơn
Giờ đây nhiều lập trình viên C#, có lẽ là đa số, đang làm việc trên máy không phải Windows, và hỗ trợ kiến trúc Mac mới cũng được bổ sung rất nhanh
Tóm lại, ngày nay bản thân ngôn ngữ C# trong môi trường không phải Windows cũng ngang bằng hoặc tốt hơn
Tôi xem qua kho lưu trữ GitHub, thấy có hơn 90 PR đang mở trong kho chính và một số không có phản hồi hơn 8 tháng
Nếu đội ngũ hiện tại còn không xử lý nổi lượng PR hiện có thì không hiểu lời kêu gọi tham gia này có ý nghĩa gì
Ở trạng thái hiện tại, có thêm PR cũng không giúp ích gì cho dự án
Một PR khá đơn giản cho việc này đã được mở từ tháng 2/2023, nhưng vẫn nằm đó mà không có phản hồi nào có thể xử lý được: https://github.com/jellyfin/jellyfin/pull/9291
Tôi không biết Jellyfin đang cần lập trình viên
Tôi là người dùng Plex nhiệt tình nhưng nghề nghiệp là lập trình viên C#, nên đã clone dự án server và web rồi thử xử lý issue đầu tiên
Tôi rất thích Jellyfin và đã dùng được 3 năm
Tôi chắc chắn sẽ tham gia Hacktoberfest
Tôi muốn dùng Jellyfin nhưng không có client chính thức cho Apple TV
Tôi đang dùng và thấy ổn
Nó cũng tích hợp với Jellyfin
[0] https://firecore.com/infuse
[1] https://jellyfin.org/posts/client-infuse/
Vài năm trước tôi từng dùng một cái và không thấy client Jellyfin có vấn đề gì đáng kể
Tôi ngừng dùng Jellyfin vì Locast bị đóng cửa, mà đó là mục đích sử dụng chính của tôi
Các tùy chọn sắp xếp và lọc còn thiếu nhiều, ứng dụng khá giật, chẳng hạn khi cuộn quá nhanh thì thẻ phim tải sai vị trí, và đôi khi sau khi tạm dừng, thanh tiến trình ngừng cập nhật trong suốt phần còn lại của phim
Dù vậy vẫn ở mức dùng được
Việc phát triển hơi thưa thớt, nhưng trước đây khi tôi cần thì nó hoạt động khá ổn
Tôi rất muốn dùng Jellyfin nên trước đây đã chuyển sang, nhưng khi biết có nhiều API không được xác thực, thậm chí bao gồm cả luồng video, tôi đã quay lại Plex
Việc đưa Jellyfin ra web có vẻ quá rủi ro
https://github.com/jellyfin/jellyfin/issues/5415
Tôi mong tính năng Chromecast trên Jellyfin iOS cuối cùng cũng được phát triển
Chỉ vì đúng một tính năng này mà tôi đang dùng Plex thay vì Jellyfin
Hy vọng có ai đó thành thạo Chromecast API tham gia và giúp đội ngũ