Código aberto

Disambig grey.svg Nota: Open Source te direciona para este artigo. Se procura o álbum musical do guitarrista Kiko Loureiro, veja Open Source (álbum).

Código aberto (do inglês Open Source) é o código-fonte que é disponibilizado gratuitamente para consulta, examinação, modificação e redistribuição.[1] Os produtos incluem permissão para usar o código-fonte,[2] documentos de design ou conteúdo do produto. O modelo de código aberto é um modelo de desenvolvimento de software descentralizado que incentiva a colaboração aberta.[3][4] Um princípio importante do desenvolvimento de software de código aberto é a produção por pares(do inglês pair production), com produtos como código-fonte, projetos e documentação disponíveis gratuitamente ao público. O movimento de código aberto no software começou como uma resposta às limitações do código proprietário. O modelo é usado para projetos como tecnologia apropriada[5] e, uso na descoberta e pesquisa de medicamentos com código aberto.[6][7]

O termo "código aberto" foi popularizado pela Open Source Initiative (OSI),[8] que difere de um software livre por não seguir as quatro liberdades definidas pela Fundação de Programas Livres (do inglês: Free Software Foundation - FSF),[9] que são também compartilhadas pelo projeto Debian. Qualquer licença de software livre é também uma licença de código aberto (open source), mas o contrário não é necessariamente verdade.[9]

Enquanto a FSF usa o termo "Software Livre" envolta de um discurso baseado em questões éticas, direitos e liberdade, a OSI usa o termo "Código Aberto" sob um ponto de vista puramente técnico, evitando (propositadamente) questões éticas. Esta nomenclatura e este discurso foram cunhados por Eric Raymond e outros fundadores da OSI com o objetivo de apresentar o software livre a empresas de uma forma mais comercial evitando o discurso ético.

HistóriaEditar

O compartilhamento de informações técnicas é muito anterior à Internet e ao computador pessoal. Por exemplo, nos primeiros anos do desenvolvimento do automóvel, um grupo de monopolistas de capital possuía os direitos de uma patente de motor a gasolina de 2 tempos originalmente depositada por George B. Selden.[10] Ao controlar essa patente, eles foram capazes de monopolizar a indústria e forçar os fabricantes de automóveis a cumprir suas exigências, ou arriscar uma ação judicial.

Em 1911, a montadora independente Henry Ford venceu um desafio à patente de Selden. O resultado foi que a patente de Selden se tornou virtualmente inútil e uma nova associação (que eventualmente se tornaria a Associação de Fabricantes de Veículos Automotores) foi formada.[10] A nova associação instituiu um acordo de licenciamento cruzado entre todos os fabricantes automotivos dos EUA: embora cada empresa desenvolvesse tecnologia e registrasse patentes, essas patentes eram compartilhadas abertamente e sem troca de dinheiro entre todos os fabricantes.[10] Quando os EUA entraram na Segunda Guerra Mundial, 92 patentes da Ford e 515 patentes de outras empresas estavam sendo compartilhadas entre esses fabricantes, sem qualquer troca de dinheiro (ou ações judiciais).[10]

As primeiras instâncias do compartilhamento gratuito de código-fonte incluem versões de origem de seus sistemas operacionais e outros programas da IBM nas décadas de 1950 e 1960, e o grupo de usuários SHARE formado para facilitar a troca de software.[11][12] A partir da década de 1960, os pesquisadores da ARPANET usaram um processo aberto de "Request for Comments" (RFC) para incentivar o feedback nos primeiros protocolos de rede de telecomunicações. Isso levou ao nascimento do início da Internet em 1969.

O compartilhamento de código-fonte na Internet começou quando a Internet era relativamente primitiva, com software distribuído via UUCP, Usenet, IRC e Gopher. O BSD, por exemplo, foi primeiramente distribuído amplamente por postagens no comp.os.linux na Usenet, que também é onde seu desenvolvimento foi discutido. Linux seguiu neste modelo.

EtimologiaEditar

