Qual a diferença entre código fonte e código objeto? E programa open source? Qual a importância desses conceitos na hora de contratar o desenvolvimento de um sistema automatizado?
Código-fonte é o conjunto de palavras ou símbolos escritos de forma ordenada, contendo instruções em uma das linguagens de programação existentes, de maneira lógica. Existem linguagens que são compiladas e as que são interpretadas. As linguagens compiladas, após ser compilado o código fonte, transforma-se em software, ou seja, programas executáveis. Este conjunto de palavras, que formam linhas de comandos, deverão estar dentro da padronização da linguagem escolhida, obedecendo critérios de execução. Atualmente com a diversificação de linguagens, o código pode ser escrito de forma totalmente modular, podendo um mesmo conjunto de códigos ser compartilhado por diversos programas, e até mesmo linguagens.
Programas Open source, também chamados de softwares livres, são aqueles que respeitas as quatro liberdades definidas pela Free Software Foundation. Os defensores do movimento Open Source sustentam que não se trata de algo anticapitalista, mas de uma alternativa ao modelo de negócio para a indústria de software. A definição do Open Source foi criada pela Open Source Iniciative(OSI) a partir do texto original da Debian Free Software Guidelines (DFSG) e determina que um programa de código aberto deve garantir: distribuição livre (a licença não deve restringir de nenhuma maneira a venda ou distribuição do programa gratuitamente); código fonte (o programa deve incluir seu código fonte e deve permitir a sua distribuição também na forma compilada); Trabalhos Derivados (a licença deve permitir modificações e trabalhos derivados); Integridade do autor do código fonte; Não discriminação contra pessoas ou grupos; 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); 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); 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); 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); 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).
Este comentário foi removido pelo autor.
ResponderExcluir