Mostrando postagens com marcador história. Mostrar todas as postagens
Mostrando postagens com marcador história. Mostrar todas as postagens

A história do kernel Linux: do projeto de um estudante ao Linux 7.2

O kernel Linux nasceu como um projeto pessoal, limitado a um tipo específico de computador. Trinta e cinco anos depois, tornou-se a base de servidores, smartphones, supercomputadores, roteadores, automóveis, televisores e infraestruturas de nuvem espalhadas pelo mundo.

Tux, o mascote do Linux, representando a evolução histórica do kernel Linux
Tux tornou-se o mascote do Linux em 1996, quando o kernel já começava a ultrapassar os limites dos computadores pessoais.

Antes do Linux: Unix, GNU e Minix

Para compreender o nascimento do Linux, é necessário voltar aos sistemas Unix, desenvolvidos a partir do final da década de 1960 nos laboratórios Bell. O Unix ajudou a consolidar conceitos que ainda fazem parte dos sistemas operacionais modernos: processos, permissões, arquivos organizados em uma árvore de diretórios, pequenos programas combináveis e uma divisão clara entre o kernel e as ferramentas executadas pelo usuário.

Durante muito tempo, porém, as diferentes versões do Unix estiveram ligadas a universidades ou empresas e eram distribuídas sob licenças restritivas.

Em 1983, Richard Stallman iniciou o Projeto GNU, cujo objetivo era desenvolver um sistema operacional compatível com Unix que pudesse ser usado, estudado, modificado e redistribuído livremente. Diversos componentes fundamentais foram produzidos: compiladores, bibliotecas, interpretadores de comandos, depuradores e utilitários.

Faltava uma peça particularmente complexa: um kernel funcional e suficientemente maduro.

Outro sistema importante para essa história foi o Minix, criado pelo professor Andrew Tanenbaum para fins educacionais. O código do Minix podia ser estudado por alunos interessados em sistemas operacionais, embora sua licença inicial não oferecesse a mesma liberdade que mais tarde seria associada ao Linux.

Foi nesse ambiente que um estudante finlandês chamado Linus Benedict Torvalds começou a trabalhar em seu próprio kernel.

O computador que deu origem ao Linux

No começo de 1991, Linus Torvalds estudava ciência da computação na Universidade de Helsinque. Ele havia comprado um computador equipado com um processador Intel 80386, uma arquitetura que oferecia recursos avançados para a época, como modo protegido, paginação e mecanismos de gerenciamento de memória.

O interesse inicial de Torvalds não era criar uma plataforma mundial nem competir com empresas de software. Ele queria compreender melhor o funcionamento do processador e aproveitar seu novo computador.

Os primeiros experimentos foram relacionados à troca de tarefas e ao acesso ao terminal. Pouco a pouco, o programa cresceu. Linus implementou gerenciamento de memória, processos, acesso a dispositivos e um sistema de arquivos. O que havia começado como um emulador de terminal aproximava-se de um pequeno kernel semelhante ao Unix.

Em julho de 1991, Torvalds já procurava informações sobre as regras POSIX, o conjunto de padrões destinado a manter compatibilidade entre sistemas Unix. Em 25 de agosto daquele ano, publicou uma mensagem no grupo comp.os.minix informando que estava desenvolvendo um sistema operacional livre para computadores 386 e 486.

Na mensagem, apresentou o projeto como um hobby e avisou que ele não seria grande ou profissional como o GNU. A frase tornou-se curiosa porque descrevia justamente o oposto do que aconteceria nas décadas seguintes. As mensagens originais e os comentários de Linus sobre esse período foram preservados em um arquivo histórico sobre o nascimento do Linux.

Linux 0.01: pequeno, limitado e surpreendentemente avançado

A versão 0.01 foi disponibilizada em setembro de 1991. Seu pacote compactado ocupava aproximadamente 71 KB — um tamanho minúsculo quando comparado aos milhões de arquivos e dezenas de milhões de linhas do kernel atual.

O sistema tinha limitações consideráveis:

  • Funcionava apenas em computadores compatíveis com o Intel 386.
  • Dependia do Minix para ser compilado e instalado.
  • Tinha suporte restrito a discos rígidos, teclado, tela e portas seriais.
  • O teclado finlandês estava incorporado ao código.
  • Não possuía comandos completos para montar e desmontar sistemas de arquivos.
  • Não era um sistema adequado para ambientes de produção.
  • Exigia conhecimentos técnicos até mesmo para iniciar.

As notas oficiais do Linux 0.01 deixam claro que aquele software era experimental. Também revelam decisões técnicas relevantes. O kernel utilizava recursos específicos do 386, possuía paginação, segmentação, cópia sob escrita e um sistema de arquivos com capacidade para atender várias tarefas.

A abordagem escolhida era a de um kernel monolítico. Isso significa que componentes como gerenciamento de memória, sistema de arquivos, escalonamento e drivers executavam no espaço privilegiado do kernel.

“Monolítico” não significa necessariamente que o código seja desorganizado ou impossível de ampliar. O Linux evoluiu para uma arquitetura monolítica modular: diversos componentes podem ser separados em módulos e carregados somente quando necessários.

De Freax para Linux

Torvalds teria considerado chamar seu projeto de Freax, uma combinação de “free”, “freak” e a letra X, tradicionalmente associada aos sistemas Unix.

Ari Lemmke, administrador do servidor FTP usado para distribuir os primeiros arquivos, não gostou do nome. Ao criar o diretório público, escolheu “Linux”, combinando Linus e Unix.

O nome permaneceu.

Essa pequena decisão também mostra como o Linux começou a crescer por meio da colaboração. Linus escreveu a base inicial, mas desenvolvedores de diferentes países passaram a testar, corrigir e ampliar o sistema. O correio eletrônico, os grupos de discussão e os servidores FTP funcionaram como a infraestrutura de uma comunidade internacional muito antes da popularização das plataformas modernas de hospedagem de código.

A licença que permitiu o crescimento do projeto

A versão 0.01 não utilizava a licença GNU GPL. Linus havia escrito uma licença própria que permitia a redistribuição do código, mas proibia cobrar pelo software.

Essa restrição apresentava um problema: software livre não significa necessariamente software gratuito. A liberdade de estudar, modificar e redistribuir pode coexistir com a cobrança por cópias, serviços, suporte, integração e manutenção.

Em 1992, o Linux passou a ser distribuído sob a GNU General Public License. A adoção da GPL foi decisiva porque permitiu que pessoas e empresas utilizassem e comercializassem o sistema, desde que respeitassem as obrigações da licença ao distribuir versões modificadas.

O kernel permanece licenciado sob a GPL versão 2. Componentes individuais podem utilizar licenças compatíveis, mas o kernel como conjunto continua sob a GPL-2.0.

Essa escolha jurídica ajudou a criar um espaço incomum: empresas concorrentes poderiam investir em uma infraestrutura comum sem que uma delas tivesse o direito de fechar unilateralmente o código principal.

A discussão entre Linus Torvalds e Andrew Tanenbaum

Uma das primeiras controvérsias do Linux ocorreu em 1992. Andrew Tanenbaum, criador do Minix, criticou publicamente a arquitetura monolítica escolhida por Torvalds.

Tanenbaum defendia os microkernels, nos quais apenas mecanismos essenciais permanecem no núcleo privilegiado. Serviços como drivers e sistemas de arquivos podem ser executados como processos separados. Em teoria, essa divisão melhora o isolamento e reduz os danos provocados por falhas em componentes individuais.

Linus argumentava que sua arquitetura era mais prática e apresentava melhor desempenho no hardware disponível. A discussão também envolveu portabilidade, projeto de sistemas operacionais e a dependência inicial do Linux em relação ao processador 386.

O debate costuma ser recontado como uma disputa simples na qual um lado estava certo e o outro errado. A realidade é mais interessante. Microkernels continuam sendo usados em sistemas nos quais isolamento, verificabilidade e segurança funcional são prioridades. O Linux, por sua vez, demonstrou que um kernel monolítico modular poderia crescer, receber milhares de drivers e funcionar em muitas arquiteturas.

O próprio Linux mudou bastante. Ele deixou de ser rigidamente dependente do 386, ganhou módulos carregáveis, abstrações de hardware, isolamento de processos, namespaces, mecanismos de segurança e suporte a arquiteturas muito diferentes.

Linux 1.0: o projeto experimental torna-se utilizável

O Linux 1.0 foi lançado em 13 de março de 1994. A chegada à versão 1.0 comunicava que o kernel havia atingido um nível razoável de estabilidade e poderia ser usado fora do grupo restrito de pessoas que acompanhavam as versões experimentais.

Entre os recursos desenvolvidos ou amadurecidos durante esse período estavam:

  • Redes TCP/IP.
  • Maior quantidade de drivers.
  • Suporte a SCSI.
  • Integração de recursos de áudio.
  • Melhorias no gerenciamento de memória.
  • Suporte inicial ao formato de executáveis ELF.
  • Sistemas de arquivos mais funcionais.
  • Aprimoramentos no NFS.
  • Suporte a CD-ROM e unidades de fita.
  • Melhorias no escalonador e na criação de processos.

O arquivo oficial de mudanças do Linux 1.0 começa com uma brincadeira sobre a remoção de todos os bugs. O humor já fazia parte da comunicação do projeto, embora a estabilidade de um kernel jamais signifique ausência completa de defeitos.

O Ext2, desenvolvido principalmente por Rémy Card, Theodore Ts’o e Stephen Tweedie, tornou-se uma peça importante dos primeiros sistemas Linux. Ele substituiu sistemas de arquivos mais limitados e permaneceu durante anos como uma escolha comum. Sua estrutura está documentada na documentação oficial do kernel.

Distribuições como Slackware e Debian começaram a transformar o kernel, as ferramentas GNU e outros programas em sistemas instaláveis. Esse ponto é importante: Linux, em sentido técnico, é o kernel. Uma distribuição reúne o kernel, bibliotecas, comandos, instalador, gerenciador de pacotes, ambiente gráfico e aplicações.

Das versões 1.x ao Linux 2.0

O Linux 1.2, lançado em 1995, ampliou o suporte a hardware, redes e sistemas de arquivos. O desenvolvimento também começou a ultrapassar a arquitetura x86, afastando-se da antiga ideia de que o kernel seria inseparável do Intel 386.

Em 1996 chegou o Linux 2.0, um marco para a utilização profissional do sistema. Uma de suas características mais importantes foi o suporte a multiprocessamento simétrico, conhecido como SMP. O kernel passava a trabalhar com máquinas dotadas de mais de um processador.

O suporte a novas arquiteturas também ganhou importância. O Linux começou a aparecer em servidores, estações de trabalho e dispositivos que não se pareciam com o computador pessoal usado por Torvalds em 1991.

Foi durante a era do Linux 2.0 que o pinguim Tux se tornou o mascote do projeto. O desenho original foi criado por Larry Ewing em 1996, usando o programa GIMP. O nome costuma ser interpretado como uma referência a “Torvalds Unix”, embora também lembre a palavra inglesa “tuxedo”, relacionada à aparência de um pinguim.

