[Criador do Lutris] Não está na mesma página

Os últimos 15 anos foram uma grande jornada… desde realmente entrar no Linux até aprender o panorama tecnológico, desenvolver habilidades, conseguir empregos… e também, é claro, criar o Lutris! Desde que mudei totalmente para o Linux em 2005, tenho tido uma dedicação cada vez maior à plataforma e ao conceito de código aberto que a cerca. Isso me levou a ingressar em várias comunidades, como LUGs, fóruns, salas de chat, conferências, encontros … Embora nem sempre tenha concordado com as vozes nessas várias comunidades, ainda me sentia em casa, principalmente pela interação humana que criava. E embora eu possa discordar de algumas opiniões, ainda é agradável compartilhar uma refeição, bebidas e desfrutar de bons momentos. Não ter reunião física pode ter oferecido uma perspectiva diferente, mas a sensação de estar fora de contato com os outros já existia há muito tempo …

A desconexão que sinto entre o que desejo entregar no que construo e o que os usuários pedem agora é grande demais para ser ignorada. De alguma forma, eu já sabia que seria o caso antes mesmo de começar o Lutris. Eu sabia que o que estava tentando alcançar não estava de acordo com a forma como os usuários Linux normalmente se comportam …

Isso é muito simples; os usuários do Linux adoram mexer, o objetivo do Lutris é remover esses ajustes (ou fazer alguns ajustes pesados ​​no upstream, para que não sejam necessários em um nível individual). Com isso em mente, é fácil ver como o Lutris foi rotulado como uma ferramenta para ajudar os novatos no Linux a instalar jogos e permitir que os usuários avançados façam suas tarefas habituais na CLI. O problema de mexer é que só pode levar você até certo ponto em termos de design de produto coeso. A coesão é um dos maiores problemas do Linux, já faz algum tempo. Quando uma comunidade de usuários se orgulha de que seu sistema é “sobre escolha” e todos têm uma opinião diferente sobre o que é construir um sistema operacional corretamente, é improvável que essa comunidade seja unida e siga na mesma direção.

Eu realmente entendo, mexer é divertido. Mas quando a maioria das pessoas começa a questionar a validade do trabalho das equipes que fornecem sistemas operacionais, é difícil ter uma plataforma para construir em cima. Linux, o kernel, é seu próprio tipo de animal. Sua estabilidade é exemplar e permite alimentar a maioria dos dispositivos eletrônicos do mundo. Mas sem o escrutínio profundo que Linus e Greg KH impõem aos patches que chegam, às vezes me pergunto que tipo de show de m.erda o kernel se tornaria … Dirigir um grande projeto de código aberto anda de mãos dadas com uma forte governança. Líderes de grandes projetos de código aberto se autodenominariam “ditadores benevolentes”, talvez indicando que o nível de autoridade da ditadura era necessário para manter o projeto na direção certa. Projetos como Debian, Ubuntu, Python e Blender se tornaram padrões da indústria e também tiveram ou tiveram uma liderança forte e rígida. Sem um nível muito alto de estabilidade, toda a Internet começaria a falhar aleatoriamente e todos nós estaríamos tendo um péssimo momento. O mundo do Linux para desktop, e especificamente o relacionado aos jogos, é uma selva em comparação com o espaço do servidor. É em algum lugar, ao pedir ajuda, você ouve centenas de gritos dissonantes simultaneamente e provavelmente acaba começando uma briga …

Ainda percorremos um longo caminho em relação aos jogos no Linux. Vulkan mudou tudo. E como a Valve moldou o mundo dos jogos no Linux, também mudou tudo. Excluindo os recursos multijogador que ainda representam um problema, podemos esperar que qualquer jogo recente seja executado no Linux sem maiores problemas. Mas outras coisas não mudam, essas coisas parecem estar menos em um nível técnico e mais vinculadas à tradição geral que cerca a comunidade Linux. Se sua meta é ter um sistema baseado em opções, então você optou por não dar a mim e a outros desenvolvedores uma base estável para construir. Esta tem sido a principal reclamação feita pelos estúdios de desenvolvedores de jogos quando eles estavam pelo menos considerando portar seus jogos para o Linux. Não apenas o Linux para desktop não tem uma base estável em um determinado momento, como também é muito volátil e o que está funcionando em um sistema hoje, não necessariamente funcionará amanhã em uma versão futura do sistema operacional. De certa forma, ele traça algumas semelhanças estranhas com o ecossistema Javascript, que também oferece muitas opções e é muito volátil … E sejamos justos, por mais que alguns afirmem que o Linux é “amigável ao desenvolvedor”, na verdade não é. Se você é um desenvolvedor do GNOME, KDE, Systemd, PulseAudio ou algum outro projeto “impopular” em meio a multidões, é mais do que provável que você tenha recebido alguma m.erda nos últimos anos. E se você tiver feito escolhas técnicas profanas, como usar Java ou Electron? Isso inevitavelmente atrairá os cowboys do Linux gritando “Ei! Você aí! Sim você. Não gostamos da sua espécie por aqui …”. Isso iria tão longe quanto algumas pessoas conversando durante conferências do Linux intituladas coisas como “os programadores são maus” (e deixar bem claro durante a conversa que eles não estão totalmente brincando). Não, eu não diria que o Linux é amigável ao desenvolvedor, ou pelo menos sua comunidade não é. Ainda assim, eu não gostaria de fazer desenvolvimento em qualquer outra plataforma além do Linux. Na verdade, eu faço, no OSX, e é um PITA, os Macs são tão mal projetados …, mas isso é outra história …

