Chamada para desenvolvedores - Jellyfin
(jellyfin.org)- O Jellyfin quer ampliar sua base estagnada de contribuidores e acelerar o ritmo de melhorias no servidor, na Web UI e nos clientes, tendo como marco o 10º aniversário do Hacktoberfest em outubro de 2023
- O projeto mantém um modelo voluntário semicomercial, e até as doações são usadas apenas para custos de infraestrutura e hardware de cliente para desenvolvimento adquirido raramente
- Os contribuidores principais somam no máximo cerca de 30 pessoas considerando servidor, Web UI e todos os clientes, e esse número quase não cresceu nos últimos 3 anos, então alguns apps são mantidos por 1 ou 2 pessoas em seu tempo livre
- As reclamações dos usuários se concentram na falta de suporte a clientes e na falta de polimento, e até recursos e clientes com alta demanda, como o Chromecast, já passaram um tempo sem força de desenvolvimento
- Há necessidade de tudo, desde pequenas correções de bugs, melhorias na documentação, UI/UX, tradução e desenvolvimento de clientes completos, e quem contribuir de forma consistente e com qualidade pode até entrar para a equipe oficial
Por que o Jellyfin está procurando contribuidores agora
- O Jellyfin definiu a entrada de novos contribuidores como uma tarefa importante em sintonia com o 10º aniversário do Hacktoberfest da DigitalOcean
- Sempre que surgem controvérsias relacionadas ao Plex, o Jellyfin é citado como alternativa, mas na comunidade também se repetem pontos como falta de clientes, ausência de certos recursos e falta de acabamento
- Para reduzir essa diferença, mais pessoas precisam participar da melhoria do código, do desenvolvimento de novos recursos e da organização da documentação
Limitações enfrentadas por um projeto baseado em voluntariado
- O Jellyfin é operado como um projeto FLOSS semicomercial raro mesmo dentro do FLOSS
- Desenvolvedores, tradutores, operadores da comunidade e membros que ajudam na solução de problemas são todos voluntários
- Ninguém recebe remuneração pelo trabalho no Jellyfin, e não há patrocínio de empresas nem de uma organização separada
- Não há plano de monetização, e o projeto também evita ativamente programas de bug bounty
- As doações são usadas apenas para custos de infraestrutura e, quando necessário, para hardware de cliente de desenvolvimento comprado raramente
- A posição do projeto é não pagar desenvolvedores com doações, e continuar assim no futuro
- Essa escolha busca evitar o caminho de outros projetos de streaming de mídia que começaram como FLOSS, mas depois adicionaram recursos hostis aos usuários por motivos de receita e migraram para código fechado
O peso de manter um escopo amplo com uma equipe pequena
- Atualmente, a base central de contribuidores soma no máximo cerca de 30 pessoas considerando servidor, Web UI e todos os clientes
- O tamanho total quase não cresceu nos últimos 3 anos
- Algumas áreas, especialmente apps individuais, são tocadas por 1 ou 2 pessoas gratuitamente em seu tempo livre
- Mesmo recursos ou clientes com alta demanda podem parar de avançar se não houver ninguém para iniciar o desenvolvimento ou ajudar
- O Chromecast precisou ser deixado de lado por um tempo, mas voltou a ter movimento nas últimas semanas
Como participar e o caminho para entrar na equipe oficial
- Quem quiser começar pode obter ajuda pela página de contribuição, pelos canais Matrix/IRC/Discord e pelo Forum
- O escopo de contribuição é variado, indo de pequenas correções de bugs e melhorias na documentação até o desenvolvimento de clientes completos
- Para quem demonstrar contribuições de qualidade e vontade de participar, também existe um processo de indicação de novos membros da equipe para entrar na equipe oficial
1 comentários
Opiniões no Hacker News
Eu não sabia que o Jellyfin era baseado em C#
Comecei minha carreira como desenvolvedor C#, mas hoje uso só C++, e vinha procurando algum projeto para voltar a usar C#
Tenho uma lista de coisas que me incomodavam no Jellyfin e, agora que sei que é em C#, fiquei com vontade de corrigir eu mesmo
A linguagem evoluiu muito, e as comodidades de desenvolvimento melhoraram, especialmente pattern matching, declarações
usinge tipos primitivos voltados a desempenhoVoltei a usar C# em tempo integral no começo deste ano e estou muito satisfeito
Seria bom se a equipe do Jellyfin também exibisse esse chamado à participação nos pontos em que os usuários pedem funcionalidades
No caso do suporte a Chromecast, que é o exemplo do post do blog, eu tinha perguntado nesta issue como poderia ajudar a implementar a funcionalidade: https://github.com/jellyfin/Swiftfin/issues/271#issuecomment...
Mesmo que na prática não houvesse nada com que eu pudesse contribuir de forma produtiva para essa funcionalidade, se houvesse um guia de primeiros passos eu certamente teria ido ver
Acho que, se vocês vincularem rapidamente o post do blog e os materiais de introdução nas issues em que as pessoas perguntam como ajudar, a conversão pode ser bem boa
Agradeço a todos que contribuem com o Jellyfin, e sei que onboarding de desenvolvedores muitas vezes acaba virando um trabalho maior, mas é uma sugestão de um bom lugar para colocar links de chamada para ação
Tentei adicionar um recurso de lista de permissões baseada em tags, que já tinha sido muito solicitado e não parecia difícil de implementar, e até identifiquei onde colocá-lo no código do servidor
Mas percebi que, para entregar a funcionalidade, teria que cuidar de PRs em pelo menos dois repositórios e ficar alternando entre os dois para testes de integração, então desisti
Para código fortemente acoplado, um único repositório é realmente conveniente
Talvez eu dê outra olhada nisso
Além disso, controle parental baseado em lista de permissões é uma das melhores ferramentas, mas é frustrante como quase ninguém dá suporte a isso de fato
Provavelmente não foi um problema só seu
Do lado do projeto isso também deve ser incômodo, mas talvez eles tenham se acostumado com o incômodo e esquecido dele
Suporte a PRs entre repositórios poderia simplificar esse tipo de processo, e eu quero esse recurso há quase 10 anos
Configurei a conta das crianças para ver apenas itens com determinadas tags, e as tags do Plex são bem granulares, então dá para permitir filmes ou séries inteiras, partes de uma série, ou apenas um episódio específico
Hoje elas têm acesso a bastante conteúdo, mas conteúdo novo não é liberado automaticamente
Quando recebo algo como um episódio novo de Bluey, minha esposa quer assistir antes; raramente há algo muito problemático em programas infantis, então quase sempre aprovamos, mas fico tranquilo
Não lembro exatamente os termos, mas existem tags e rótulos, então é preciso tomar cuidado
Antes eu estava tentando usar o lado errado; basicamente, você cria um rótulo e configura a conta infantil para ver apenas conteúdo com esse rótulo
É bom poder bloquear a maioria dos filmes pela classificação indicativa e permitir alguns filmes individualmente
Como desenvolvedor que trabalha apenas em sistemas Linux, fico curioso sobre como é o ambiente de desenvolvimento C#
Achei que o Mono ainda existisse e que fosse o runtime usado quando projetos C# são executados
Sempre achei C# meio estranho em ambientes que não fossem Windows, mas talvez eu tenha entendido errado esse tempo todo
Como nunca tive oportunidade nem necessidade de usar no trabalho, não sei muito bem quão boas são as ferramentas no Mac ou no Linux, nem como isso funciona na prática
Por outro lado, já vi várias vezes dizerem que é como um Java melhor, e por aqui o pessoal também parece gostar bastante de F#
O plugin de C# não funciona no VSCodium
Assim como em Java, o design da linguagem C# parece presumir bastante o uso de uma IDE
Ainda assim, se for uma aplicação web, fora isso é tranquilo
É preciso ter um pouco de cuidado ao instalar o SDK, e algumas APIs do sistema se comportam de forma um pouco diferente, mas no geral é apenas um caso de eu preferir muito ligeiramente o Windows
O Mono ainda existe, mas desde por volta de 2015 C# tem suporte nativo no Linux e, até onde sei, quase ninguém usa Mono de fato hoje em dia
O principal uso dele é executar apps .NET Framework, não .NET Core
O Mono ainda existe e é usado em alguns casos especiais, como WASM e interpretadores
Até onde sei, no Azure muitas vezes há preferência por rodar em máquinas Linux, e no lugar onde trabalho também é assim
Eu diria que o desempenho é igual ou melhor
Hoje muitos desenvolvedores C#, talvez a maioria, trabalham em máquinas que não são Windows, e o suporte à nova arquitetura dos Macs também foi adicionado muito rapidamente
Resumindo, hoje em dia a linguagem C# em si é igual ou melhor em ambientes que não sejam Windows
Dei uma olhada rápida no repositório do GitHub, e há mais de 90 PRs abertos no repositório principal; alguns estão há mais de 8 meses sem feedback
Se a equipe atual não consegue nem dar conta do volume de PRs existentes, não sei qual é o sentido desse chamado para participação
No estado atual, mais PRs não ajudam o projeto
Há um PR bem simples para isso aberto desde fevereiro de 2023, parado sem feedback acionável: https://github.com/jellyfin/jellyfin/pull/9291
Eu não sabia que o Jellyfin precisava de desenvolvedores
Sou um usuário assíduo do Plex, mas trabalho como desenvolvedor C#, então clonei os projetos do servidor e da web e trabalhei na minha primeira issue
Gosto muito do Jellyfin e uso há 3 anos
Com certeza pretendo participar do Hacktoberfest
Quero usar o Jellyfin, mas não há um cliente oficial para Apple TV
Estou usando e é bom
Ele também se integra ao Jellyfin
[0] https://firecore.com/infuse
[1] https://jellyfin.org/posts/client-infuse/
Quando usei um deles alguns anos atrás, não tive grandes problemas com o cliente Jellyfin
Parei de usar o Jellyfin porque o Locast foi encerrado, e esse era meu principal caso de uso
Faltam muitas opções de ordenação e filtros; ele engasga, por exemplo, carregando cards de filmes no lugar errado se você rola rápido demais; e às vezes a barra de progresso para de atualizar pelo restante do filme depois de pausar
Ainda assim, dá para usar
O desenvolvimento é meio esporádico, mas funcionava bem quando precisei dele antes
Eu realmente queria usar o Jellyfin e cheguei a migrar no passado, mas voltei para o Plex quando descobri que há muitas APIs não autenticadas, incluindo streams de vídeo
Pareceu arriscado demais expor o Jellyfin na web
https://github.com/jellyfin/jellyfin/issues/5415
Seria ótimo se a funcionalidade de Chromecast no Jellyfin para iOS finalmente fosse desenvolvida
Literalmente uso o Plex em vez do Jellyfin por causa apenas desse recurso
Seria ótimo se alguém com experiência na API do Chromecast entrasse para ajudar a equipe