Linux 2.2: redes, servidores e mais processadores

Lançado em 1999, o Linux 2.2 trouxe avanços no suporte a multiprocessamento, redes, arquiteturas e dispositivos. O kernel tornava-se cada vez mais atraente para servidores de internet e empresas que procuravam uma alternativa aos sistemas Unix comerciais.

A expansão da internet favoreceu o Linux. Servidores web, DNS, correio eletrônico, bancos de dados e compartilhamento de arquivos eram aplicações nas quais estabilidade, automação e acesso ao código tinham grande valor.

O modelo de desenvolvimento também amadurecia. Linus não analisava sozinho cada linha enviada. Mantenedores passaram a cuidar de subsistemas, como redes, armazenamento, arquiteturas, sistemas de arquivos e drivers. Essa estrutura hierárquica permanece fundamental.

Uma alteração normalmente é discutida, revisada e testada dentro de um subsistema. O mantenedor reúne as mudanças consideradas adequadas e as encaminha para os níveis seguintes. A própria documentação sobre envio de patches explica que poucas contribuições são encaminhadas diretamente a Linus Torvalds.

Linux 2.4: USB, desktops, servidores e a participação brasileira

O Linux 2.4 foi lançado em janeiro de 2001. Essa série ampliou o suporte a USB, redes, armazenamento, memória de grande capacidade, multiprocessamento e arquiteturas diferentes. O kernel passou a atender melhor tanto computadores pessoais quanto servidores mais poderosos.

Recursos como Netfilter e iptables fortaleceram sua utilização em roteadores e firewalls. O suporte a dispositivos USB ajudou a aproximar o Linux dos computadores domésticos. Durante a série 2.4, o Ext3 introduziu journaling sobre a base do Ext2, reduzindo o tempo e os riscos da recuperação após desligamentos inesperados.

A história dessa versão possui uma participação brasileira muito importante.

Marcelo Tosatti, o brasileiro responsável pela série estável 2.4

Em novembro de 2001, o gaúcho Marcelo Tosatti tornou-se mantenedor da árvore estável do Linux 2.4. Ele tinha apenas 18 anos.

Tosatti já trabalhava com o kernel na Conectiva, empresa brasileira responsável por uma das primeiras distribuições Linux da América Latina. Alan Cox sugeriu seu nome, e a escolha foi apoiada por Linus Torvalds.

Dizer que Marcelo “desenvolveu o Linux 2.4” seria incorreto. A série já existia e era resultado do trabalho de muitos desenvolvedores. Sua responsabilidade era manter a versão estável: avaliar correções, integrar mudanças seguras, tratar regressões e impedir que novidades arriscadas comprometessem máquinas em produção.

Seu primeiro lançamento como mantenedor foi o Linux 2.4.16, publicado em 26 de novembro de 2001. Uma entrevista com Marcelo Tosatti registra sua escolha e as responsabilidades assumidas.

Esse trabalho tinha um peso enorme. A série 2.4 era usada em servidores, provedores de acesso, equipamentos de rede e sistemas corporativos. Uma correção inadequada poderia afetar milhares de instalações.

A participação de Tosatti também é um capítulo relevante da tecnologia brasileira. A Conectiva não se limitava a traduzir programas. Seus profissionais contribuíam com componentes de baixo nível, empacotamento, internacionalização e desenvolvimento do próprio kernel.

Linux 2.6: a série que pareceu não terminar

O Linux 2.6 foi lançado em dezembro de 2003. Ele representou uma grande modernização na capacidade de escalar, responder rapidamente e atender diferentes categorias de dispositivo.

Entre os destaques da geração 2.6 estavam:

  • Kernel preemptivo, importante para melhorar a resposta do sistema.
  • Novo modelo de dispositivos.
  • Evolução do gerenciamento de energia.
  • Melhor suporte a NUMA e grandes máquinas multiprocessadas.
  • Sysfs e integração com ferramentas como o udev.
  • Novos escalonadores de processos.
  • Expansão do suporte a dispositivos embarcados.
  • Aprimoramentos em segurança, redes e sistemas de arquivos.
  • Virtualização com tecnologias como KVM.
  • Control groups, ou cgroups, essenciais para limitar e organizar recursos.
  • Namespaces, que ajudaram a formar a base dos contêineres modernos.
  • FUSE, permitindo sistemas de arquivos implementados no espaço do usuário.
  • Inotify, usado para monitorar alterações em arquivos e diretórios.

O Linux 2.6 permaneceu como numeração principal durante quase oito anos. Nesse intervalo, o projeto adotou um ciclo mais previsível de desenvolvimento. Em vez de guardar grandes transformações para uma futura versão 2.7, novos recursos passaram a entrar gradualmente em lançamentos regulares.

O escalonador também mudou durante essa longa fase. O Completely Fair Scheduler, ou CFS, entrou no Linux 2.6.23 e substituiu o mecanismo anterior para tarefas comuns. Seu objetivo era aproximar o uso real do processador de uma divisão ideal e justa entre processos. A documentação do CFS descreve esse princípio usando o conceito de tempo de execução virtual.

A controvérsia do BitKeeper e o nascimento do Git

O crescimento do kernel criou um problema de engenharia: como administrar mudanças produzidas por milhares de desenvolvedores?

Em 2002, o projeto começou a usar o BitKeeper, um sistema de controle de versões distribuído, porém proprietário. A escolha gerou críticas dentro da comunidade de software livre. Alguns desenvolvedores consideravam contraditório usar uma ferramenta fechada para construir um dos maiores projetos livres do mundo.

O acesso gratuito oferecido aos desenvolvedores do kernel terminou em 2005, após conflitos envolvendo a engenharia reversa do protocolo do BitKeeper.

Linus Torvalds decidiu criar uma ferramenta própria. Ela deveria ser distribuída, rápida, confiável e capaz de trabalhar com a escala incomum do kernel. O resultado foi o Git.

O Git não nasceu como uma plataforma social ou um serviço de hospedagem. Era um mecanismo para gerenciar objetos, históricos e conjuntos de mudanças de maneira distribuída. Sua criação está diretamente ligada à crise do BitKeeper, conforme relata a história oficial apresentada pelo projeto Git.

A controvérsia terminou produzindo uma das ferramentas mais importantes do desenvolvimento de software moderno.

Linux 3.0: uma mudança de número, não uma reconstrução

O Linux 3.0 foi lançado em julho de 2011, quando o projeto completava vinte anos. A mudança de 2.6.39 para 3.0 não indicava uma ruptura arquitetônica.

Linus considerava a numeração 2.6 longa e pouco prática. O novo número simplificava a identificação das versões e marcava simbolicamente o aniversário do projeto.

Durante a família 3.x, o Linux se fortaleceu em áreas que mudariam a indústria:

  • Android e dispositivos móveis.
  • Computação em nuvem.
  • Virtualização.
  • Contêineres.
  • Arquiteturas ARM.
  • Novos sistemas de arquivos, como Btrfs.
  • Aprimoramentos em cgroups e namespaces.
  • Melhor suporte a gráficos, energia e dispositivos móveis.

O domínio do Linux deixou de estar concentrado em servidores tradicionais. Bilhões de smartphones passaram a executar o kernel por meio do Android, mesmo que muitos usuários não associassem seus aparelhos ao Linux.

Linux 4.0: atualização do kernel em sistemas críticos

O Linux 4.0 chegou em abril de 2015. Assim como a versão 3.0, a troca de numeração não significou que o kernel tivesse sido reescrito.

Um recurso simbólico dessa fase foi a infraestrutura para aplicar determinadas correções ao kernel em execução, base de soluções de live patching. Em ambientes críticos, reiniciar um servidor para cada correção pode ser caro ou operacionalmente difícil. O live patching permite corrigir classes específicas de problemas sem uma reinicialização imediata.

A série 4.x também acompanhou o crescimento de contêineres, plataformas de nuvem, armazenamento flash, redes de alta velocidade, dispositivos ARM e sistemas embarcados.

Tecnologias como eBPF começaram a ultrapassar seu uso original relacionado à filtragem de pacotes. O eBPF evoluiu para uma plataforma capaz de executar programas verificados dentro do kernel, sendo usado em observabilidade, redes, segurança e análise de desempenho.

Linux 5.0: infraestrutura para nuvem, dispositivos e desempenho

Lançado em março de 2019, o Linux 5.0 foi outra alteração numérica motivada principalmente pela conveniência. O kernel continuou seguindo o ciclo regular de integração e estabilização.

Durante a família 5.x, ganharam destaque:

  • io_uring para operações de entrada e saída assíncronas.
  • Expansão do eBPF.
  • WireGuard integrado ao kernel.
  • Melhorias contínuas em AMD, Intel, ARM e RISC-V.
  • Novos drivers para GPUs e aceleradores.
  • Evolução de Ext4, XFS e Btrfs.
  • Aprimoramentos no gerenciamento de energia.
  • Suporte crescente a notebooks, servidores e dispositivos embarcados.
  • Mecanismos usados por plataformas de contêineres e orquestração.

O kernel já não podia ser avaliado apenas pelo desempenho de um computador isolado. Uma alteração aparentemente pequena poderia afetar data centers, redes móveis, clusters de supercomputação, televisores e sistemas industriais.

Linux 6.0: Rust, novas arquiteturas e segurança de memória

O Linux 6.0 foi lançado em outubro de 2022. A mudança de número não representou uma nova arquitetura, mas abriu uma série marcada pela discussão sobre segurança de memória e pela adoção inicial da linguagem Rust.

O suporte inicial à infraestrutura de Rust entrou no Linux 6.1. Isso não significou reescrever o kernel ou abandonar a linguagem C. A intenção era permitir que determinados componentes, sobretudo novos drivers, pudessem aproveitar garantias de segurança oferecidas pela linguagem.

A adoção provocou debates técnicos e culturais. O código em C possui décadas de ferramentas, experiência e convenções. Rust traz um modelo de memória diferente, exige novas abstrações e demanda conhecimento de outra linguagem. Seus defensores apontam a possibilidade de reduzir erros como uso de memória após liberação, acessos inválidos e certas condições de concorrência.

A série 6.x também desenvolveu o sched_ext, uma estrutura que permite implementar políticas de escalonamento extensíveis com auxílio do eBPF. Outras áreas em evolução incluíram io_uring, folios de memória, redes, virtualização confidencial, RISC-V e suporte ao hardware mais recente.

Linux 7.0, 7.1 e 7.2

O Linux 7.0 foi lançado em 12 de abril de 2026. Mais uma vez, não se tratava de uma reconstrução completa. A troca de 6.x para 7.x evitou que a numeração secundária continuasse crescendo indefinidamente.

Segundo o histórico do projeto, os lançamentos 7.0, 7.1 e 7.2 ocorreram com exatamente 63 dias de intervalo: 7.0 em 12 de abril, 7.1 em 14 de junho e 7.2 em 16 de agosto de 2026. A linha do tempo pode ser consultada no Linux Kernel Newbies.

