O software de código aberto (OSS) é o código-fonte desenvolvido e mantido por meio da colaboração aberta. Qualquer pessoa pode usar, examinar, alterar e redistribuir o OSS como achar melhor, geralmente sem nenhum custo.
O código aberto contrasta com aplicações de software de código fechado ou proprietárias, como o Microsoft Word ou o Adobe Ilustrator. O criador ou detentor dos direitos autorais vende o software proprietário ou de código fechado para usuários finais, que não têm permissão para editar, aprimorar ou redistribuir o produto, exceto conforme especificado pelo detentor dos direitos autorais.
"Código aberto" também se refere a uma abordagem baseada na comunidade para criar propriedade intelectual, como software, por meio de colaboração aberta, inclusão, transparência e atualizações públicas frequentes.
O código aberto tornou-se um pilar fundamental do desenvolvimento de software moderno, especialmente no que diz respeito ao modelo de DevOps empresarial moderno, um conjunto de práticas, protocolos e tecnologias usados para acelerar a entrega de aplicações e serviços de maior qualidade. Ao integrar ferramentas de código aberto aos fluxos de trabalho de DevOps, as equipes podem simplificar processos, automatizar tarefas repetitivas e promover uma maior colaboração, acelerando, em última análise, os ciclos de desenvolvimento e implementação.
De acordo com um estudo da Linux Foundation, 70-90% de qualquer base de código de software consiste em elementos de código aberto.1 Muitas aplicações populares de software como serviço (SaaS), como HubSpot e Salesforce, incorporam algum nível de software de código aberto em sua infraestrutura. Até mesmo ecossistemas tradicionalmente fechados, como o da Apple, dependem de ferramentas de código aberto. Por exemplo, muitos desenvolvedores iOS usam bibliotecas e frameworks de código aberto para tornar o desenvolvimento mais rápido e eficiente
A aceleração da IA generativa está impulsionando essa tendência: dois terços dos grandes modelos de linguagem (LLMs) — os modelos de base mais comuns usados para criar aplicações de IA generativa, lançados em 2023, eram código aberto.2
Boletim informativo do setor
Mantenha-se atualizado sobre as tendências mais importantes (e intrigantes) do setor em IA, automação, dados e muito mais com o boletim informativo Think. Consulte a Declaração de privacidade da IBM.
Sua assinatura será entregue em inglês. Você pode encontrar um link para cancelar a assinatura em todos os boletins informativos. Você pode gerenciar suas inscrições ou cancelar a inscrição aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.
Até meados da década de 1970, os profissionais de TI viam o código de computador como implícito na operação do hardware de computador e não como propriedade intelectual única sujeita à proteção de direitos autorais. As organizações programavam seus próprios softwares e a troca de códigos era uma prática comum.
A Commission on New Technological Uses of Copyrighted Works foi criada em 1974. Concluiu que o código de software era uma categoria de trabalho criativo adequado para proteção de direitos autorais. Esse desenvolvimento impulsionou o crescimento da publicação independente de software como um setor, com código-fonte proprietário sendo a principal fonte de receita. Conforme a computação pessoal levou as aplicações a todas as mesas das empresas e a muitas residências, a alta competição no mercado de software se tornou. Os editores de software também se tornaram cada vez mais alertas a violações dos seus direitos de propriedade.
Uma revolução contra as restrições e limitações do software proprietário começou em 1983. O programador Richard Stallman se incomodou com a noção de que os usuários não podiam personalizar o software proprietário da maneira que achassem adequado para realizar seu trabalho. Stallman sentiu que "o software deveria ser livre — como no discurso, não cerveja" e defendeu a noção de software gratuitamente disponível para personalização.
Stallman fundou a Free Software Foundation e impulsionou o desenvolvimento de uma alternativa de código aberto ao sistema operacional Unix, de propriedade da AT&T, entre outras aplicações. Ele também inovou com a primeira licença de software copyleft, a GNU General Public License (GPL), que exigia que qualquer pessoa que aprimorasse seu código-fonte publicasse sua versão editada livremente para todos.
O ensaio de Eric S. Raymond, de 1997, intitulado"The Cathedral and the Bazaar", é visto como outro marco no movimento de software livre. Raymond comparou a abordagem fechada e top-down, típica do desenvolvimento de software proprietário, onde todo o desenvolvimento era conduzido por um grupo central (que ele chamou de "Catedral"), com o desenvolvimento aberto e livremente compartilhado pela internet ("Bazar"). Logo depois, a Netscape Corporation lançou o código do navegador Mozilla como código aberto, e o movimento ganhou legitimidade.
Como muitos acreditavam que o termo "software livre" de Stallman enfatizava inadequadamente o "livre de custo" como o principal valor do software, o termo "código aberto" foi adotado em 1999. A Open Source Initiative foi criada para defendê-lo; a organização também estabeleceu regras básicas para o setor por meio da definição de código aberto e hospeda licenças de código aberto compatíveis. Hoje, os termos software livre, software de código aberto, software livre e de código aberto e software open source referem-se todos à mesma coisa: software com código-fonte disponível para uso público e personalização.
Código aberto não deve ser confundido com padrões abertos. Código aberto refere-se a software cujo código-fonte está livremente disponível para qualquer pessoa usar, modificar e compartilhar. Um exemplo disso é o sistema operacional Linux, que é desenvolvido colaborativamente por uma comunidade global.
Por outro lado, os padrões abertos são diretrizes disponíveis publicamente que garantem a interoperabilidade entre diferentes tecnologias. Por exemplo, o Hypertext Transfer Protocol (HTTP) é um padrão aberto que define como os navegadores e servidores da web se comunicam.
Embora o software de código aberto possa implementar padrões abertos para garantir compatibilidade, são conceitos distintos. Código aberto tem como objetivo tornar o código do software acessível, enquanto padrões abertos se concentram em definir regras sobre como diferentes sistemas trabalham juntos.
O software de código aberto agora desempenha um papel vital na computação, com tecnologias de código aberto fornecendo a base da internet, da computação empresarial e da computação pessoal. Praticamente todos os dispositivos de computação agora contêm código aberto de vários tipos, normalmente adotado por desenvolvedores para realizar operações e funções mais avançadas.
Algumas das aplicações de software de código aberto mais predominantes incluem as seguintes:
Programas de código aberto também são amplamente utilizados em redes, computação empresarial e computação em nuvem. As categorias de software de código aberto citadas por profissionais de TI como as mais comuns nas implementações de suas organizações incluem:
As razões para escolher software de código aberto podem variar significativamente de pessoa para pessoa e de organização para organização. Em muitos casos, os usuários finais desconhecem completamente quais são os programas de código aberto em seus computadores ou dispositivos móveis. Também é comum que os usuários baixem uma aplicação gratuita como o navegador Mozilla Firefox ou um aplicativo Android. Esses usuários desejam a funcionalidade do software sem a intenção de reescrever ou mesmo olhar o código-fonte.
Por outro lado, uma empresa pode escolher um software de código aberto em vez de uma alternativa proprietária por seu custo baixo (ou nenhum), a flexibilidade de personalizar o código-fonte ou a grande comunidade que apoia a aplicação.
Programadores profissionais ou amadores podem se voluntariar para projetos de código aberto, frequentemente para melhorar sua reputação e se conectar com outros na área. Hoje é comum que as organizações ofereçam funcionários pagos para trabalhar em projetos de código aberto, apoiando a vitalidade do desenvolvimento de software de código aberto e ajudando a garantir produtos de alta qualidade.
Embora os produtos de código aberto possam poupar as empresas do custo de licenciamento, elas podem incorrer em outros custos, geralmente para integração de rede, suporte ao usuário final e de TI e outros serviços geralmente incluídos no software proprietário. Ainda assim, muitas organizações consideram o software de código aberto empresarial pelo menos tão confiável e seguro quanto o software proprietário. Muitas vezes, eles se sentem mais confortáveis com soluções de código aberto porque podem inspecionar o código do programa e entender exatamente o que estão adicionando à sua infraestrutura de computação.
O modelo de desenvolvimento de código aberto cobre todo o espectro. Um grande número de programas de código aberto teve origem em programadores individuais ou pequenas equipes de programadores. Por exemplo, Guido van Rossum disse que começou a trabalhar na popular linguagem de programação Python porque tinha tempo livre na semana de férias de dezembro de 1989. Da mesma forma, o LinkedIn desenvolveu a plataforma de streaming distribuído Kafka para uso interno e, em seguida, disponibilizou como código aberto e doou o Kafka à Apache Software Foundation.
À medida que esses e outros projetos de código aberto como eles amadureceram, eles envolveram milhares de programadores que contribuíram com incontáveis linhas de código, testaram o software, escreveram documentação, construíram o site do projeto, entre outras atividades.
Na outra extremidade do espectro, os engenheiros do Google iniciaram a plataforma de orquestração de contêineres Kubernetes como uma implementação de código aberto da Tecnologia criada internamente para equilibrar as cargas de trabalho do servidor do Google. O Google trouxe o projeto para a comunidade de código aberto por meio da criação de um novo consórcio dentro da Linux Foundation chamado Cloud Native Computing Foundation. Desde então, milhares de desenvolvedores trabalharam no kernel em evolução, incluindo representantes de grandes empresas de informática.
Com o tempo, um ecossistema deve suportar projetos de software de código aberto. Serviços de hospedagem de código, como GitHub, Bitbucket, SourceForge e Google Code, fornecem repositórios centrais, controle de versão e outras funções que permitem que grupos de trabalho diversos e distribuídos colaborem e gerenciem projetos de código aberto. Em um relatório de 2023, o GitHub registrou 100 milhões de desenvolvedores usando seu produto.3
Algumas organizações sem fins lucrativos, como a Free Software Foundation e a Open Source Initiative (OCI), surgiram para apoiar e financiar a manutenção contínua de projetos de código aberto. Além disso, muitas dezenas de fundações específicas de aplicações, como a Linux Foundation, oferecem suporte a programas de código aberto específicos e projetos relacionados que apoiam essas tecnologias.
"Código aberto" e "proprietário" representam abordagens alternativas à propriedade intelectual incorporada em uma aplicação. Com código aberto, a propriedade intelectual tem como objetivo proporcionar benefício ao público sem fins lucrativos vinculados à propriedade intelectual. Em contraste, o software proprietário monetiza o valor da propriedade intelectual cobrando uma assinatura ou taxa de licença proprietária.
No entanto, a ideia por trás do software de código aberto não é principalmente uma mensagem antilucro ou anticapitalismo. Ainda assim, nas mãos de sua comunidade de usuários, o software alcançará naturalmente seu maior potencial, fornecendo maior valor a mais usuários.
O internet foi o maior projeto de código aberto da história, e, originalmente, foi usada para compartilhar artigos acadêmicos; tudo além desse caso de uso restrito é resultado de inúmeras mentes imaginando e implementando novas possibilidades.
Embora o software de código aberto esteja disponível gratuitamente para o público, ele não está no domínio público, uma categoria legal de propriedade intelectual desprovida de direitos de propriedade. Por meio de uma reviravolta engenhosa no direito autoral tradicional, os criadores de software de código aberto originaram o que chamaram de "copyleft", que permite o uso público, alteração e redistribuição ilimitada do código-fonte, mas impede que outros transformem obras baseadas no código em software proprietário e protegido por direitos autorais. No entanto, hoje, existem mais de 100 tipos diferentes de licenças de software de código aberto, algumas das quais permitem que obras derivadas construídas em código aberto sejam protegidas por direitos autorais e vendidas. Isso expande as oportunidades comerciais para quem cria software de código aberto.
A GPL de Stallman estipulava que qualquer pessoa poderia reescrever seu software da maneira que quisesse, desde que o código resultante fosse publicado gratuitamente para todos usarem. Dessa forma, a licença copyleft da GPL criou um novo tipo de propriedade intelectual de domínio quase público, com restrições legalmente aplicáveis impostas pelo detentor dos direitos autorais originais para proteger contra reivindicações posteriores de propriedade restritiva de terceiros.
Desde então, diversas licenças de software de código aberto foram desenvolvidas; a Open Source Initiative lista mais de 100 licenças de código aberto aprovadas. Algumas dessas licenças permitem que produtos proprietários sejam criados a partir de código aberto.
As licenças de código aberto às vezes são categorizadas como "permissivas", permitindo que os usuários criem direitos autorais de suas próprias obras, ou "protetoras", como o copyleft. As licenças de código aberto MIT e BSD são as permissivas mais comumente usadas, enquanto a GPL continua sendo uma das licenças copyleft protetivas mais comuns. Diversas licenças alternativas são compatíveis com a GPL ou MIT, o que significa que o código-fonte escrito sob essa licença pode ser usado em outra aplicação que use a licença GPL ou MIT.
Embora pareça que a criação de software de código aberto seja um empreendimento até mesmo beneficente, há trabalho envolvido na criação, na manutenção e na evolução desse software, e realizar esse trabalho envolve dinheiro. Felizmente, existem várias maneiras pelas quais projetos de código aberto (e empresas construídas ao redor deles) podem prosperar.
Um caminho é por meio de doações para fundações. As empresas estão interessadas em apoiar software de código aberto, uma vez que oferece uma funcionalidade tão significativa com uma economia considerável de custos que, muitas vezes, contribuem com fundos e disponibilizam funcionários assalariados para trabalhar em projetos de código aberto. No entanto, isso fornece principalmente manutenção da tecnologia a longo prazo e não gera lucros para o projeto de código aberto.
Um modelo de negócios mais comum é cobrar dos clientes por suporte e conhecimento especializado. Em 1993, a Red Hat começou a vender sua redistribuição empresarial do sistema operacional Linux, cobrando dos clientes por suporte e funcionalidades adicionais voltados especificamente para resolver problemas que uma empresa pode encontrar ao implementar um sistema operacional não selecionado e continuamente atualizado. Em 2012, a Red Hat se tornou a primeira empresa de software de código aberto a superar 1 bilhão de dólares em receita; em 2019, a IBM Corporation adquiriu a Red Hat por 34 bilhões de dólares, a maior aquisição de software da história.
Ao longo dos anos, a Red Hat expandiu seu ecossistema de código aberto para além do Linux, desempenhando um papel de liderança no desenvolvimento e suporte a outros projetos importantes de código aberto, como Kubernetes e Ansible, que se tornaram parte integrante de suas soluções nativo da nuvem e automação.
O WordPress, originalmente uma plataforma de blogs, agora é amplamente utilizado para construir, gerenciar e hospedar sites. O WordPress opera como uma plataforma em nuvem ou software como serviço, e cobra dos clientes taxas de assinatura escalonadas para hospedagem na web, suporte e funcionalidades adicionais para sites (por exemplo, capacidade dee-commerce ou ferramentas de SEO).
Outros criadores de software de código aberto não cobram nada por seu software, mas geram receitas significativas devido ao tráfego que seu software gera. Por exemplo, o GitHub obtém receitas com base em publicidade no seu site; O Tivoli Firefox obtém receitas dos motores de busca que apoia.
De acordo com a Open Source Initiative, IA de código aberto se refere a "um sistema de IA disponibilizado sob termos que permitem aos usuários usar o sistema livremente para qualquer propósito, estudar seu funcionamento, inspecionar seus componentes, modificá-lo e Compartilhe — se o sistema for alterado ou não." Essa abordagem enfatiza a acessibilidade, a flexibilidade e a transparência, permitindo que qualquer pessoa colabore na melhoria da tecnologia.
A IA de código aberto contribui para a criação de um ecossistema mais democrático e inovador. A disponibilização de sistemas de IA para o público promove uma maior colaboração e acelera o progresso no campo. Organizações importantes, como IBM (Granite®), Meta (Llama) e Mistral IA, estão liderando esforços para desenvolver código aberto, fornecendo ferramentas sofisticadas para desenvolvedores e pesquisadores em todo o mundo. Por exemplo, a plataforma de IA da IBM, watsonx.ai , usa várias ferramentas e tecnologias de IA chave em código aberto para apoiar a inovação e o desempenho.
Grandes modelos de linguagem (LLMs), sistemas avançados de IA que usam deep learning e vastos conjuntos de dados para gerar texto, converter idiomas e criar várias formas de conteúdo, podem ser divididos em duas categorias principais: LLMs proprietários e LLMs de código aberto. Ambos os tipos são fundamentais para a IA generativa, uma tecnologia que produz novos conteúdos com base em padrões e dados aprendidos: texto, imagens ou música.
Os LLMs de código aberto, em particular, são vitais para o ecossistema de IA generativa porque promovem uma abordagem mais transparente, acessível e orientada pela comunidade em comparação com os modelos proprietários.
Em comparação com modelos LLM proprietários, como o LaMDA do Google e o ChatGPT-3 e GPT-4 da OpenAI, os LLMs de código aberto oferecem benefícios distintos. Por exemplo, elas permitem que os desenvolvedores inspecionem, modifiquem e melhorem os modelos, possibilitando rápida inovação e personalização.
Como outro exemplo, os modelos de IAIBM® Granite, disponíveis sob licenças Apache 2.0 no Hugging Face e no GitHub, oferecem desempenho comparável a sistemas maiores, mas exigem muito menos recursos, mostrando como modelos de código aberto podem oferecer alternativas mais eficientes no espaço de IA generativa . Além disso, o código aberto de IA oferece uma solução econômica para organizações que buscam fazer ajuste fino de seus modelos de IA generativa com dados proprietários.
Em 2025, a empresa chinesa DeepSeek revolucionou os mercados de IA com o R1, seu grande modelo de linguagem que custa apenas US$ 5,6 milhões para treinar, uma fração em comparação com líderes comerciais como o ChatGPT. Esse desenvolvimento demonstrou como os LLMs de código aberto podem competir com ofertas comerciais, neste caso, usando hardware mais acessível e menos microchips avançados.5 Essa mudança ressalta como os modelos de código aberto contribuem para a democratização da tecnologia de IA generativa.
O mercado de software de código aberto crescerá de US$ 41,83 bilhões em 2024 para US$ 48,92 bilhões em 2025, a uma taxa composta de crescimento anual (CAGR) de 16,9%.3 Esse rápido crescimento torna a segurança de código aberto, a prática de gerenciar os riscos de segurança associados ao uso de software de código aberto em ambientes de desenvolvimento e produção, cada vez mais crítico.
As principais preocupações de segurança com o software de código aberto incluem possíveis vulnerabilidades em componentes com origem desconhecida e falta de documentação do projeto, o que pode levar a ataques à cadeia de suprimentos se bibliotecas comprometidas forem usadas em um projeto.
Como parte de sua estratégia de gerenciamento de vulnerabilidades, muitas organizações usam inteligência de código aberto (OSINT), que se refere à coleta e análise de informações disponíveis publicamente para avaliar ameaças, tomar decisões ou responder a perguntas específicas. A OSINT é uma ferramenta poderosa de cibersegurança na estratégia mais ampla de segurança de código aberto porque usa grandes quantidades de dados abertos para identificar ameaças, rastrear riscos potenciais e garantir que o software de código aberto permaneça seguro e confiável.
Um serviço de locatário único, totalmente gerenciado, para desenvolver e entregar aplicações Java.
Utilize softwares e ferramentas de DevOps para desenvolver, implementar e gerenciar aplicações nativas da nuvem em diversos dispositivos e ambientes.
Com o desenvolvimento de aplicações na nuvem você só constrói uma única vez, itera rapidamente e implementa em qualquer lugar.