Uma das coisas que você ouve com frequência no mundo Linux é como “você não precisa ser um desenvolvedor para contribuir com o código aberto, você também pode relatar bugs”. Acontece que ter pessoas relatando “bugs” enquanto não há ninguém para corrigi-los cria mais ruído do que ajuda o projeto. Especialmente quando os usuários começam a tratar o bug tracker como se fosse sua lista de desejos da Amazon. Isso acaba em uma situação semelhante à do Inferninho, onde seu projeto é separado por ganchos em todas as direções possíveis … Porque eu me importo com o projeto e porque há uma lacuna cada vez maior entre onde eu quero conduzir o projeto e o feedback que recebo dele, optei por me distanciar de alguns aspectos até que uma solução melhor possa ser encontrada.

Eu tinha me dado o objetivo de manter a contagem de problemas baixa no rastreador de bug Lutris. Porque lidar com um número maior de tickets é apenas mais difícil quando os recursos de desenvolvimento são tão baixos e diluem a direção real do projeto em uma grande quantidade de tickets. Sendo seu próprio tipo especial de projeto, o bug tracker do cliente também se tornou um bug tracker para jogos que não funcionam no Linux, instaladores Lutris quebrados e um help desk para aqueles que têm dificuldade em instalar drivers gráficos ou wine. Simplesmente cancelando a assinatura do rastreador de bug Lutris, não sou notificado sobre novos problemas criados. Isso evita esse problema, mas ao passar pelo meu e-mail pela manhã, ainda surto porque algum problema me fez ir xingar muito. Gosto de ler meu e-mail sem ter que pirar …

Lutris se tornou muito grande. Ele agora está incluído nos repositórios Debian e Ubuntu, o que agora o torna disponível em todas as principais distribuições do Linux. O envio de recursos corrompidos não é mais uma opção nesse ponto, e o processo de controle de qualidade que acompanha cada versão tem refletido isso recentemente. A próxima versão do Lutris, a versão 0.5.9, é bastante ambiciosa, pois deve resolver alguns problemas que impediam a Lutris de jogar bem com o Steam ou outro serviço de jogo. Ele também deve se basear em vários conceitos introduzidos em 0.5.8. Desnecessário dizer que este é um dos lançamentos mais delicados que o projeto já terá, com algumas mudanças importantes nos aspectos de nível inferior do programa. Nunca fui bom trabalhando em um ambiente barulhento (a menos que seja um ruído auto infligido, como grindcore ou techno …), o trabalho que terei de fazer requer concentração por mim mesmo ou ser capaz de discutir assuntos muito precisos com outras pessoas que estão na mesma página. Colocar as pessoas na mesma página provou ser o aspecto mais desafiador na condução de um projeto, muito acima de qualquer problema técnico.

Preocupar-me muito com alguma coisa, ao mesmo tempo em que não consegue transmitir a visão geral que tenho e ser submetido a essa sensação de estar sendo dividido em todas as direções, me deixa muito p.uto sempre que surge algo relacionado a Lutris. Essa não é realmente uma boa posição ao conduzir o projeto. Além disso, lidar com todo esse “ruído” consome muito tempo e eu gostaria de ter tempo suficiente para outras coisas na minha vida como aprender 3D, música ou plantar sementes aleatórias de frutas compradas em lojas, o que eu acho que é ilegal aqui. Não copie esse jalapeno!

Outra coisa que gosto de fazer é usar o maldito programa que escrevi. Acabei de construir uma configuração de jogo muito ruim e com o ScaLE sendo cancelado este ano, eu realmente não posso mostrar … a menos que eu faça alguns vídeos no Youtube? Isso seria bom com o tempo ganho sem ter que lidar com coisas aleatórias de Lutris … Provavelmente foi bobo da minha parte querer que a contagem de problemas fosse baixa a todo custo, mas como eu disse antes, tenho dificuldade em trabalhar em uma bagunça / ambiente barulhento … Não consigo cozinhar em uma cozinha bagunçada, não consigo programar em uma mesa bagunçada. Dizer que não sou mais o gerente de projeto, que não preciso fazer a triagem de problemas, ajudou muito ultimamente. Se eu quiser manter uma função saudável como arquiteto e desenvolvedor, terei que abandonar esse aspecto do projeto.

O cargo de gerente de projeto da Lutris está aberto. Eu envolvo ser capaz de classificar os problemas do Github ao mesmo tempo em que conheço a direção geral que o projeto está tomando e sou capaz de diferenciar quais questões devem ser tratadas pela Lutris e quais não são de nossa responsabilidade. Também não estou colocando todas as minhas esperanças em ter essa função substituída em breve, porque os gerentes de projeto geralmente não se materializam do nada. Construí esse projeto na esperança de, eventualmente, obter ajuda de alguns desenvolvedores mais experientes. Os desenvolvedores seniores também não aparecem do nada. Não estou muito preocupado. Eu alimento para cães quase diariamente. Se alguma coisa estivesse insanamente quebrada, eu iria consertar. Mas com a própria Lutris se tornando mais estável, os problemas ficam cada vez mais estranhos,

