Facebook SDK

Desde que descobri o software de código aberto (Open Source) tenho dedicado grande parte do meu tempo a ele, tanto para aprendizagem como para colaboração, mas muitas pessoas não entendem: O que há de tão especial nesse universo do Open Source? Posso dizer que além do conhecimento adquirido e compartilhado, temos a famosa liberdade!

Definição do Open Source


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

1. Distribuição livre

  • 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.

2. Código fonte

  • 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 para qualquer programador.

3. Trabalhos Derivados

  • 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.

4. Integridade do autor do código fonte

  • A licença pode restringir o código fonte de ser distribuído em uma forma modificada apenas 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. 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.

5. Não discriminação contra pessoas ou grupos

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

6. Não discriminação contra áreas de atuação

  • 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.

7. Distribuição da Licença

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

8. Licença não específica à um produto

  • 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.

9. Licença não restrinja outros programas

  • 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.

10. Licença neutra em relação a tecnologia

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

Colaborando


Este é um local em que você pode e deve tentar fazer a diferença e assim melhorar o meio. Citarei um pequeno exemplo: minha mesa digitalizadora Genius não estava funcionando no programa de pintura Krita (Se analisarmos mais de perto, descobriremos que boa parte dos dispositivos UC-Logic não estavam funcionando no programa) ao reportar este bug, colher dados e testar, acabei por ajudar os desenvolvedores a criar uma correção. Essa pequena correção garantiu que não apenas eu fosse beneficiado, mas mais que isso: que qualquer pessoa em qualquer parte do mundo que venha a utilizar o programa,  tenham suas mesas digitalizadoras UC-Logic suportadas.

Como podem ver colaborações são o que movimentam e fazem o open source crescer e ficar cada vez melhor. Existe milhares de projetos precisando de algum tipo de ajuda: codificação, documentação, tradução, doações, divulgação etc. Todo projeto FOSS é como se fosse uma casa em construção, onde cada um coloca seu tijolo, alguns contribuem com mais, outros com menos, nunca importando o tamanho ou a relevância da contribuição, mas sempre a contribuição em si. Portanto, a casa continuara sempre a crescer, abrigando todos aqueles que a construíram, assim como qualquer um que queira vir a se abrigar nela.

Comentar

Cada comentário é apreciado, mas tenha em mente que os comentários são moderados e podem levar algum tempo para aparecer. Todos os comentários de spam serão excluídos.

أحدث أقدم