Linux 7.0

Entre as mudanças destacadas no Linux 7.0 estavam:

  • Uma API genérica para informar erros de entrada e saída em arquivos.
  • Monitoramento de integridade para XFS.
  • Melhorias nos filtros do io_uring.
  • Opções voltadas à criação de contêineres com open_tree.
  • Aprimoramentos no mecanismo de swap.
  • Uso padrão de Accurate ECN em redes compatíveis.
  • Trabalho experimental relacionado à árvore de remapeamento do Btrfs.
  • Mecanismos mais seguros para lidar com objetos alocados no kernel.

Esses recursos mostram uma característica do Linux moderno: os avanços raramente cabem em uma única categoria. Um lançamento reúne mudanças em armazenamento, redes, segurança, processadores, drivers, sistemas de arquivos e ferramentas de desenvolvimento.

Linux 7.1

O Linux 7.1 continuou esse processo. Entre seus destaques estavam:

  • Um novo driver para o sistema de arquivos NTFS.
  • Melhorias no swap.
  • Ativação do mecanismo Intel FRED em hardware compatível.
  • Integração entre eBPF e io_uring.
  • Preparação para subescalonadores no sched_ext.
  • Novas opções da chamada clone3.
  • Aprimoramentos para namespaces e criação de contêineres.

A evolução de clone3, namespaces e escalonadores extensíveis é especialmente relevante para data centers. Muitas cargas de trabalho modernas são executadas em contêineres e precisam dividir processadores, memória e dispositivos entre aplicações com perfis muito diferentes.

Linux 7.2

O Linux 7.2 foi lançado em 16 de agosto de 2026 e era a versão principal mais recente na data de elaboração deste artigo. O lançamento pode ser confirmado no arquivo oficial do kernel.

Um de seus destaques é o escalonamento mais consciente da organização dos caches. O kernel pode aproximar tarefas que compartilham dados dentro do mesmo domínio de cache de último nível, reduzindo movimentações desnecessárias e melhorando o aproveitamento do processador em algumas cargas.

O Linux 7.2 também trouxe:

  • Melhorias na recuperação de memória.
  • Uma implementação de swap mais enxuta e eficiente.
  • Suporte a USB4STREAM para transportar fluxos de dados por conexões USB4.
  • Otimizações de desempenho no Btrfs.
  • O novo alvo dm-inlinecrypt para criptografia integrada de dispositivos de bloco.
  • Novas opções relacionadas à família de chamadas openat.
  • Leitura mais rápida de informações em /proc/filesystems e /proc/interrupts.
  • Preparações adicionais para subescalonadores no sched_ext.
  • Atualizações de drivers e suporte a novas gerações de hardware.

A relação detalhada pode ser consultada no resumo técnico do Linux 7.2.

Como um novo kernel é desenvolvido

O kernel atual utiliza um modelo de desenvolvimento contínuo. A versão principal costuma ser lançada a cada nove ou dez semanas.

Após um lançamento, abre-se uma janela de integração de aproximadamente duas semanas. Nesse período, Linus recebe conjuntos de mudanças preparados pelos mantenedores. Encerrada a janela, surgem as versões candidatas, identificadas por -rc1, -rc2 e assim sucessivamente.

As semanas seguintes são voltadas a testes, correções e regressões. Quando a versão é considerada suficientemente estável, ocorre o lançamento oficial. A documentação de versões do kernel explica a divisão entre mainline, stable e longterm.

Isso não significa que todos os usuários devam instalar imediatamente a versão mais recente. Distribuições e empresas costumam manter kernels estáveis ou de longo prazo, aplicando correções de segurança sem incorporar toda novidade disponível na árvore principal.

Quem paga pelo desenvolvimento do Linux?

A imagem romântica de programadores trabalhando apenas nas horas vagas representa parte da origem do Linux, mas não descreve sua realidade industrial.

Muitos desenvolvedores continuam contribuindo de forma independente. Uma parcela significativa das mudanças, porém, é produzida por profissionais pagos por empresas.

Relatórios históricos da Linux Foundation ajudam a dimensionar essa transformação. Em 2011, a fundação estimou que cerca de 75% do desenvolvimento analisado havia sido realizado por profissionais remunerados. Empresas como Red Hat, Intel, IBM, Texas Instruments, Broadcom, Samsung, Oracle e Google apareciam entre as organizações envolvidas. Os números pertencem àquele período e não devem ser apresentados como uma fotografia exata do desenvolvimento atual, mas mostram que a participação empresarial não é recente. Relatório da Linux Foundation de 2011.

Em 2017, outro levantamento contabilizou aproximadamente 15.600 desenvolvedores e mais de 1.400 empresas desde o início do acompanhamento por Git. Intel, Red Hat, Linaro, IBM, Samsung, SUSE, Google, AMD, Renesas e Mellanox estavam entre as principais organizações patrocinadoras de contribuições naquele relatório. Relatório da Linux Foundation de 2017.

O investimento empresarial acontece de várias formas:

  • Salários de engenheiros que trabalham no kernel.
  • Laboratórios de teste e integração contínua.
  • Desenvolvimento de drivers.
  • Correções de segurança.
  • Manutenção de versões de longo prazo.
  • Documentação e revisão de código.
  • Disponibilização antecipada de hardware.
  • Patrocínio de conferências e infraestrutura.
  • Trabalho em compiladores e ferramentas de diagnóstico.

Essas empresas não investem apenas por simpatia ao software livre. Fabricantes precisam que seus processadores, GPUs, controladores e dispositivos funcionem bem. Provedores de nuvem querem melhor desempenho por servidor. Empresas de telecomunicações dependem de redes rápidas e previsíveis. Fabricantes de automóveis e eletrônicos precisam de um kernel adaptável e mantido por muitos anos.

A participação empresarial cria tensões. Cada organização possui interesses próprios, e determinadas mudanças podem favorecer um fabricante ou uma categoria de produto. O processo de revisão pública, a autoridade dos mantenedores e a licença GPL ajudam a impedir que uma única companhia transforme a árvore principal em produto exclusivo.

Linus Torvalds, poder técnico e comportamento controverso

Linus Torvalds é reconhecido por sua competência técnica e por sua capacidade de coordenar um projeto gigantesco. Sua forma de comunicação, porém, tornou-se uma das maiores controvérsias da história do kernel.

Durante anos, Linus publicou respostas agressivas, insultos e críticas pessoais em listas de discussão. Seus defensores argumentavam que o kernel exige padrões elevados e que críticas diretas evitam a integração de código ruim. O problema é que rigor técnico e humilhação pessoal não são a mesma coisa.

Em setembro de 2018, Torvalds reconheceu que seu comportamento havia prejudicado pessoas e anunciou uma pausa para buscar ajuda. O episódio acompanhou a adoção de um Código de Conduta mais explícito.

O Código de Conduta do kernel Linux passou a estabelecer regras contra insultos, ataques pessoais, assédio e outras formas de comportamento inadequado.

A mudança gerou resistência em parte da comunidade. Alguns temiam que as novas normas fossem usadas para controlar discussões técnicas. Outros afirmavam que um ambiente incapaz de distinguir análise de código e agressão pessoal afastava desenvolvedores qualificados.

A pausa de Linus não apagou os episódios anteriores, mas marcou uma mudança importante: o próprio criador do projeto admitiu que a autoridade técnica não justifica qualquer forma de tratamento.

GPLv2, GPLv3 e os limites da abertura

Outra disputa importante envolve a licença do kernel. Quando a GPLv3 foi publicada, surgiram discussões sobre uma possível migração.

Linus Torvalds se opôs à mudança. Uma das divergências estava relacionada às cláusulas da GPLv3 contra a chamada “tivoização”, situação em que um fabricante distribui software livre em um dispositivo, mas utiliza mecanismos técnicos para impedir a execução de versões modificadas pelo usuário.

O kernel continua sob GPLv2. Uma mudança completa também seria juridicamente muito difícil, porque o código possui contribuições protegidas por direitos autorais de milhares de pessoas e organizações.

A discussão revelou uma diferença filosófica. Para alguns integrantes do movimento de software livre, a liberdade do usuário inclui a possibilidade prática de executar uma versão modificada. Para Torvalds, a GPLv2 oferecia um equilíbrio mais adequado entre colaboração, disponibilidade do código e liberdade dos fabricantes para construir produtos.

Drivers proprietários e a relação difícil com fabricantes

O suporte a hardware também produziu conflitos. Durante muitos anos, empresas divulgaram poucos detalhes sobre seus dispositivos ou ofereceram apenas drivers proprietários.

Essa situação cria problemas para o kernel. Um módulo fechado pode deixar de funcionar após mudanças internas, impedir auditoria, dificultar correções de segurança e tornar a investigação de falhas mais complexa.

Linus protagonizou declarações bastante agressivas contra fabricantes que dificultavam o suporte ao Linux. O episódio mais famoso envolveu a NVIDIA em 2012. Embora tenha chamado atenção para um problema real de cooperação técnica, a forma usada por Torvalds também reforçou sua reputação de comunicação hostil.

A relação com fabricantes de hardware melhorou em muitas áreas. Existem drivers abertos para diferentes GPUs, processadores e aceleradores, mas a tensão entre código proprietário, firmware fechado, documentação restrita e desenvolvimento comunitário ainda não desapareceu.

O kernel que quase ninguém vê, mas quase todos utilizam

Um usuário pode passar anos usando Linux sem instalar uma distribuição em seu computador pessoal.

O kernel está presente no Android, em servidores web, roteadores domésticos, televisores, equipamentos industriais, sistemas de entretenimento automotivo, plataformas de nuvem e supercomputadores. Ele aparece em placas minúsculas e em máquinas com milhares de processadores.

Sua força não está apenas no fato de ser gratuito. O Linux reúne quatro características difíceis de combinar:

  • Código-fonte disponível.
  • Grande diversidade de arquiteturas e dispositivos.
  • Processo contínuo de revisão.
  • Investimento de empresas que competem entre si.

Também existem fragilidades. O código acumulado durante décadas é complexo. Mantenedores experientes podem ficar sobrecarregados. Novos desenvolvedores precisam compreender regras técnicas e sociais pouco óbvias. Empresas nem sempre mantêm por tempo suficiente os componentes que introduzem. A pressão por suporte rápido ao novo hardware pode entrar em conflito com estabilidade e qualidade.

O significado do Linux 7.2

Chegar ao Linux 7.2 não significa que o projeto esteja pronto ou próximo de uma forma definitiva. Um kernel nunca fica completo porque o hardware, as ameaças de segurança e as aplicações continuam mudando.

A versão 0.01 precisava do Minix para ser instalada, reconhecia poucos dispositivos e trazia um teclado finlandês incorporado ao código. A versão 7.2 precisa coordenar processadores com arquiteturas híbridas, caches complexos, aceleradores, máquinas virtuais, contêineres, armazenamento criptografado, redes de alta velocidade e cargas de inteligência artificial.

