Como funciona o software de código aberto

Como funciona o software de código aberto

Software de código aberto (OSS) é qualquer software de computador que seja distribuído com seu código-fonte disponível para modificação. Isso significa que geralmente inclui uma licença para os programadores alterarem o software da maneira que escolherem: eles podem corrigir bugs, melhorar as funções ou adaptar o software para atender às suas próprias necessidades.

Critérios de software de código aberto

A Open Source Initiative (OSI), uma organização sem fins lucrativos global fundada em 1998, atua como uma autoridade líder no OSS. Sua definição de software de código aberto inclui dez critérios, relacionados a assuntos como:

  • Redistribuição de software
  • Disponibilidade e integridade do código -fonte
  • Distribuição e propriedades de licenças
  • Obras derivadas
  • Anti-discriminação

Licenças

Licenças diferentes permitem que os programadores modifiquem o software com várias condições anexadas. De acordo com o Black Duck KnowledgeBase, um banco de dados de cerca de dois milhões de projetos de código aberto, cinco das licenças mais populares são:

  1. MIT Licença
  2. GNU Licença Pública Geral (GPL) 2.0
  3. Licença Apache 2.0
  4. GNU Licença Pública Geral (GPL) 3.0
  5. Licença BSD 2.0 (3 cláusulas, novo ou revisado)

Quando você muda o código -fonte, o OSS exige a inclusão do que você alterou, bem como de seus métodos. O software criado após as modificações de código pode ou não ser disponibilizado gratuitamente.

Software comercial

Software comercialmente disponível, também conhecido como software comercial ou proprietário, não fornece acesso ao seu código -fonte porque o software é a propriedade intelectual de outra pessoa. Como resultado, os usuários costumam pagar por isso. OSS, por outro lado, é um esforço colaborativo; O software é uma propriedade intelectual compartilhada entre todos que ajudaram a desenvolvê -lo ou alterá -lo.

Software grátis

Embora os termos sejam frequentemente usados ​​de forma intercambiável, o OSS é um pouco diferente do software livre. Ambos lidam com a capacidade de baixar e modificar o software sem restrição ou cobrança. No entanto, o conceito de software livre-desenvolvido na década de 1980 por um pesquisador de ciência da computação do MIT, Richard Stallman-é definido por quatro condições, conforme descrito pela Free Software Foundation, sem fins lucrativos. Essas "quatro liberdades" enfatizam a capacidade dos usuários de usar e desfrutar de software como acharem o ajuste.

Por outro lado, os critérios OSS, que a iniciativa de código aberto desenvolveu uma década depois, coloca mais ênfase na modificação do software e nas consequências de alterar o código -fonte, o licenciamento e a distribuição.

Os dois se sobrepõem; Alguns diriam que as diferenças entre OSS e software livre são mais filosóficas do que práticas. No entanto, nenhum deles deve ser confundido com freeware. Freeware geralmente se refere a software proprietário que os usuários podem baixar sem nenhum custo, mas cujo código -fonte não pode ser alterado.

Vantagens

Embora sua falta de custo seja uma vantagem essencial, a OSS tem vários benefícios adicionais:

  • Sua qualidade pode ser melhorada e muito melhorada quando seu código -fonte é transmitido, testado e corrigido.
  • Oferece uma oportunidade de aprendizado valiosa para os programadores. Eles podem aplicar habilidades aos programas mais populares disponíveis hoje.
  • Pode ser mais seguro do que o software proprietário, porque os bugs são identificados e corrigidos rapidamente.
  • Como é em domínio público e constantemente sujeito a atualizações, há poucas chances de se tornar indisponível ou rapidamente supermodido-um importante mais para projetos de longo prazo.

Tipos populares

Tecnologias de código aberto ajudaram a estabelecer grande parte da Internet. Além disso, muitos dos programas em uso todos os dias são baseados em tecnologias de código aberto. Os casos em questão: o sistema operacional Android e o OS da Apple são baseados nas tecnologias de código aberto do kernel e UNIX/BSD, respectivamente, respectivamente.

Outro software popular de código aberto é:

  • Navegador da web do Mozilla's Firefox
  • Cliente de e -mail Thunderbird
  • Linguagem de script de php
  • Linguagem de programação Python
  • Servidor web http apache

Desenvolvedores

Projetos de OSS são oportunidades de colaboração que melhoram as habilidades e constroem conexões no campo. As áreas em que os desenvolvedores podem trabalhar incluem:

Ferramentas de comunicação

E-mail, mensagens em tempo real, fóruns e wikis ajudam os desenvolvedores a encontrar soluções ou rejeitar idéias umas às outras.

Sistemas de controle de revisão distribuídos

Quando vários desenvolvedores em diferentes locais geográficos modificam dados e arquivos, esses sistemas gerenciam as diferentes versões e atualizações.

Rastreadores de bugs e listas de tarefas

Esses recursos permitem que projetos em larga escala monitorem os problemas e acompanhem suas correções.

Ferramentas de teste e depuração

Esses recursos automatizam os testes durante a integração do sistema e depra outros programas.

A linha inferior

O software de código aberto é uma alternativa ao software proprietário. Participar de um projeto OSS pode ser um caminho para construir uma carreira no desenvolvimento de software, permitindo que os programadores aprimorem suas habilidades trabalhando nos maiores programas de software do mundo. Facebook, Google e LinkedIn todos os OSS, para que os desenvolvedores possam compartilhar conhecimento, inovar soluções e contribuir com produtos estáveis ​​e funcionais.