A comunidade Linux de desktop é composta principalmente de pessoas que foram mordidas de todas as maneiras. Muitos foram mordidos por uma tela azul ou pelo Windows Update defeituoso. Muitos foram mordidos por atualizações quebradas. Software quebrado está ao nosso redor. Não importa se é de código aberto ou não, softwares quebrados mordem as pessoas e pessoas mordidas confiam menos em você. Já enviei meu quinhão de código quebrado e sei que isso levou alguns a acreditar que o Lutris é um PDV com defeito. Não importa o progresso do software, é difícil reconquistar a confiança dos usuários. Quer um exemplo melhor do que Lutris? Firefox. Você cria memes como o Firefox consome toda a sua RAM ou o Firefox é lento e esses memes aderem, mesmo que nem sejam relevantes hoje, na versão atual. E então o Chrome pega toda a fatia do mercado de navegadores e a Mozilla precisa demitir um monte de gente. Mesmo coisa com o ódio da Microsoft. Eu entendi, li os documentos de Halloween e odiava a Microsoft antes de comprar meu Amiga 500 …, mas se eu continuar olhando o que está acontecendo e por que odiava a Microsoft para começar … aquelas ilusões de dominação mundial por Bill Gates e tal … É muito claro que a Microsoft não está mais nessa posição e é muito claro que a Amazon está. Ainda assim, o consenso geral na comunidade Linux é a desconfiança de qualquer coisa da Microsoft, embora seja bastante indiferente em relação à AWS. A Amazon está tão inserida nesse padrão de “Embrace, Extend and Extinguish” que moldou a estrutura da Internet até mesmo para a Microsoft, que é forçada a seguir seu exemplo. Isso forçou a Microsoft a se tornar uma contribuidora significativa para o Linux.

Odiar o Windows com certeza foi divertido como meme por um tempo …, mas por um longo tempo, entre 1997 e 2005, passei a maior parte do meu tempo no Windows e fazendo experiências com o Linux como um sistema operacional secundário. Quando decidi fazer a troca, fiquei motivado por todas as coisas ruins que leria sobre o futuro Windows Vista, mas a verdadeira razão pela qual mudei foi como o Linux finalmente me capacitou a controlar e dominar a tecnologia, o que acabou levando a construir minha carreira em torno isto. Eu inicialmente fiz 2 anos de escola de arquitetura antes de entrar em estudos de computação. Agora sou um arquiteto diferente, mas ainda quero construir coisas. Tal como acontece com um edifício físico, quanto maior se torna um projeto de software, mais robustas suas fundações precisam ser. Por um tempo, foi o ambiente perfeito: projeto pequeno, PyGTK era a tecnologia avançada impulsionada pela Canonical na época, você teria salas de aula online, a estrutura Quickly para você começar. Alguns anos depois, quase ninguém faz código Python + Gobject, Gtk 4 está aqui, mas ainda há anos de atingir o Debian estável para que eu possa começar a usá-lo, o cliente entrou em todas as principais distros do Linux e requer estabilidade. Para ter essa estabilidade, então eu devo ter essa estabilidade e manter a distância tem sido útil.

Já me distanciei do projeto antes, às vezes até demais. Mas não quero mais me distanciar do projeto, apenas de uma parte da tradição que abrange a comunidade Linux. Esta é uma situação muito complicada de se estar, já que não tenho intenção de sair. Ver muitos projetos com muitos problemas em aberto sem nem mesmo um comentário ajudou a entender que fazer suporte constante para um projeto nunca fez parte do “contrato” de código aberto. Quando você está trabalhando em um projeto de código aberto, “funciona na minha máquina” provavelmente é bom o suficiente com esses poucos recursos em desenvolvimento. Enquanto estou basicamente analisando os novos problemas do Github ou PRs, continuo aberto para falar sobre o futuro do projeto. Mas se você está aqui para falar sobre como o League of Legends tem problemas para executar em seu desktop Void Linux + i3, então direi apenas “é chato ser você”.

http://mathieu.comandon.org/not-on-the-same-page

4 Curtidas

E eu compreendo ele. A sensação de estar dando soco em ponta de faca. Essa zona que é o Linux no Desktop e esse oceano de ignorância que compõe a comunidade.

Só espero que Mathieu cuide de si mesmo.

3 Curtidas

Tem surgido mais e mais relatos de desenvolvedores que contribuíram de forma inegável para o cenários de tecnologia, demonstrando toda sua dor e frustração com a forma como a relação com os usuários é desproporcional e enviesada.

Sinceramente, me bate uma tristeza quando leio esse tipo de coisa e sempre lembro de uma frase que eu li há muito tempo: “Nenhuma boa ação ficará sem punição.”

:vulcan_salute:

4 Curtidas