Existe uma continuidade entre esses dois extremos. O projeto ainda é desenvolvido por meio de código compartilhado, revisão técnica e discussões públicas. Linus Torvalds continua ocupando uma posição central, mas o Linux já não pode ser compreendido como a obra de uma única pessoa.

Sua história é a história de uma comunidade que aprendeu a lidar com crescimento, empresas, conflitos, licenças, egos, segurança e mudanças constantes de hardware. É justamente essa combinação imperfeita que transformou o antigo hobby de um estudante em uma das infraestruturas mais importantes da computação moderna.

COBOL: a linguagem de 1959 que ainda movimenta bancos, governos e grandes empresas

Quando uma transferência bancária é processada, uma folha de pagamento é calculada ou uma apólice de seguro é atualizada, existe uma possibilidade real de que alguma etapa dessa operação passe por um programa escrito em COBOL. A linguagem nasceu antes da internet, dos computadores pessoais e dos bancos de dados relacionais, mas continua presente em sistemas que não podem simplesmente parar para serem reconstruídos.

Representação de um sistema COBOL conectado a mainframe, banco de dados, aplicações web, APIs e serviços em nuvem
O COBOL raramente trabalha sozinho: ele faz parte de um ecossistema que reúne mainframes, bancos de dados, processamento em lote, mensageria, APIs e aplicações modernas.

Essa longevidade costuma produzir duas interpretações opostas. Para alguns, o COBOL é uma relíquia que deveria ter desaparecido há décadas. Para outros, é uma tecnologia tão confiável que não existe motivo para substituí-la. As duas visões simplificam um problema muito mais interessante.

O COBOL não continua em uso apenas porque empresas resistem à mudança. Ele permanece porque décadas de regras comerciais, cálculos financeiros, exceções operacionais e exigências regulatórias foram incorporadas aos programas. Em muitos casos, o código representa uma parte da memória institucional da organização.

O que é COBOL?

COBOL é a sigla para Common Business-Oriented Language, ou Linguagem Comum Orientada a Negócios. Trata-se de uma linguagem compilada de alto nível, criada especificamente para aplicações administrativas e processamento de dados empresariais.

Seu objetivo nunca foi controlar foguetes, desenvolver jogos ou realizar cálculos científicos avançados. O COBOL foi pensado para tarefas como:

  • processar folhas de pagamento;
  • calcular juros e parcelas;
  • atualizar saldos;
  • emitir faturas;
  • consolidar movimentações financeiras;
  • administrar apólices de seguro;
  • controlar estoques;
  • gerar relatórios;
  • processar grandes arquivos de registros;
  • validar operações segundo regras de negócio.

Uma de suas características mais conhecidas é a sintaxe relativamente próxima do inglês. Um programa simples pode conter instruções como MOVE, ADD, SUBTRACT, COMPUTE, READ, WRITE, PERFORM e DISPLAY.

Um exemplo básico seria:

       IDENTIFICATION DIVISION.
       PROGRAM-ID. CALCULA-SALDO.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 SALDO-ATUAL    PIC S9(9)V99 COMP-3.
       01 VALOR-DEPOSITO PIC S9(9)V99 COMP-3.

       PROCEDURE DIVISION.
           ADD VALOR-DEPOSITO TO SALDO-ATUAL
           DISPLAY "NOVO SALDO: " SALDO-ATUAL
           STOP RUN.

A aparência pode parecer incomum para quem começou a programar em Python, JavaScript ou Java. Ainda assim, o propósito do código é razoavelmente legível: adicionar o valor de um depósito ao saldo atual.

A linguagem também se destaca pelo tratamento de números decimais de ponto fixo. Isso é importante em sistemas financeiros, nos quais erros de arredondamento podem produzir diferenças contábeis. A IBM descreve o COBOL como especialmente adequado ao processamento confiável e volumoso de dados comerciais, incluindo arquivos sequenciais, indexados e relativos.

Uma linguagem criada para resolver a fragmentação

No final da década de 1950, os computadores eram equipamentos grandes, caros e profundamente incompatíveis entre si. Cada fabricante possuía arquiteturas, sistemas e linguagens próprias. Um programa desenvolvido para uma máquina geralmente precisava ser reescrito para funcionar em outra.

Essa dependência preocupava governos e grandes empresas. Trocar de fornecedor não significava apenas comprar um computador novo: podia exigir a reconstrução de todo o conjunto de programas administrativos.

Em 1959, representantes do governo dos Estados Unidos, fabricantes de computadores e grandes organizações formaram o Conference on Data Systems Languages, conhecido como CODASYL. O grupo buscava criar uma linguagem comum, voltada ao processamento de dados comerciais e menos dependente de um fabricante específico.

Grace Hopper teve influência decisiva nesse processo por meio de seu trabalho com compiladores e com o FLOW-MATIC, uma linguagem que permitia descrever operações comerciais com instruções semelhantes ao inglês. É impreciso, porém, afirmar que Hopper criou o COBOL sozinha. A linguagem foi resultado do trabalho coletivo de comitês técnicos, instituições públicas e empresas.

A primeira especificação foi apresentada em 1960. O COBOL recebeu revisões sucessivas e foi padronizado pelo ANSI em 1968. Vieram depois versões como COBOL-74, COBOL-85, COBOL 2002, COBOL 2014 e COBOL 2023. A atual norma publicada é a ISO/IEC 1989:2023, que define a sintaxe e a semântica da linguagem e busca preservar seu grau de independência entre diferentes sistemas de processamento.

O fato de existir uma especificação publicada em 2023 — e de uma nova revisão estar em desenvolvimento — mostra que o COBOL não é apenas um artefato histórico congelado em 1959.

A importância dos mainframes

Embora possa ser executado em outros ambientes, o COBOL tornou-se fortemente associado aos mainframes. Esses computadores foram construídos para processar grandes volumes de dados com disponibilidade, segurança, controle de acesso e previsibilidade operacional.

A família IBM System/360, apresentada em 1964, teve papel importante nessa expansão. A proposta de uma arquitetura compatível entre diferentes modelos permitia que empresas ampliassem sua capacidade de processamento sem abandonar todo o software já desenvolvido.

O mainframe transformou-se na base de sistemas bancários, seguradoras, empresas aéreas, governos, indústrias, redes varejistas e grandes processadores de pagamentos. O COBOL encontrou nesse ambiente um espaço ideal: processamento de arquivos extensos, cálculos comerciais, tarefas repetitivas e milhões de transações que exigiam consistência.

Ainda hoje, organizações brasileiras mantêm operações importantes em mainframes. Um caso documentado é o do Banco do Brasil, que utiliza tecnologias Db2 for z/OS e IBM Z para disponibilizar dados corporativos e sustentar consultas realizadas por milhares de painéis internos. O Banco de Brasília também mantém uma infraestrutura baseada em IBM Z, z/OS, CICS e Db2.

Esses exemplos não significam que todo o sistema esteja escrito em COBOL. Eles demonstram que a plataforma na qual muitas aplicações COBOL tradicionalmente operam continua presente em instituições brasileiras relevantes.

COBOL nunca foi uma tecnologia isolada

É comum imaginar um programador escrevendo COBOL em uma tela preta e controlando sozinho todo o sistema. Na prática, aplicações corporativas são formadas por várias tecnologias interdependentes.

Aprender a sintaxe do COBOL é apenas a primeira parte. Para compreender uma aplicação real, o profissional normalmente precisa conhecer componentes de execução, armazenamento, segurança, comunicação e automação.

JCL e o processamento em lote

O Job Control Language, ou JCL, é usado no ambiente z/OS para descrever trabalhos que serão executados pelo computador.

O JCL não substitui o COBOL. Sua função é informar ao sistema qual programa executar, quais arquivos serão utilizados, onde os resultados deverão ser gravados, quais recursos serão necessários e o que fazer em determinadas condições.

Imagine o fechamento noturno de um banco. Um conjunto de tarefas pode precisar:

  1. receber os movimentos realizados durante o dia;
  2. validar os registros;
  3. calcular juros;
  4. atualizar saldos;
  5. gerar arquivos contábeis;
  6. produzir relatórios;
  7. arquivar os resultados;
  8. liberar o próximo ciclo de processamento.

Os programas responsáveis pelos cálculos podem estar em COBOL. O JCL organiza e inicia sua execução.

Esse processamento em lote continua relevante porque permite tratar enormes quantidades de dados de maneira planejada e controlada. Para quem está acostumado apenas a APIs e aplicações web, entender uma janela de processamento noturno exige uma mudança de perspectiva.

VSAM e os arquivos corporativos

Antes de bancos de dados relacionais se tornarem comuns, muitas aplicações armazenavam informações em arquivos. No ecossistema IBM, o VSAM tornou-se uma tecnologia importante para organizar e acessar conjuntos de dados sequenciais ou indexados.

Sistemas COBOL podem ler, alterar e gravar registros VSAM. É possível localizar uma conta por uma chave, percorrer registros em sequência ou produzir um novo arquivo a partir do processamento de outro.

Mesmo quando uma organização adota bancos de dados modernos, arquivos VSAM podem continuar presentes em partes da operação. A migração exige entender formatos de registros, chaves, dependências, programas consumidores e procedimentos de recuperação.

CICS e as transações on-line

O COBOL começou muito ligado ao processamento em lote, mas as empresas também precisavam executar operações interativas. Surgiu então a necessidade de controlar milhares de transações simultâneas realizadas por terminais, caixas eletrônicos e sistemas corporativos.

O CICS tornou-se uma das principais soluções para isso. Ele funciona como um servidor de aplicações transacionais, administrando execução, segurança, comunicação e acesso a recursos.

Um programa COBOL executado sob CICS pode consultar um cliente, registrar um pagamento, autorizar uma operação ou atualizar um cadastro. O usuário não precisa saber que existe COBOL atrás da interface.

O CICS Transaction Server atual não está restrito a terminais antigos. Ele oferece integração com aplicações de diferentes linguagens, observabilidade, APIs, automação e ferramentas de desenvolvimento modernas.

IMS: banco de dados e gerenciador de transações

O IMS, sigla de Information Management System, é outra tecnologia histórica encontrada em grandes ambientes corporativos. Ele reúne um banco de dados hierárquico e um gerenciador de transações.

Aplicações COBOL podem utilizar o IMS para consultar e atualizar estruturas de dados extremamente importantes. Em algumas organizações, essas bases carregam décadas de informações e continuam atendendo operações críticas.

O IMS permanece em evolução, com integração a Java, APIs REST, automação por Ansible e ferramentas voltadas à nuvem híbrida. A tecnologia é antiga, mas seu ambiente atual não corresponde necessariamente ao que existia nas décadas de 1970 ou 1980.

Db2 e o SQL embutido

Com a expansão dos bancos de dados relacionais, o Db2 passou a complementar muitas soluções COBOL. O programa pode conter comandos SQL embutidos para consultar, incluir, alterar ou excluir registros.

Isso aproximou o COBOL de um modelo de desenvolvimento ainda familiar: a aplicação executa regras de negócio enquanto o sistema de banco de dados organiza os dados, os índices, os bloqueios e as transações.

