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



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

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.

Caixa eletrônico usando arquitetura limpa

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

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.

Criando artes de texto usando imagens

Convertendo imagens para ascii art usando o valor da intensidade das cores cinzentas.

Criando um jogo de pacman usando javascript e pixi.js (parte 1)

Desenvolvimento dos conceitos mais básicos do clássico pacman, como: mapa, animação, deslocamento e detector de colisões.

Veja também

O DNS torna a interface do navegador mais amigável aos usuários

Antes de podermos visualizar o site, o endereço que digitamos na barra de endereço do nosso navegador passa por várias etapas, para só então podermos visualizar o site pela primeira vez...

A subclasse não deve estender a superclasse que não representa consistência em relação as suas características

No passado existiam girafas com pescoço comprido e as girafas com pescoço curto. Isso resultou em um comportamento inesperado, a seleção natural. Não queremos isso no nosso algoritmo...

Princípio aberto fechado - Open-Closed Principle

O código deve estar aberto para extensões e fechado para modificações. Podemos mudar o comportamento de uma classe adicionando mais código.

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.

Beacon

Bastante parecido com um farol que serve como sinalização para navios. Beacon tem como função enviar informações e orientações para dispositivos próximos.

Variáveis na programação

As variáveis são elementos responsáveis por armazenar informações temporariamente ou perpetuamente durante a execução de um programa ou algoritmo.