OSS Software de código aberto

O código aberto é disponível para a visualização, modificação e utilização, podendo ser utilizado por terceiros para fins comerciais.

Categoria de Tecnologia

Postado em 03 julho 2022

Atualizado em 03 julho 2022

Palavras-chave: open,source,code,código,aberto,fechado,privado,público,oss,tecnologia

Visualizações: 1442



Todo software que utilizamos possui algoritmos para seu funcionamento. Ao colocarmos esses algoritmos em prática, o código-fonte é gerado.

O código-fonte não passa de um conjunto de comandos escritos em alguma linguagem para fazer o software operar. Esse código pode ser vendido pelo indivíduo que possui os direitos autorais.

O preço do código irá depender da renda e dos ativos que abrangem o software. Esse código pode ser aberto ou fechado.

O que é código (source code) na computação?

O código é um sequência de comandos escritos por um programador com o intuito de fazer um software operar.

Existem várias linguagens de programação que podem ser escolhidas pelo programador para obter um melhor desempenho no produto final.

No final, essa linguagem irá ser compilada em código binário para que a máquina possa entender as instruções escritas pelo programador.

O que é código fechado (closed source) na computação?

O código fechado proíbe qualquer pessoa de visualizar, modificar ou utilizar o código-fonte de um software. Esse código só estará disponível para usuários autorizados.

código fechado

Vários softwares utilizam o código fechado. Alguns exemplos são:

  • Microsoft Windows
  • Photoshop
  • Skype

Vantagens de ter um código fechado

Um código fechado necessita de foco para ser continuado, trazendo vantagens como:

  • Melhor interação com usuários, tornando-se mais amigável
  • Melhor suporte aos usuários, tendo respostas mais rápidas em relação a bugs

O código fechado é mais focado no lucro que um software traz para uma empresa. Esse lucro permite o pagamento de salário de programadores que podem continuar focados no melhoramento do software e suporte aos usuários.

Desvantagens de ter um código fechado

Por possuir uma menor quantidade de programadores que podem acessar o código, há mais chances de brechas passarem despercebidas, como dia zero (zero-day).

O código fechado pode possuir um custo elevado em relação a manutenções e atualizações de software.

O que é código aberto (open source) na computação?

Código disponível para visualização, acesso e modificação. Porém, atos como revender código aberto não são permitidos. Alguns exemplos de códigos abertos são:

  • Linux
  • Firefox
  • Wordpress

Softwares criados com código aberto, na maioria das vezes podem ser vendidos sem a necessidade de citação ou referência do código utilizado. Para ter certeza, é sempre recomendável ler os termos de uso do código aberto.

Vantagens do código aberto

Um código aberto é disponível para que qualquer usuário possa melhorar ou reparar o código atual.

Apesar de aceitar novas modificações, não significa que qualquer pessoa pode modificar o código-fonte. O código aberto é gerenciado por um conjunto de usuários que possuem a permissão para modificar e aceitar modificações.

Quanto mais famoso é um software com código aberto, mais usuários irão contribuir para o seu melhoramento.

Esse melhoramento é feito de forma voluntária, não possuindo custos. Isso é vantajoso para os donos e para os usuários do código-fonte.

Desvantagens do código aberto

Quando um código aberto não é muito famoso, este não possui muitos contribuintes. Pelo fato do código aberto não ser focado no lucro, há grandes chances de cair no esquecimento, sendo abandonado pelo seus autores.

Conclusão

O código aberto é disponível para a visualização, modificação e utilização, podendo ser utilizado por terceiros para fins comerciais.

O código aberto pode ser usado para estudo, adaptação de novos softwares e extensão. Isso torna o código-fonte ainda mais valioso, uma vez que este é a base para todas essas extensões.

Projetos práticos

Criando um jogo de guerra nas estrelas em javascript usando a biblioteca p5.js

Jogo simples de guerra espacial desenvolvido em javascript. Esse jogo usa cálculos de física para simular efeitos de atrito e inércia.

Integrando Laravel com o protocolo MQTT para comunicação entre dispositivos

Projeto de comunicação entre dois dispositivos ESP8266 e Raspberrypi4. Laravel irá funcionar como servidor e receptor de dados de temperatura e umidade coletados com o DHT11.

Criando um sistema de mini garagem automatizada integrada com um sistema de monitoramento independente

Desenvolvimento de um sistema de monitoramento que exibi todos os eventos que acontecem na garagem automatizada, como abertura de portões ou ocupação de vagas.

Integrando o PHP com Elasticsearch no desenvolvimento de um sistema de busca

Projeto de criação de um sistema de busca usando o framework Symfony e Elasticsearch. A integração com Kibana também é feito de modo remoto com um raspberrypi.

Desenvolvendo o campo de visão de um personagem em um plano 2D

Detectando objetos que entram dentro do campo de visão do personagem. Útil para servir de "gatilho" para eventos em um jogo.

Veja também

O usuário malicioso joga a isca e espera a vítima pacientemente

Phishing tem esse nome pois a vítima se torna só mais um peixe na rede. Ter conhecimento de phishing é o melhor jeito de evitar ser um desses peixes

A biometria digital é uma grande promessa ao futuro da tecnologia

Muitos serviços já utilizam a autenticação biométrica integrada com a inteligência artificial para melhorar a experiência do usuário, além de melhorar a segurança.

Navegador

Aplicativo que adquiri e converte o conteúdo de outros servidores para a exibição de páginas na internet através de protocolos de comunicação, como o HTTP.

Linguagem de programação

A linguagem de programação é um conjunto de instruções que possuem um padrão de escritas, sendo um intermediário entre o programador humano e a máquina.

TDD Desenvolvimento orientado por testes

Método de desenvolvimento em que os testes são a base da implementação. Eficiente para mitigar bugs de forma automática.

Websockets

Protocolo que atua sobre o protocolo HTTP para múltiplas transferências de dados com uma única conexão com o intuito enviar e receber dados em tempo real.