Conhecer SQL é, assim, uma habilidade valiosa para quem deseja trabalhar com COBOL corporativo. Em determinados projetos, entender o plano de acesso de uma consulta ou o impacto de um índice pode ser mais importante do que memorizar comandos da linguagem.

Mensageria, integração e sistemas distribuídos

À medida que novas plataformas foram surgindo, as aplicações COBOL precisaram conversar com sistemas Unix, Windows, Java, aplicações móveis, sites e serviços hospedados em nuvem.

Tecnologias de mensageria, como IBM MQ, passaram a transportar eventos e solicitações entre ambientes. Uma aplicação pode publicar uma mensagem que será processada por outro sistema, sem exigir que ambos estejam disponíveis exatamente no mesmo instante.

Gateways e plataformas de integração permitem que programas existentes sejam acessados por aplicações Java, .NET e outras linguagens. O CICS Transaction Gateway, por exemplo, conecta aplicações de diferentes plataformas aos serviços executados no CICS.

APIs REST e ferramentas como z/OS Connect levaram essa integração adiante. Uma aplicação de celular pode chamar uma API moderna que, internamente, aciona uma transação CICS escrita em COBOL. Para o usuário, tudo parece parte de uma única experiência digital.

O que realmente significa “tecnologia legada”?

O termo “legado” é frequentemente empregado como sinônimo de velho, ruim ou ultrapassado. Essa associação nem sempre é justa.

Um sistema legado é, antes de tudo, um sistema herdado. Ele foi construído em outro contexto tecnológico, mas continua necessário para o funcionamento da organização.

Existem sistemas COBOL bem estruturados, documentados e mantidos. Também existem sistemas Java recentes repletos de dependências problemáticas e decisões difíceis de corrigir. A idade da linguagem não determina, sozinha, a qualidade do software.

O problema surge quando uma aplicação acumula características como:

  • documentação incompleta;
  • regras de negócio conhecidas por poucas pessoas;
  • dependências que não foram mapeadas;
  • bibliotecas sem código-fonte;
  • compiladores muito antigos;
  • rotinas duplicadas;
  • ausência de testes automatizados;
  • processos manuais de implantação;
  • estruturas de dados difíceis de interpretar;
  • integrações sem responsáveis definidos.

Um programa com milhares de linhas pode incluir regras criadas após auditorias, mudanças tributárias, incorporações empresariais e exceções negociadas com clientes. Reescrever o código sem compreender esse histórico pode eliminar comportamentos aparentemente estranhos, mas essenciais.

Por isso, o maior valor de certas aplicações não está na sintaxe do COBOL. Está no conhecimento operacional codificado ao longo de décadas.

Por que não reescrever tudo?

A ideia de substituir uma aplicação COBOL por Java, C# ou outra linguagem parece simples em uma apresentação. A execução costuma ser bem mais delicada.

Uma reescrita integral precisa reproduzir o comportamento do sistema antigo, incluindo casos raros, arredondamentos, formatos de arquivos, rotinas de fechamento, integrações e procedimentos de recuperação.

Também existem particularidades como:

  • dados em EBCDIC;
  • campos numéricos em formato compactado;
  • copybooks compartilhados por muitos programas;
  • chamadas entre módulos;
  • processamento orientado a registros;
  • arquivos de largura fixa;
  • dependências entre tarefas em lote;
  • códigos de retorno usados para controlar cadeias de execução;
  • atualizações coordenadas entre COBOL, CICS, Db2, IMS e VSAM.

Converter a sintaxe não garante equivalência funcional. Uma tradução pode compilar corretamente e ainda produzir resultados diferentes em situações contábeis específicas.

A modernização responsável começa pelo inventário: quais programas existem, quem os chama, quais dados utilizam, quais regras executam e quais processos dependem deles. A própria IBM alerta que uma estratégia baseada somente na tradução do COBOL ignora a arquitetura de dados, a plataforma de execução e a integridade transacional do sistema.

A dificuldade de aprender COBOL no Brasil

A sintaxe básica do COBOL não é o maior obstáculo para novos profissionais. Com dedicação, alguém que já conhece lógica de programação pode aprender suas divisões, tipos de dados, estruturas condicionais, arquivos e subprogramas.

A dificuldade está em adquirir experiência semelhante à exigida por ambientes de produção.

Pouco espaço nas formações tradicionais

Cursos superiores e técnicos no Brasil costumam concentrar seus programas em Java, Python, JavaScript, desenvolvimento web, bancos de dados relacionais e computação em nuvem. Essa escolha é compreensível, pois essas tecnologias atendem um mercado amplo e são fáceis de praticar em computadores pessoais.

COBOL, JCL, CICS, IMS, RACF, VSAM e z/OS raramente aparecem juntos em uma graduação. Quando aparecem, muitas vezes são apresentados de maneira histórica, sem acesso a um ambiente real.

O estudante termina conhecendo a existência do COBOL, mas não necessariamente sabe compilar um programa no z/OS, submeter um job, analisar um abend, navegar por conjuntos de dados ou investigar uma transação CICS.

Acesso limitado ao ambiente completo

É possível instalar um compilador COBOL no Linux ou no Windows. Isso permite aprender a linguagem, criar programas e processar arquivos locais.

Reproduzir todo o ambiente corporativo é outra história. Um mainframe de produção envolve sistema operacional, segurança, catálogos, filas, bancos de dados, monitores transacionais, agendadores, ferramentas de desenvolvimento e padrões específicos de cada empresa.

O acesso a esses ambientes é controlado por razões óbvias. Eles armazenam informações financeiras, pessoais e comerciais. Dessa forma, boa parte do conhecimento mais valorizado é adquirida no emprego, em programas de formação interna ou em laboratórios especializados.

Forma-se um paradoxo: algumas vagas pedem experiência prática, mas o candidato só consegue essa experiência depois de entrar em uma organização que opere a plataforma.

O ecossistema é maior do que a linguagem

Uma pessoa pode escrever um programa COBOL correto e ainda não estar pronta para investigar um incidente em produção.

O trabalho pode exigir leitura de JCL, análise de códigos de retorno, conhecimento de Db2, controle de transações CICS, interpretação de arquivos VSAM, uso de TSO/ISPF, entendimento de copybooks, ferramentas de versionamento e regras internas de implantação.

Também é necessário conhecer o negócio. Um desenvolvedor que atua em sistemas bancários precisa compreender conceitos financeiros. Em seguros, precisa conhecer apólices, prêmios, sinistros e vigências. Em sistemas públicos, pode precisar interpretar normas e processos administrativos.

É justamente a combinação entre tecnologia e domínio de negócio que torna profissionais experientes difíceis de substituir.

Documentação e comunidades menores

Há muito menos conteúdo recente em português sobre COBOL e mainframe do que sobre desenvolvimento web. Vários materiais técnicos estão em inglês, e parte da documentação pressupõe acesso a produtos ou ambientes específicos.

As comunidades são menores e boa parte do código corporativo não pode ser publicada em repositórios públicos. Um desenvolvedor JavaScript encontra milhares de projetos completos para estudar. Já uma aplicação COBOL bancária real dificilmente estará disponível no GitHub, pois contém regras proprietárias e estruturas sensíveis.

Isso reduz a visibilidade do ecossistema e cria a impressão de que não existe trabalho. Na verdade, muitas oportunidades circulam em nichos formados por bancos, seguradoras, processadoras, empresas de serviços de tecnologia e consultorias.

Como começar a estudar COBOL hoje

Embora o acesso profissional continue sendo um desafio, o caminho de entrada melhorou consideravelmente.

Uma possibilidade é iniciar com GnuCOBOL em um computador pessoal. O compilador permite estudar estruturas de dados, arquivos, cálculos, subprogramas e diferentes dialetos sem depender imediatamente de um mainframe.

O Open Mainframe Project mantém um curso aberto de programação COBOL, com materiais que vão dos primeiros passos a tópicos avançados e testes. O projeto também apresenta ferramentas modernas de edição, integração com VS Code, Zowe, automação e pipelines de integração contínua.

Outra alternativa é o IBM Z Xplore, plataforma gratuita e baseada em desafios. Ela oferece contato prático com COBOL, JCL, VSAM, Db2, REXX, Linux e outros componentes do ecossistema IBM Z.

Uma trilha sensata pode seguir esta ordem:

  1. lógica de programação e estruturas de dados;
  2. sintaxe básica do COBOL;
  3. processamento sequencial de arquivos;
  4. tabelas, subprogramas e copybooks;
  5. JCL e execução de tarefas em lote;
  6. TSO, ISPF e organização de conjuntos de dados;
  7. VSAM;
  8. SQL e Db2;
  9. conceitos de CICS;
  10. depuração e análise de falhas;
  11. controle de versão, testes e automação;
  12. APIs e integração com aplicações modernas.

Projetos próprios ajudam a transformar o estudo em evidência prática. Um pequeno sistema de contas, uma folha de pagamento simulada ou um processador de arquivos de vendas pode demonstrar domínio da linguagem. O ideal é incluir testes, documentação, JCL de exemplo e uma descrição clara das regras implementadas.

Ainda assim, é preciso honestidade: um laboratório pessoal não equivale à experiência de sustentar um sistema crítico em produção. Ele serve como porta de entrada, não como substituto integral.

Como o COBOL ainda é usado

O COBOL permanece adequado a operações que reúnem grande volume, regras estáveis, cálculos comerciais e necessidade rigorosa de consistência.

Entre os usos mais comuns estão:

  • sistemas bancários centrais;
  • processamento de cartões;
  • liquidação de pagamentos;
  • folhas de pagamento;
  • faturamento;
  • previdência;
  • seguros;
  • cobrança;
  • sistemas tributários;
  • reservas e emissão de passagens;
  • gestão de grandes cadastros;
  • processamento de lotes financeiros;
  • relatórios regulatórios.

Isso não significa que o cliente interaja diretamente com uma “tela COBOL”. O aplicativo móvel pode ser desenvolvido em Swift ou Kotlin, o portal pode usar React e os serviços intermediários podem estar em Java, Go ou .NET. No centro da operação, uma transação COBOL pode validar e registrar a movimentação.

A arquitetura moderna frequentemente se parece com uma composição de camadas. O COBOL preserva a lógica central, enquanto APIs, mensageria e microsserviços oferecem novas formas de acesso.

Modernizar não é apenas migrar

Existem várias estratégias possíveis para uma aplicação COBOL:

  • manter o sistema e atualizar compiladores;
  • melhorar documentação e cobertura de testes;
  • otimizar programas sem alterar sua lógica;
  • expor funções existentes por meio de APIs;
  • substituir interfaces antigas;
  • integrar eventos e mensageria;
  • mover partes específicas para outra plataforma;
  • modularizar programas monolíticos;
  • converter somente serviços selecionados;
  • reescrever completamente uma aplicação;
  • aposentar sistemas que perderam sua função.

A melhor escolha depende do risco, do custo, da qualidade do código, da disponibilidade de profissionais e do valor comercial da aplicação.

