Conteúdo
O Linux tem muitos softwares, mas quando você muda pela primeira vez, pode ficar frustrado com a falta de nomes familiares. Se você usa o Linux há algum tempo, também pode ficar desapontado com o que parece ser uma mudança relativamente lenta ou uma falta crônica de certos tipos de software.
Por que alguns aplicativos ainda não estão chegando ao Linux e o que está impedindo a comunidade de produzir mais alternativas? Vamos descobrir.
Existem muitas versões do Linux
Ao desenvolver software para Windows, você só precisa testá-lo em alguns sistemas: a versão mais recente do Windows, uma versão mais antiga ou, dependendo se o seu programa é voltado para um negócio muito lento, uma versão mais antiga. É relativamente simples.
No Linux, existem muitas versões diferentes, chamadas de distribuições. Mesmo se você ficar com as mais proeminentes, isso provavelmente ainda significa suportar meia dúzia de distros.
Suponha que você decida dar suporte apenas à versão mais popular do Ubuntu em seu computador pessoal. O cronograma de lançamento do Ubuntu significa atualizações a cada seis meses, e até isso pode ser mais do que parece.
O formato de pacote comum melhora essa situação, mas ainda há opções. Se você está direcionando o Ubuntu, faz sentido usar o formato Snap, mas a maioria das outras distribuições prefere o Flatpak. Algumas pessoas escolhem AppImage.
Em teoria, aplicativos em qualquer um desses três formatos podem ser executados em qualquer distribuição. No entanto, digamos que sua distribuição venha com uma versão mais antiga dos componentes de back-end que o Flatpaks precisa executar. Isso significa que o aplicativo pode não ter os recursos que o desenvolvedor espera que você tenha. As coisas estão melhorando, mas o Linux ainda tem maneiras de tornar mais fácil para os desenvolvedores de aplicativos lidarem com a situação.
Leia também: 7 Motivos para usar LINUX na hora de PROGRAMAR
O modelo de financiamento para Linux não é claro
Linux é tanto um sistema operacional quanto uma filosofia. Tecnicamente, o Linux não é nem mesmo um sistema operacional, é um kernel, um aspecto de um computador que permite que os botões que você pressiona realmente façam algo, e sua tela pode mostrar o que você está fazendo.
A interface de desktop e os aplicativos que usamos não têm nada a ver com o Linux. Você pode executar a maior parte do mesmo software no FreeBSD sem o kernel Linux e não pode executar a maioria desses programas em um Chromebook ou Android, o que acontece.
A ideia por trás do desktop Linux é o conceito de liberdade de software, que o código deve ser livremente visível e compartilhado. É a única maneira conhecida de garantir que os programas não façam algo inapropriado e realmente permitam que as pessoas possuam seus dispositivos.
Uma consequência disso é que é difícil cobrar diretamente pelo software. Você pode vender seu programa sob uma licença de software livre, mas como o código está disponível gratuitamente, não há nada que impeça alguém de compilar e distribuir outra cópia do seu programa sem gastar dinheiro.
Como resultado, as pessoas que desenvolvem Linux e software relacionado tiveram que tentar diferentes maneiras de financiar seu trabalho. Muitos são voluntários que financiam seu trabalho através de vários empregos em tempo integral. Muitos voluntários são estudantes. Algumas pessoas desenvolvem um aspecto do Linux em empregos remunerados, mas em seu tempo livre contribuem para outro. Apenas alguns desenvolvedores são capazes de trazer doações suficientes para compensar seus esforços.
Não existe um modelo de financiamento claro para quem quer criar aplicativos para Linux para viver, pois eles podem criar aplicativos para outras plataformas, a menos que esses aplicativos sejam proprietários, com os quais muitos usuários de Linux não querem trabalhar.
Uma distribuição Linux, o elementary OS oferece uma abordagem de pagamento conforme o uso para aplicativos gratuitos e de código aberto publicados no AppCenter, mas até agora as pessoas não pagaram o suficiente para os desenvolvedores de aplicativos pensarem que é uma distribuição completa.
Leia também: As 10 Melhores Distro Linux para Programadores
Falta dinheiro para todos
Esse modelo de financiamento pouco claro é parte do motivo pelo qual muitas comunidades Linux não conseguem financiamento suficiente para fazer o trabalho que desejam. Alguém que trabalha em um ambiente de desktop específico pode querer projetar um conjunto completo de aplicativos que se integrem à interface, mas não tem recursos para pagar pelo trabalho.
Essa falta de recursos significa que a comunidade de software livre depende muito de voluntários para seu sucesso. Sem voluntários com interesse, tempo e habilidades, o software necessário muitas vezes não é produzido.
Isso também levou voluntários a colaborar em certos projetos. Isto não é necessariamente uma coisa ruim. Mas se você está se perguntando por que não há mais alternativas de código aberto para o LibreOffice, parte do motivo é que muitas vezes faz mais sentido para voluntários, ou mesmo empresas que contratam um punhado de desenvolvedores, contribuir com os recursos que desejam para o LibreOffice . Faça outro kit do zero.
Leia também: O que é um sistema operacional?
Diálogo aberto vem com desacordos
Como os voluntários fazem a maior parte do desenvolvimento no Linux, e como as ideias de código aberto e as restrições financeiras levam as pessoas a trabalharem juntas, é preciso muita comunicação para juntar todas as peças.
Como as pessoas geralmente não conseguem atrair desenvolvedores pagantes, elas precisam ser persuadidas a oferecer seu tempo voluntariamente por razões morais ou práticas. Isso significa que uma postagem no blog ou um discurso pessoal pode inspirar alguns e afastar outros.
O desenvolvimento de código aberto também tende a ser feito de forma aberta, em listas de discussão como GitHub e GitLab. Essas conversas geralmente envolvem diferenças de opinião. Fissuras podem se formar, fazendo com que os desenvolvedores desenvolvam sua própria interface do zero, duplicando o trabalho que outros já fizeram.
Isso é parte do motivo pelo qual o Linux tem tantas interfaces que tecnicamente fazem a mesma coisa, apenas de maneiras diferentes.
Tudo isso antes que qualquer pessoa que use todo esse software se envolva. Os usuários podem ter uma paixão mais forte do que os desenvolvedores, especialmente quando se sentem impotentes porque um programa amado está mudando sua aparência ou um recurso em que confiam desapareceu completamente. Alguns desenvolvedores enfrentam tanta hostilidade que abandonam o desenvolvimento de software livre devido ao esgotamento.
Leia também: O que é Docker?
A participação no mercado de desktops Linux é baixa
Claro, as pessoas querem mais do que apenas software desenvolvido especificamente para Linux. Muitas pessoas desejam acessar o mesmo software que usam no Windows e no macOS, como o Photoshop. Alguns desses programas podem entrar no Linux, como o Steam, mas muitos não.
A participação de mercado relativamente pequena do Linux é um grande motivo. Apesar do domínio do Linux em servidores e supercomputadores, apenas uma porcentagem relativamente pequena de pessoas usa Linux em computadores pessoais. Isso ainda se traduz em milhões, mas muitas empresas não acham que vale a pena pagar aos desenvolvedores para manter o suporte a um terceiro sistema operacional quando eles já ganharam dinheiro suficiente.
As empresas têm preocupações de licenciamento copyleft
Algumas empresas têm reservas sobre a licença copyleft usada pela maioria dos softwares no Linux. Essas organizações podem querer desenvolver software ou integrar certos componentes, mas temem que sejam legalmente obrigadas a abrir o código-fonte de todos os seus programas proprietários.
Muitas empresas se opõem à GNU Public License, que exige que qualquer software que use código compartilhado sob a GPL seja de código aberto.
As empresas que usam software livre geralmente preferem código disponível sob licenças permissivas, como MIT e Apache, que permitem que as pessoas usem o código sem exigir que os programas resultantes sejam gratuitos e de código aberto.
Para uma empresa cujo modelo de negócios gira em torno da venda de código-fonte fechado, interpretar erroneamente as licenças de software livre e se sujeitar a ações legais pode ser uma ameaça aos resultados da empresa.
Leia também: 11 Habilidades para ser um Bom PROGRAMADOR
No entanto, o desenvolvimento de aplicativos Linux continua!
Apesar desses desafios, o Linux continua atraindo desenvolvedores de software. A liberdade e a abertura do Linux o tornam um ótimo lugar para os alunos aprenderem. O código aberto também permite que as pessoas usem aplicativos existentes como base para novos, em vez de começar do zero.
Depois, há pessoas que concordam com os valores do Linux e não podem ajudar a Microsoft, Apple ou Google a ganhar mais dinheiro. Isso mantém o ecossistema vivo e ativo, mesmo que você precise experimentar aplicativos com nomes dos quais nunca ouviu falar.
Leia também: Hackers descobriram novo truque DDoS para derrubar sites