Em fevereiro de 1998, o rótulo "Open Source" surgiu em uma reunião, de futuras referências no tema, como Todd Anderson, Chris Peterson (Foresight Institute), Jon "Maddog" Hall e Larry Augustin (Linux International), Sam Ockman (Silicon Valley Linux User's Group) e Eric Raymond.[13]

Como a diferença entre o movimento "Software Livre" e modelo "Código Aberto" está apenas na argumentação em prol dos mesmos softwares, é comum que esses grupos se unam em diversas situações ou que sejam citados de uma forma agregadora através da sigla "FLOSS" (Free/Libre and Open Source Software).

Os defensores do modelo Open Source sustentam que não se trata de algo anticapitalista ou anarquista, mas de uma alternativa ao modelo de negócio para a indústria de software. O modelo colaborativo de produção intelectual oferece um novo paradigma para o direito autoral. Algumas grandes empresas como IBM, HP, Intel e Dell também têm investido no software de código aberto, juntando esforços para a criação do Open Source Development Lab (OSDL), instituição destinada à criação de tecnologias de código aberto.

CaracterísticasEditar

A definição do Open Source foi criada pela Open Source Iniciative (OSI) a partir do texto original da Debian Free Software Guidelines[14] e determina que um programa de código aberto deve garantir:

Livre distribuiçãoEditar

A licença não deve restringir de nenhuma maneira a venda ou distribuição do programa gratuitamente, como componente de outro programa ou não.

Código fonteEditar

O programa deve incluir seu código fonte e deve permitir a sua distribuição também na forma compilada. Se o programa não for distribuído com seu código fonte, deve haver algum meio de se obter o mesmo seja via rede ou com custo apenas de reprodução. O código deve ser legível e inteligível por qualquer programador.

Trabalhos DerivadosEditar

A licença deve permitir modificações e trabalhos derivados, e deve permitir que eles sejam distribuídos sobre os mesmos termos da licença original.

Integridade do autor do códigoEditar

A licença não pode restringir o código fonte de ser distribuído em uma forma modificada mesmo se a licença permitir a distribuição de arquivos patch (de atualização) com o código fonte para o propósito de modificar o programa no momento de sua construção pois a restrição ao código–fonte significa transformar o software livre em software proprietário. A licença deve explicitamente permitir a distribuição do programa construído a partir do código fonte modificado. Contudo, a licença pode ainda requerer que programas derivados tenham um nome ou número de versão diferentes do programa original.

Não discriminação contra pessoas ou gruposEditar

A licença não pode ser discriminatória contra qualquer pessoa ou grupo de pessoas.

Não discriminação contra áreas de atuaçãoEditar

A licença não deve restringir qualquer pessoa de usar o programa em um ramo específico de atuação. Por exemplo, ela não deve proibir que o programa seja usado em um empresa, ou de ser usado para pesquisa genética.

Distribuição da LicençaEditar

Os direitos associados ao programa devem ser aplicáveis para todos aqueles cujo programa é redistribuído, sem a necessidade da execução de uma licença adicional para estas partes.

Licença não específica a um produtoEditar

Os direitos associados ao programa não devem depender que o programa seja parte de uma distribuição específica de programas. Se o programa é extraído desta distribuição e usado ou distribuído dentro dos termos da licença do programa, todas as partes para quem o programa é redistribuído devem ter os mesmos direitos que aqueles que são garantidos em conjunção com a distribuição de programas original.

Licença não restrinja outros programasEditar

A licença não pode colocar restrições em outros programas que são distribuídos juntos com o programa licenciado. Isto é, a licença não pode especificar que todos os programas distribuídos na mesma mídia de armazenamento sejam programas de código aberto.

Licença neutra em relação a tecnologiaEditar

Nenhuma cláusula da licença pode estabelecer uma tecnologia individual, estilo ou interface a ser aplicada no programa.

Governos, Movimentos Cívicos e a Transformação DigitalEditar

No contexto da Transformação Digital de Governos pelo mundo,[15][16] o código aberto é considerado essencial para promoção da colaboração, padronização e otimização das tecnologias desenvolvidas pela e para a gestão pública.

Nesse cenário, diversos movimentos cívicos como Rede Livre, Ciudadania Inteligente, Code For America, My Society e G0v, atuam na promoção da cultura de governos, dados e códigos abertos, mobilizando profissionais, cidadãos e agentes governamentais em eventos e redes comunitárias, que geram ou maximizam o impacto na sociedade através da adoção e prática de códigos abertos e governança colaborativa nos governos e na sociedade.

Ver tambémEditar

Referências

  1. Luiz Antonio da Silva Junior (23 de Outubro de 2003). «O movimento do código aberto». Consultado em 26 de dezembro de 2015 
  2. «What is Open Source Software | Diffingo Solutions Inc.». web.archive.org. 28 de outubro de 2008. Consultado em 1 de outubro de 2022 
  3. Levine, Sheen S.; Prietula, Michael J. (1 de outubro de 2014). «Open Collaboration for Innovation: Principles and Performance». Organization Science (5): 1414–1433. ISSN 1047-7039. doi:10.1287/orsc.2013.0872. Consultado em 1 de outubro de 2022 
  4. Raymond, Eric S. (2001). The cathedral and the bazaar : musings on Linux and Open Source by an accidental revolutionary. Internet Archive. [S.l.]: Beijing ; Cambridge, Mass. : O'Reilly 
  5. Pearce, Joshua M. (1 de junho de 2012). «The case for open source appropriate technology». Environment, Development and Sustainability (em inglês) (3): 425–431. ISSN 1573-2975. doi:10.1007/s10668-012-9337-9. Consultado em 1 de outubro de 2022 
  6. Menon, Sreelatha (1 de março de 2009). «Sreelatha Menon: Researchers sans borders». Business Standard India. Consultado em 1 de outubro de 2022 
  7. «OpenSourceMalaria:Story so far - OpenWetWare». openwetware.org (em inglês). Consultado em 1 de outubro de 2022 
  8. «History of the OSI | Open Source Initiative». opensource.org. Consultado em 1 de outubro de 2022 
  9. a b «Por que o Código Aberto não compartilha dos objetivos do Software Livre». FSF. 25 de Abril de 2014. Consultado em 2 de Junho de 2014 
  10. a b c d Flink, James J. (1976). The car culture MIT Press pbk. ed ed. Cambridge, Mass.: MIT Press. OCLC 10470036 
  11. Fisher, Franklin M. (1983). IBM and the U.S. data processing industry : an economic history. James W. McKie, Richard B. Mancke. New York, N.Y., U.S.A.: Praeger. OCLC 9324977 
  12. «IBM 7090/7094 Page». web.archive.org. 27 de agosto de 2015. Consultado em 1 de outubro de 2022 
  13. Evangelista, Rafael (2 de dezembro de 2008). «linguagem nos debates sobre software livre». Palestra fisl7.0. Consultado em 25 de setembro de 2012 [ligação inativa]
  14. «The Debian Free Software Guidelines (DFSG)». Consultado em 26 de Dezembro de 2015 
  15. Governo do Reino Unido. «Seja aberto e use código aberto». Consultado em 18 de maio de 2019 
  16. Governo dos Estados Unidos da América. «Portal de Compartilhamento de Códigos do Governo Estadunidense». Consultado em 18 de maio de 2019 

Ligações externasEditar

 
O Commons possui uma categoria com imagens e outros ficheiros sobre Código aberto