Uma reescrita total pode ser adequada para um sistema pequeno e bem compreendido. Em uma aplicação central com milhões de transações e dependências acumuladas, a evolução incremental tende a oferecer maior controle.

Ambientes COBOL também estão incorporando Git, VS Code, pipelines de CI/CD, análise estática, testes automatizados, APIs e observabilidade. A existência de código antigo não obriga a equipe a utilizar processos antigos.

Inteligência artificial e compreensão de sistemas legados

Ferramentas de inteligência artificial começam a ser usadas para explicar programas, mapear dependências, produzir documentação, sugerir testes e auxiliar na refatoração.

O watsonx Code Assistant for Z, por exemplo, oferece recursos de descoberta de aplicações, explicação de código, geração de COBOL, refatoração modular e transformação assistida para Java.

Essas ferramentas podem reduzir o tempo necessário para navegar por grandes bases de código. Elas não eliminam a necessidade de especialistas.

Nomes de campos abreviados, regras não documentadas e comportamentos históricos exigem contexto organizacional. Uma inteligência artificial pode interpretar a estrutura do programa, mas não necessariamente sabe por que uma determinada exceção foi criada vinte anos atrás.

O uso seguro exige testes de regressão, validação de resultados, revisão humana e participação das áreas de negócio. Em aplicações financeiras e governamentais, “parece equivalente” não é um critério suficiente.

O futuro do COBOL

É improvável que o COBOL volte a ocupar posição central nos cursos de programação ou se transforme em uma linguagem popular entre iniciantes. Também é improvável que desapareça rapidamente.

Seu futuro deve ser marcado por uma redução gradual de alguns sistemas, combinada à modernização e manutenção de outros. Certas aplicações serão reescritas. Outras permanecerão em COBOL, mas ganharão APIs, monitoramento, automação, interfaces modernas e integração com ambientes distribuídos.

O padrão publicado em 2023, os compiladores atualizados, os projetos de código aberto e as ferramentas contemporâneas de desenvolvimento mostram que a linguagem ainda evolui. O próprio mercado de mainframe busca renovar profissionais: a IBM anunciou em 2024 um Mainframe Skills Council e programas de formação voltados a desenvolvedores, administradores e arquitetos de modernização.

Para o profissional brasileiro, COBOL provavelmente continuará sendo uma especialização. A quantidade de vagas pode ser menor do que em Java ou JavaScript, mas o conhecimento exigido também é mais raro. O perfil mais valorizado não será o de quem conhece somente a sintaxe da linguagem, e sim o de quem consegue compreender sistemas inteiros.

Esse profissional precisará transitar entre dois mundos: COBOL e APIs, lote e tempo real, ISPF e VS Code, arquivos tradicionais e bancos relacionais, mainframe e nuvem, regras escritas há décadas e novos produtos digitais.

A linguagem criada em 1959 não sobreviveu porque o tempo parou. Ela sobreviveu porque as organizações continuaram operando, acumulando regras e construindo novas camadas ao redor de sistemas que já funcionavam.

Compreender COBOL é também compreender que a história da computação não é feita apenas de substituições. Muitas vezes, ela avança por integração, adaptação e convivência entre tecnologias de épocas diferentes.

Nokia: da fábrica de papel ao domínio dos telefones celulares

Muito antes de o nome Nokia aparecer na tela de um telefone celular, ele estava associado a papel, madeira, borracha, cabos elétricos e geração de energia. A empresa atravessou diferentes revoluções industriais até se transformar em uma das marcas tecnológicas mais reconhecidas do planeta.

Antigo logotipo da Nokia com um peixe, utilizado durante a fase industrial da empresa
Um dos primeiros emblemas associados à Nokia trazia a figura de um peixe, referência ao rio Nokianvirta e às origens industriais da empresa na Finlândia.

Para quem viveu as décadas de 1990 e 2000, a palavra Nokia quase sempre desperta a mesma lembrança: um telefone compacto, resistente, com bateria removível e um teclado físico que permitia escrever mensagens sem olhar para a tela. Em muitos lugares, a marca se tornou praticamente sinônimo de telefone celular.

Só que essa é apenas uma parte de uma história iniciada no século XIX, antes mesmo de a Finlândia existir como país independente.

A Nokia nasceu antes da própria Finlândia

A origem da Nokia remonta a 12 de maio de 1865, quando o engenheiro de minas finlandês Fredrik Idestam recebeu autorização para instalar uma fábrica de pasta de madeira às margens das corredeiras de Tammerkoski, na cidade de Tampere.

Naquele período, a região fazia parte do Grão-Ducado da Finlândia, território autônomo ligado ao Império Russo. A independência finlandesa só seria declarada em 1917. Isso significa que a empresa que viria a se tornar a Nokia é mais antiga que o próprio Estado finlandês moderno.

A primeira fábrica não ficava propriamente na cidade de Nokia, como algumas versões resumidas da história afirmam. Ela foi construída em Tampere. Em 1868, Idestam instalou uma segunda unidade perto da pequena cidade de Nokia, cerca de 15 quilômetros a oeste, onde o rio Nokianvirta oferecia melhores condições para o aproveitamento da energia hidráulica.

Em 1871, Idestam e o político e empresário Leo Mechelin organizaram formalmente o negócio como uma companhia chamada Nokia Ab — “Ab” era a abreviação sueca de Aktiebolag, equivalente a uma sociedade por ações. A empresa recebeu o nome da localidade onde estava sua segunda fábrica, cuja identidade também estava ligada ao rio Nokianvirta.

Os primeiros emblemas da Nokia não tinham as letras azuis que se tornariam famosas um século depois. Um deles mostrava um peixe, geralmente interpretado como uma referência ao salmão ou a outro peixe encontrado no rio. O desenho carregava o nome da empresa em finlandês e sueco, acompanhando a realidade linguística da região.

Não era ainda uma marca de tecnologia. Era uma empresa de papel e processamento de madeira.

Papel, borracha e cabos não eram inicialmente a mesma empresa

A trajetória industrial da Nokia costuma ser resumida como se a companhia tivesse decidido, sozinha, começar a fabricar papel, depois botas de borracha, cabos, televisores e telefones. A história real foi um pouco mais complicada.

A Nokia Ab começou ligada à produção de celulose e papel. Com o tempo, também passou a atuar na geração de eletricidade. Outras duas empresas finlandesas tiveram participação decisiva na formação do grupo que conheceríamos mais tarde: a Finnish Rubber Works, fundada em 1898, e a Finnish Cable Works, criada em 1912.

A Finnish Rubber Works produzia botas, pneus, mangueiras e vários artigos de borracha. A Finnish Cable Works fabricava cabos para redes de eletricidade, telégrafo e telefone. Eram empresas juridicamente separadas, embora seus negócios e proprietários tenham se aproximado ao longo do século XX.

Depois da Primeira Guerra Mundial, a Nokia Ab enfrentou dificuldades financeiras. A Finnish Rubber Works adquiriu participação na empresa, interessada principalmente em garantir energia para suas operações. Mais tarde, também assumiu o controle da Finnish Cable Works.

As três companhias mantiveram estruturas formais distintas durante décadas. A fusão definitiva ocorreu apenas em 1967, quando Nokia Ab, Finnish Rubber Works e Finnish Cable Works deram origem à moderna Nokia Corporation.

Esse detalhe muda um pouco a narrativa. A Nokia não passou linearmente de uma fábrica de papel para uma indústria de borracha e, depois, para uma fabricante de eletrônicos. O que aconteceu foi a formação gradual de um conglomerado industrial, reunindo negócios diferentes sob uma mesma organização.

Era uma Nokia muito diferente daquela que dominaria o mercado de celulares. O grupo fabricava papel, pneus, botas, cabos, televisores, equipamentos eletrônicos, sistemas de comunicação e até produtos destinados ao setor militar. A diversidade ajudava a empresa a sobreviver às mudanças econômicas, mas também criava uma estrutura pesada e difícil de administrar.

A entrada no mundo das telecomunicações

A aproximação com as telecomunicações aconteceu principalmente por meio da Finnish Cable Works. A fabricação de cabos já colocava a empresa em contato com redes telefônicas, transmissão elétrica e infraestrutura de comunicação.

Durante a década de 1960, o grupo começou a desenvolver equipamentos eletrônicos e sistemas de radiocomunicação. Uma divisão de eletrônica havia sido criada dentro da companhia de cabos, trabalhando com transmissão de dados, radiotelefones e dispositivos destinados a instituições públicas, forças de segurança e serviços de emergência.

Algumas cronologias atribuem ao engenheiro Kurt Wikstedt e à equipe de eletrônica da Nokia a criação de um radiotelefone em 1963 e de um modem de dados por rádio em 1965. Esses aparelhos, porém, não devem ser confundidos com um celular moderno. Eram equipamentos profissionais de comunicação sem fio, normalmente grandes e destinados a veículos ou instalações especializadas.

O desenvolvimento tinha uma lógica industrial. A Finlândia possuía grandes áreas pouco povoadas, longas distâncias e condições climáticas severas. Construir comunicação confiável nesse território era uma necessidade prática, não apenas uma aposta em um futuro mercado de consumo.

Ainda não existia o conceito de carregar no bolso um aparelho conectado permanentemente a uma rede. Os radiotelefones eram caros, pesados e dependiam de infraestrutura limitada. Muitos precisavam ser instalados em automóveis porque o conjunto de transmissão e a bateria ocupava espaço demais para ser transportado confortavelmente.

Mesmo assim, foi nessa fase que a Nokia acumulou experiência em rádio, antenas, modulação, redes e miniaturização. A transformação não aconteceu de repente nos anos 1990. Ela vinha sendo preparada havia décadas.

Os sistemas nórdicos abriram o caminho

Antes do GSM, os países nórdicos desenvolveram o padrão NMT — Nordic Mobile Telephone. A proposta era criar uma rede celular analógica compatível entre Finlândia, Suécia, Noruega e Dinamarca.

Essa compatibilidade era importante. Em outros lugares, cada país ou operadora adotava soluções próprias, dificultando o uso de um aparelho fora de sua região de origem. O NMT mostrou que sistemas móveis poderiam ser planejados de maneira cooperativa e ultrapassar fronteiras nacionais.

Em 1979, Nokia e a fabricante finlandesa de eletrônicos Salora criaram uma parceria para desenvolver equipamentos de radiotelefonia. A operação daria origem à Mobira, nome que apareceria em alguns dos primeiros telefones móveis comercializados pela companhia.

O Mobira Senator, apresentado em 1982, era um telefone para automóveis que pesava aproximadamente dez quilos. Era “móvel” porque podia acompanhar o veículo, não porque alguém pudesse colocá-lo no bolso e sair caminhando.

Cinco anos depois surgiu um aparelho muito mais interessante.

Mobira Cityman: o telefone que parecia pequeno em 1987

Em 1987, a Nokia-Mobira apresentou o Mobira Cityman, produzido em versões compatíveis com diferentes redes analógicas. O Cityman 900, destinado à rede NMT de 900 MHz, tornou-se o mais conhecido.

