DEV Community

Dário Prazeres
Dário Prazeres

Posted on

O que é Open Source?

Open Source (Código Aberto) é um modelo de desenvolvimento de software em que o código-fonte é disponibilizado publicamente para que qualquer pessoa possa visualizar, modificar e distribuir. Ao contrário do software proprietário, onde o código é fechado e controlado por uma única entidade, o software open source promove a colaboração e a transparência, permitindo que desenvolvedores contribuam para melhorar o código ou adaptem-no para suas próprias necessidades.

Qual a diferença entre Open Source e Free Code?

A principal diferença entre open source (código aberto) e free code (código livre) está em como cada termo aborda o uso e a distribuição do software, embora muitas vezes eles sejam usados de forma intercambiável. Veja as distinções:

  1. Open Source (Código Aberto):

    • Focado na disponibilização do código-fonte para qualquer pessoa, permitindo que ele seja estudado, modificado e redistribuído.
    • O conceito de open source está mais ligado ao lado prático e colaborativo do desenvolvimento, destacando os benefícios técnicos de compartilhar e aprimorar software de forma colaborativa.
    • Há uma ênfase maior em licenças que promovem a colaboração e o desenvolvimento sustentável (ex.: Licença MIT, Apache, GPL).
  2. Free Code (Código Livre):

    • Baseia-se na ideia de liberdade, promovida pelo movimento de software livre (Free Software Foundation). O termo "livre" refere-se à liberdade de usar, estudar, modificar e compartilhar o software, não ao preço.
    • O software livre segue as "quatro liberdades" definidas pela Free Software Foundation: (1) liberdade de usar o software para qualquer propósito, (2) liberdade de estudar como o programa funciona, (3) liberdade de distribuir cópias e (4) liberdade de modificar e distribuir suas melhorias.
    • Embora seja "livre", o software pode ou não ser gratuito, mas a questão central é garantir a liberdade do usuário em controlar o software.

Em resumo, open source enfatiza a colaboração e o aprimoramento técnico, enquanto free code coloca um foco maior nas liberdades e direitos dos usuários em relação ao software.

Exemplos de Open Source:

  1. Linux - Um dos sistemas operacionais mais populares, utilizado em servidores e dispositivos móveis (como o Android). O código-fonte do Linux é aberto e está disponível para qualquer pessoa contribuir.

  2. Apache HTTP Server - Um dos servidores web mais utilizados no mundo, também desenvolvido e mantido pela comunidade open source.

  3. MySQL - Um sistema de gerenciamento de banco de dados amplamente utilizado, especialmente em aplicações web.

  4. Blender - Software de modelagem e animação 3D utilizado em várias indústrias, de filmes a videogames.

Exemplos de Free Software:

  1. GNU Compiler Collection (GCC) - Um compilador para várias linguagens de programação, desenvolvido como parte do projeto GNU, que adere aos princípios do software livre.

  2. LibreOffice - Um conjunto de aplicativos de escritório que inclui editores de texto, planilhas, apresentações, e muito mais. É totalmente livre e permite modificação e redistribuição.

  3. VLC media player(VideoLAN Client) - é um software reprodutor de mídia portátil , multiplataforma, gratuito e de código aberto e servidor de streaming de mídia desenvolvido pelo projeto VideoLAN.

  4. Firefox - Embora seja um projeto de código aberto, também segue os princípios do software livre, oferecendo um navegador web com liberdade para modificação e distribuição.

Como as Empresas que distribuem e desenvolvem ganham com esses softwares?

Parece ser uma pergunta que não seja relevante, mas manter programadores á desenvolver certos projectos requer custos e a empresa para se manter no mercado precisa de valores e investimentos.

Quando a empresa abre o código para um determinado software algumas pessoas que têm conhecimento na área ajudam a desenvolver tais softwares em troca de nada algumas vezes ou por que este software ajuda muito eles, mas vamos no que interessa e ver como algumas empresas ganham dinheiro com esses softwares.

  1. Serviços e Suporte Técnico Exemplo: Empresas como Red Hat (Linux) e Canonical (Ubuntu) oferecem suporte técnico, serviços de consultoria e manutenção para organizações que utilizam seus sistemas. Como funciona: Embora o software seja gratuito, muitas empresas preferem pagar por suporte especializado, que inclui ajuda na instalação, configuração, solução de problemas e manutenção do software.
  2. Modelos de Negócio Freemium Exemplo: GitLab e Elastic oferecem uma versão open source gratuita do software, mas cobram por funcionalidades adicionais em versões empresariais (como segurança aprimorada ou maior capacidade de escala). Como funciona: A versão básica do software é gratuita, mas as funcionalidades premium, serviços de hospedagem ou integração com outras ferramentas podem ter um custo.
  3. Hospedagem e Infraestrutura Exemplo: Empresas como GitHub e Automattic (que desenvolve o WordPress) oferecem serviços de hospedagem e infraestrutura para projetos open source. Como funciona: Embora o software seja gratuito para baixar e utilizar, as empresas podem cobrar por serviços de hospedagem, backup e manutenção de servidores, oferecendo mais conveniência e escalabilidade.
  4. Consultoria e Customização Exemplo: Muitas empresas especializadas em software livre, como a SUSE (distribuição Linux), ganham dinheiro oferecendo consultoria e customizações específicas para as necessidades de seus clientes. Como funciona: Grandes empresas muitas vezes precisam de soluções personalizadas ou integrações específicas, e estão dispostas a pagar por desenvolvedores experientes que possam fazer essas modificações no software open source.
  5. Licenciamento Dual Exemplo: MySQL usa um modelo de licenciamento dual, onde o software é oferecido sob uma licença GPL (livre), mas as empresas que desejam incorporar MySQL em software proprietário precisam pagar por uma licença comercial. Como funciona: Empresas oferecem o software sob uma licença open source para a comunidade, mas cobram por uma licença comercial se o cliente quiser utilizar o software de forma fechada ou em produtos que não sejam open source.
  6. Marketplaces e Parcerias Exemplo: Empresas como Red Hat e Canonical mantêm parcerias com provedores de nuvem como Amazon AWS, Microsoft Azure e Google Cloud para oferecer pacotes otimizados de software open source. Como funciona: Elas recebem uma parte da receita gerada pelos serviços na nuvem ou pelos pacotes especializados que ajudam a otimizar o uso desses serviços.
  7. Treinamento e Certificação
    Exemplo: Red Hat oferece treinamentos e certificações oficiais, como o Red Hat Certified Engineer (RHCE), que tem grande valor no mercado de TI.
    Como funciona: As empresas pagam por programas de treinamento e certificação para seus funcionários, o que ajuda a garantir que eles sejam proficientes no uso de software open source.

  8. Publicidade e Patrocínios
    Exemplo: Alguns projetos open source são sustentados por doações, patrocínios de empresas e publicidade. O Firefox, por exemplo, é patrocinado pela Mozilla Foundation, que recebe doações e receita publicitária.
    Como funciona: Organizações sem fins lucrativos ou projetos pequenos podem ganhar dinheiro através de doações da comunidade ou grandes patrocinadores, além de parcerias com empresas. A titulo de exemplo a Microsoft se tornou um Patrocinador Platina da comunidade Open Source e da Linux Foundation.

Conclusão:
Empresas ganham dinheiro com software open source e free software oferecendo serviços, suporte, customizações, treinamentos e funcionalidades premium, ou cobrando por infraestrutura e integrações. Isso permite que elas mantenham o desenvolvimento contínuo do software, enquanto proporcionam valor adicional para seus clientes.

Top comments (0)