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: 1407



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 o esqueleto de um jogo de tiro 2D visto de cima usando P5.js

Usando lógicas matemáticas como trigonometria para criar e calcular o esqueleto de um jogo de tiro 2D em javascript

Criando um sistema de integração contínua (CI/CD)

Fazendo a integração contínua de Jenkins, Sonatype Nexus, Sonatype, JUnit e Gradle para automatizar processos repetitivos. Prática bastante usada em tecnologias de DevOps.

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.

Tutorial de programação do jogo da serpente em javascript

Programando o clássico jogo da serpente usando o framework p5.js. Tutorial indicado para iniciantes da programação que querem aprender os conceitos básico da área criando jogos.

Caixa eletrônico usando arquitetura limpa

Usando JavaFX e arquitetura limpa para criar um aplicativo de caixa eletrônico extremamente simples.

Veja também

Afinal, para que servem os cookies que sempre são solicitados quando entramos em uma página?

A política de privacidade é obrigatória para qualquer site que utiliza dados pessoais do usuário. Porém, quais dados são esses especificamente?

Uma das vantagens de ter um robô trabalhando para você é o aumento da produtividade

Hoje em dia não é mais necessário gastar o nosso tempo com tarefas que podem se automatizadas. Os robôs estão aqui para nos ajudar...

Sistema embarcado

Mini-computador fixado a um circuito elétrico integrado com outros componentes essenciais, como memória, componente de entrada e saída

Armazenamento de imagens

O armazenamento de imagens é realizado com o sistema de numeração binária. A imagem é composta por um conjunto de pixels e cada pixel representa uma cor.

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.

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.