Ele pesava cerca de 760 gramas. Para os padrões atuais, seria um telefone enorme e desconfortável. Na época, foi apresentado como um aparelho compacto, capaz de ser carregado com uma mão e usado longe de um automóvel.

As dimensões faziam sentido diante do que existia anteriormente. Um equipamento de dez quilos havia sido reduzido a menos de um quilo. A bateria oferecia por volta de 50 minutos de conversação e aproximadamente 14 horas em espera, dependendo das condições da rede e do estado da bateria.

O preço era igualmente pesado. O Cityman 900 custava cerca de 24 mil marcos finlandeses, valor equivalente a vários milhares de euros quando ajustado para períodos mais recentes. Era um símbolo de poder econômico, destinado a executivos, autoridades e pessoas que realmente precisavam estar acessíveis fora do escritório.

O aparelho ganhou projeção internacional em outubro de 1989, quando o líder soviético Mikhail Gorbachev utilizou um Cityman durante uma visita a Helsinque para fazer uma ligação a Moscou. Na Finlândia, o telefone passou a ser chamado informalmente de Gorba, apelido derivado do sobrenome de Gorbachev.

A imagem tinha força. O chefe da União Soviética usando um telefone finlandês portátil sugeria que a comunicação móvel estava deixando de ser uma experiência de laboratório.

Só ainda custava caro demais para quase todo mundo.

O GSM não foi criado por duas empresas finlandesas

Outra simplificação comum diz que o padrão GSM foi desenvolvido pela Tampere Telephone Company e pela Helsinki Telephone Company. Essas empresas tiveram participação relevante na implantação da primeira rede comercial, mas não foram responsáveis, sozinhas, pela criação do padrão.

O GSM nasceu de um esforço europeu de padronização.

Em 1982, a Conferência Europeia das Administrações de Correios e Telecomunicações, conhecida pela sigla CEPT, criou o grupo Groupe Spécial Mobile. A missão era desenvolver uma especificação digital comum para as redes celulares europeias.

Representantes de governos, operadoras, fabricantes e organizações técnicas de vários países participaram desse processo. França, Alemanha Ocidental, Reino Unido, Itália e os países nórdicos tiveram papéis importantes. Em 1987, representantes de 13 países assinaram um memorando comprometendo-se com a implantação do sistema. A responsabilidade técnica acabaria sendo transferida para o recém-criado European Telecommunications Standards Institute, o ETSI, em 1989.

A Tampere Telephone Company e a Helsinki Telephone Company participaram de outro ponto decisivo. Junto de várias operadoras telefônicas locais, ajudaram a formar a Radiolinja, que pretendia construir uma rede celular digital capaz de concorrer com a operadora estatal Telecom Finland.

A Radiolinja adquiriu infraestrutura da Nokia, e a rede foi construída com tecnologia fornecida pela Nokia e pela Siemens. Era uma aposta arriscada. O GSM ainda enfrentava problemas técnicos, as especificações estavam em desenvolvimento e o mercado continuava dominado por redes analógicas.

A escolha acabou definindo o futuro da Nokia.

A primeira ligação oficial em uma rede GSM

Em 1º de julho de 1991, o então primeiro-ministro finlandês Harri Holkeri realizou aquela que ficou registrada como a primeira ligação oficial em uma rede GSM comercial. Ele estava em Helsinque e conversou com Kaarina Suonio, vice-prefeita de Tampere.

A chamada durou pouco mais de três minutos e foi realizada por meio de uma rede da Radiolinja, construída com equipamentos da Nokia e da Siemens. O telefone utilizado era um protótipo da Nokia. A própria companhia relembra o episódio em seu registro dos 30 anos da primeira ligação oficial GSM.

Há uma pequena nuance histórica: engenheiros realizaram chamadas de teste antes da cerimônia pública. A ligação de Holkeri não foi necessariamente a primeira transmissão técnica entre dois aparelhos GSM, mas foi a primeira chamada oficial associada ao lançamento comercial da rede.

Isso não diminui seu significado. Aquele momento mostrou que um sistema digital europeu havia saído dos documentos e laboratórios para funcionar em uma rede real.

O GSM oferecia melhor aproveitamento do espectro, comunicação digital, autenticação do assinante, uso de cartões SIM e capacidade de roaming entre redes compatíveis. Com a evolução das especificações, também permitiria o envio de mensagens SMS e diferentes formas de transmissão de dados.

A Europa, que possuía vários sistemas analógicos incompatíveis, passava a compartilhar uma plataforma. Para uma fabricante como a Nokia, isso representava um mercado muito maior.

O Nokia 1011 e o início do celular digital em massa

Em 10 de novembro de 1992, a Nokia lançou o Nokia 1011. O nome era uma referência à data de lançamento: 10/11 no formato utilizado em boa parte da Europa.

O aparelho é geralmente reconhecido como o primeiro telefone GSM produzido em série. O Science Museum Group registra que o modelo funcionava em 14 países quando chegou ao mercado, algo que demonstrava uma das principais vantagens do novo padrão.

O Nokia 1011 pesava aproximadamente 475 gramas. Era consideravelmente mais leve que o Cityman, mas ainda lembrava um grande bloco preto com antena externa. Sua bateria fornecia cerca de 90 minutos de conversação, dependendo das condições de uso, e a agenda armazenava aproximadamente 99 contatos — algumas fontes arredondam esse número para 90.

Ele não foi o primeiro telefone celular da Nokia nem o primeiro aparelho portátil do mundo. Sua importância estava em ser um telefone GSM fabricado comercialmente em escala, projetado para uma rede digital que poderia atravessar fronteiras.

Naquele mesmo ano, Jorma Ollila assumiu a liderança da Nokia. A empresa estava enfrentando uma crise e ainda carregava negócios muito diferentes. A nova estratégia concentrou recursos em telecomunicações e vendeu várias operações que não faziam parte desse foco.

A Nokia que fabricava papel, botas, cabos, computadores, monitores e televisores começou a desaparecer. Em seu lugar surgiu uma companhia cada vez mais especializada em redes e telefones móveis.

A decisão parecia perigosa. Acabou sendo uma das apostas industriais mais bem-sucedidas da década.

Quando a Nokia passou a caber no bolso

Durante os anos 1990, os telefones deixaram de ser símbolos exclusivos de executivos. Os aparelhos ficaram menores, as redes cresceram e os preços começaram a cair.

A Nokia percebeu cedo que um telefone celular não deveria ser tratado apenas como equipamento de engenharia. Ele também era um objeto pessoal. Precisava ser agradável de segurar, simples de entender e reconhecível.

Os menus eram relativamente diretos. Os aparelhos compartilhavam padrões de interface. As baterias podiam ser trocadas. Capas coloridas permitiam alguma personalização. Toques musicais, jogos e mensagens de texto transformaram o telefone em algo que ia além de fazer ligações.

A empresa também introduziu elementos que se tornariam parte da cultura popular. O toque da Nokia, derivado de um trecho da composição Gran Vals, do músico espanhol Francisco Tárrega, podia ser ouvido em ônibus, escritórios, escolas e ruas de praticamente qualquer país.

O jogo Snake encontrou o ambiente perfeito. Era simples, funcionava em uma tela monocromática e podia ser jogado com poucas teclas. Não precisava de gráficos sofisticados porque o próprio limite técnico fazia parte de seu charme.

Em 1998, a Nokia superou a Motorola e tornou-se a maior fabricante de telefones celulares do mundo. Poucos anos antes, ainda era um conglomerado finlandês tentando decidir quais divisões conseguiria manter.

Nokia 3310: o telefone que virou mito

O Nokia 3310, lançado em 2000, tornou-se o modelo mais associado à fase de ouro da empresa. Ele não foi o celular mais vendido da história, mas provavelmente é o mais lembrado da Nokia.

O aparelho reunia funções que pareciam bastante completas naquele momento: chamadas, mensagens SMS, despertador, calculadora, cronômetro, lembretes e jogos como Snake II, Space Impact, Bantumi e Pairs II.

Sua bateria podia alcançar até cerca de 260 horas em espera, dependendo da versão da bateria e das condições da rede. Esse número não significava 260 horas de uso contínuo. Em conversação, a autonomia era muito menor. Mesmo assim, poder passar vários dias sem procurar um carregador era normal.

O telefone também ganhou fama por sua resistência. Parte dessa reputação veio do corpo compacto, das capas plásticas substituíveis e da ausência de uma grande tela de vidro exposta. Quando o aparelho caía, era comum a tampa e a bateria se soltarem. Bastava montar as peças novamente e ligar.

Com o passar dos anos, essa durabilidade foi transformada em meme. O 3310 passou a ser tratado como um objeto indestrutível, capaz de sobreviver a quedas absurdas ou quebrar o chão antes de sofrer qualquer dano.

A realidade era menos exagerada, claro. Mas a fama não surgiu do nada.

Foram comercializadas aproximadamente 126 milhões de unidades do Nokia 3310. Um número enorme, embora inferior ao de outros aparelhos mais baratos produzidos posteriormente.

O telefone mais vendido não foi o 3310

O líder absoluto de vendas da Nokia foi o Nokia 1100, lançado em 2003 — e não em 2002, como aparece em algumas cronologias.

Ele não impressionava pelas especificações. Tinha tela monocromática, teclado simples, lanterna integrada, bateria removível e recursos básicos de chamadas e mensagens. Era barato, resistente e fácil de usar.

O aparelho foi pensado especialmente para mercados onde eletricidade, assistência técnica e renda disponível podiam ser limitadas. Seu teclado ajudava a evitar a entrada de poeira, a carcaça oferecia boa aderência e a lanterna tinha utilidade real em regiões com fornecimento instável de energia.

A estratégia funcionou. O Nokia 1100 ultrapassou 250 milhões de unidades vendidas, tornando-se não apenas o celular mais vendido, mas um dos produtos eletrônicos de consumo mais vendidos da história.

Existe algo curioso nisso. Enquanto a indústria tecnológica costuma celebrar o aparelho mais avançado, o maior sucesso comercial da Nokia foi um telefone propositalmente básico.

Ele fazia pouco. Fazia esse pouco de forma confiável.

A Nokia dominava o mercado, mas os números precisam ser separados

Em 2007, a Nokia estava no auge. A empresa vendia centenas de milhões de aparelhos por ano e tinha uma estrutura global de fabricação, distribuição e pesquisa.

Algumas narrativas afirmam que sua participação no mercado de celulares era de 51%. Esse percentual se refere melhor ao segmento de smartphones em determinados levantamentos ou períodos, não ao mercado total de telefones.

No terceiro trimestre de 2007, por exemplo, estimativas da Gartner colocavam a Nokia com aproximadamente 38% do mercado mundial de celulares. No mercado de smartphones, sua participação anual ficou próxima de 49%, chegando a cerca de 50,9% no quarto trimestre.

A diferença é importante. Nem todo telefone era um smartphone.

A Nokia já produzia smartphones havia anos, principalmente com o sistema operacional Symbian. A empresa não estava simplesmente presa a telefones básicos com botões enquanto todos os concorrentes criavam aparelhos inteligentes. Modelos das linhas Communicator, Nseries e Eseries ofereciam internet, e-mail, câmeras, aplicativos e recursos de produtividade.

O problema estava mudando de lugar. Já não bastava fabricar um bom aparelho.

O iPhone alterou a definição de smartphone

Quando a Apple apresentou o primeiro iPhone em 2007, não inventou o smartphone, a tela sensível ao toque ou a internet móvel. Esses recursos já existiam.

O que a Apple fez foi reorganizar a experiência.

A tela capacitiva multitoque tornou a interação mais direta. O navegador oferecia uma experiência próxima à de um computador. O sistema, a interface e o hardware eram projetados como partes do mesmo produto. Em 2008, a App Store transformou aplicativos em um mercado centralizado, fácil de acessar e rentável para desenvolvedores.

A Nokia possuía tecnologia, patentes, engenheiros experientes e uma das marcas mais fortes do mundo. Só que sua estrutura de software havia se tornado fragmentada. Diferentes versões do Symbian, interfaces variadas, exigências das operadoras e decisões internas dificultavam a criação de uma experiência consistente.

O Symbian havia sido projetado para uma geração de aparelhos limitada por memória, processamento e bateria. Era eficiente, mas sua arquitetura ficou cada vez mais difícil de adaptar ao mundo das grandes telas sensíveis ao toque e dos aplicativos complexos.

Os engenheiros podiam acrescentar funcionalidades. O problema era transformar tudo em uma plataforma simples para usuários e desenvolvedores.

Android, Symbian e uma transição mal resolvida

Em 2008, o Android chegou comercialmente ao mercado. O sistema do Google oferecia aos fabricantes uma plataforma comum que poderia ser adaptada a aparelhos de diferentes preços.

Samsung, HTC, Motorola, LG e várias empresas chinesas passaram a produzir smartphones Android. O número de modelos cresceu rapidamente. Desenvolvedores podiam criar aplicativos para uma plataforma presente em aparelhos de várias marcas, enquanto o Google oferecia serviços, ferramentas e uma loja centralizada.

A Nokia continuou investindo no Symbian, ao mesmo tempo em que desenvolvia outras iniciativas, como Maemo e MeeGo. O Nokia N900 e, mais tarde, o N9 mostraram que a companhia era capaz de criar sistemas mais modernos. Só que esses projetos não receberam tempo, continuidade ou alinhamento interno suficientes para formar um ecossistema competitivo.

Em fevereiro de 2011, sob a direção de Stephen Elop, a Nokia anunciou uma parceria estratégica com a Microsoft. O Windows Phone passaria a ser sua principal plataforma para smartphones.

A decisão tinha uma lógica. Adotar Android colocaria a Nokia ao lado de dezenas de fabricantes usando o mesmo sistema. O Windows Phone oferecia a possibilidade de formar um terceiro ecossistema, diferente do iPhone e do Android, com apoio financeiro e tecnológico da Microsoft.

Era também uma aposta perigosa em uma plataforma pequena.

Os Lumia chegaram tarde a uma disputa acelerada

Os primeiros resultados da parceria apareceram no final de 2011 com o Nokia Lumia 800 e o Lumia 710.

O Lumia 800 tinha desenho derivado do Nokia N9, corpo em policarbonato e uma interface visual bastante diferente dos concorrentes. O Windows Phone utilizava blocos dinâmicos, os Live Tiles, em vez da grade tradicional de ícones.

Os aparelhos receberam elogios pelo acabamento, pela câmera em modelos posteriores e pela fluidez do sistema. A linha Lumia não foi um fracasso instantâneo sem qualquer venda, como certas versões da história sugerem. Ela construiu uma base de usuários e chegou a obter relevância em alguns países.

Só que nunca alcançou o volume necessário.

O Windows Phone sofria com a falta de aplicativos importantes, atualizações incompatíveis entre gerações e pouca adesão de outros fabricantes. Desenvolvedores priorizavam Android e iOS porque era onde estavam os usuários. Consumidores evitavam o Windows Phone porque faltavam aplicativos. O conhecido ciclo de um ecossistema pequeno.

Enquanto a Nokia realizava essa migração, as vendas dos aparelhos Symbian caíam rapidamente. A linha Lumia não crescia com velocidade suficiente para compensar a perda.

Em 2012, a Samsung ultrapassou a Nokia e assumiu a liderança mundial em telefones celulares. Uma posição que a companhia finlandesa mantivera por cerca de 14 anos desapareceu em pouco tempo.

A Microsoft não comprou a Nokia inteira

Em setembro de 2013, Microsoft e Nokia anunciaram uma transação envolvendo a divisão Devices & Services, responsável pelos telefones celulares. O acordo foi concluído em 25 de abril de 2014.

A Microsoft pagou 3,79 bilhões de euros pelos negócios de dispositivos e serviços e outros 1,65 bilhão de euros pelo licenciamento de patentes. O valor anunciado totalizava 5,44 bilhões de euros, equivalente a pouco mais de 7 bilhões de dólares na cotação daquele período.

Não foi uma compra completa da empresa Nokia. As patentes essenciais também não foram simplesmente vendidas em bloco. Segundo o comunicado oficial da Microsoft, a operação envolvia a aquisição de grande parte da divisão de aparelhos, o licenciamento de patentes e o uso de serviços de mapas.

A Nokia Corporation continuou existindo de forma independente, mantendo negócios de infraestrutura de redes, pesquisa tecnológica, licenciamento e outros ativos. A unidade adquirida passou a operar dentro da Microsoft, com parte da estrutura organizada sob o nome Microsoft Mobile Oy.

Durante algum tempo, a Microsoft continuou usando o nome Nokia em telefones básicos. Nos smartphones, a marca Lumia foi gradualmente modificada para Microsoft Lumia.

A compra não produziu o resultado esperado. Em 2015, a Microsoft registrou uma baixa contábil de aproximadamente 7,6 bilhões de dólares relacionada ao negócio de celulares e anunciou milhares de demissões. Na prática, reconhecia que grande parte do valor da aquisição havia sido perdida.

O retorno da marca por meio da HMD Global

Em 2016, a recém-criada empresa finlandesa HMD Global assinou um acordo de licenciamento com a Nokia Corporation para utilizar a marca Nokia em telefones e tablets.

A operação teve várias partes. A HMD adquiriu da Microsoft determinados direitos relacionados aos telefones básicos e firmou um acordo de uso da marca com a Nokia. A FIH Mobile, subsidiária da Foxconn, adquiriu ativos de fabricação, distribuição e cadeia de suprimentos que pertenciam à operação da Microsoft.

Os novos aparelhos Nokia não eram produzidos pela antiga divisão móvel da Nokia Corporation como antes. Eram desenvolvidos e comercializados pela HMD sob licença de marca, com apoio de parceiros industriais.

A HMD lançou telefones básicos e smartphones Android. Também recuperou nomes históricos, entre eles Nokia 3310 e Nokia 8110, usando a nostalgia como parte da estratégia comercial.

Em 2024, a HMD começou a destacar sua própria marca em smartphones, reduzindo a dependência do nome Nokia em parte do catálogo. Isso gerou a impressão de que a parceria havia acabado completamente. Até 2026, porém, o site da empresa ainda apresenta aparelhos HMD e telefones Nokia e identifica a HMD Global como licenciada da marca Nokia para telefones.

A situação atual é bem diferente daquela vivida no começo dos anos 2000. Nokia Corporation e HMD Global são empresas separadas. Uma é proprietária da marca e de tecnologias licenciadas; a outra desenvolve e comercializa determinados aparelhos usando esse nome.

A Nokia ainda tem relação com telefones, só não os fabrica como antes

Dizer que a Nokia atualmente “não tem nada a ver com telefones celulares” é um exagero.

A Nokia Corporation não opera mais a antiga divisão de celulares de consumo que produziu aparelhos como o 3310, o N95 ou o Lumia 920. Também não concorre diretamente com Apple e Samsung fabricando smartphones sob a mesma estrutura do passado.

A companhia continua profundamente ligada às telecomunicações. Ela desenvolve equipamentos e software para redes móveis, infraestrutura de operadoras, sistemas ópticos, redes IP, soluções para empresas, tecnologias relacionadas ao 5G e pesquisa para futuras gerações de comunicação.

Também administra um portfólio relevante de patentes. Fabricantes de celulares utilizam tecnologias desenvolvidas ou licenciadas pela Nokia, mesmo quando o nome da empresa não aparece no aparelho.

A incorporação da Alcatel-Lucent, concluída em 2016, trouxe para o grupo os Bell Labs, um dos centros de pesquisa mais importantes da história das telecomunicações. O transistor, o Unix, a linguagem C e várias tecnologias de comunicação possuem ligações históricas com esse laboratório.

A Nokia deixou de fabricar o objeto pelo qual ficou conhecida, mas permaneceu na infraestrutura invisível que permite a esses objetos se comunicarem.

Uma empresa que sobreviveu a várias versões de si mesma

A história da Nokia costuma ser contada como uma ascensão seguida por uma queda: uma fábrica de papel se transforma na maior fabricante de celulares do mundo, ignora o iPhone, escolhe o Windows Phone e desaparece.

Essa narrativa é atraente porque é simples. A realidade não é.

A Nokia não ignorou os smartphones. Ela já os fabricava antes da Apple entrar nesse mercado. Também pesquisou telas sensíveis ao toque, tablets, sistemas baseados em Linux, lojas de aplicativos e serviços de internet. O problema foi converter todo esse conhecimento em uma estratégia coerente no momento em que o mercado deixou de ser definido pelo aparelho e passou a ser organizado pelo ecossistema de software.

A empresa sabia fabricar telefones excelentes. Não conseguiu controlar a transição na qual o valor principal migrou para sistemas operacionais, aplicativos, serviços em nuvem e comunidades de desenvolvedores.

Seu tamanho, que havia sido uma vantagem na produção e distribuição global, também dificultou mudanças rápidas. Divisões disputavam recursos. Projetos concorrentes avançavam ao mesmo tempo. Decisões técnicas se misturavam com compromissos assumidos com operadoras e mercados diferentes.

O iPhone não destruiu a Nokia sozinho. O Android também não. Eles expuseram problemas que já existiam e mudaram o mercado numa velocidade que a organização não conseguiu acompanhar.

Mesmo assim, a Nokia não desapareceu.

A empresa que começou processando madeira em 1865, participou da produção de eletricidade, atravessou o setor de borracha e cabos, construiu equipamentos de rádio, liderou a telefonia móvel e perdeu sua divisão de aparelhos ainda existe. Agora trabalha principalmente nos bastidores das redes.

Talvez essa seja a parte mais interessante de sua história. O Nokia 3310 parecia indestrutível, mas a companhia foi ainda mais resistente que o próprio telefone. Não permaneceu igual. Sobreviveu justamente porque, em diferentes momentos, conseguiu deixar para trás aquilo que um dia definiu sua identidade.