Continuaremos com nosso curso de preparação para a certificação LPI no nível essential, focando no módulo 2.
Vamos abordar tópicos relacionados a licenças. Discutiremos questões como o escopo de uma licença e a ideia original por trás do conceito de software livre, entre outros assuntos similares.
Exploraremos como utilizar licenças e os diferentes tipos disponíveis, proporcionando uma visão geral mais clara.
Além disso, nosso objetivo é promover uma abordagem prática, permitindo um contato direto com o Shell. Iremos explorar comandos, inclusive variáveis, para entender o funcionamento do Shell e a forma como interagimos com ele.
Eu sou Ricardo Merces e desejo as boas-vindas a este novo módulo!
Audiodescrição: Ricardo Merces é uma pessoa de pele clara, com rosto arredondado e olhos escuros. É careca e veste uma camiseta cinza lisa. Ao fundo, parede azul sem decorações.
Neste bloco inicial, abordaremos tópicos relacionados a licenciamento, software livre e sua natureza comercial. No cotidiano, surgem algumas confusões nessas áreas, e compreender este contexto é fundamental.
Embora teórica, essa seção é obrigatória para a certificação. Se você busca a certificação, provavelmente é um de seus objetivos. Portanto, é essencial revisar o material em discussão. Os links estarão disponíveis, e a leitura é crucial para compreender o motivo desse conteúdo ser avaliado no exame.
Dessa forma, iniciaremos nossa breve análise desses assuntos. Primeiramente, abordaremos as definições de software livre e código aberto. Um ponto fundamental a entender é que a liberdade não está associada à gratuidade. Pode ser utilizado livremente, porém isso não implica necessariamente em sua disponibilização gratuita.
Richard Stallman, o criador do movimento de software livre, apresenta uma ilustração desse conceito com a seguinte frase:
"Para entender o conceito, você deve pensar em "livre" como em "liberdade expressão", não como em "cerveja grátis."
Compreende a comparação que ele faz? O próprio fundador do movimento de software livre a elucidou.
Agora, aprofundaremos esses conceitos e promoveremos uma breve discussão sobre o tópico. Para tornar a exploração mais interativa, vamos abrir um link previamente selecionado. Acessamos o navegador e digitamos gnu.org na barra de pesquisa, seja no Chrome ou em outro navegador.
Este site é altamente útil e fornece uma grande quantidade de material, especialmente relacionado ao tema abordado no primeiro capítulo. No lado direito da página, há um ícone identificado como "languages" (idioma), que iremos clicar e escolher a opção "português" entre as alternativas disponíveis. Ao fazer isso, a página atual será exibida no idioma selecionado, mas sem travá-lo.
Por exemplo, quando clicamos em "Sobre o GNU" do lado superior esquerdo, a primeira opção na barra de ferramentas, tudo retorna ao inglês. Para ajustar isso, voltamos ao topo da tela do lado direito, selecionamos a opção de idioma e o ajustamos para português. Escolha o idioma que preferir para melhor compreensão desta questão.
Dentro dos tópicos, sugiro que dê uma lida em "História do GNU". Não vamos realizar a leitura conjuntamente neste momento para não consumir o seu tempo. O propósito é comentar alguns pontos relevantes. O primeiro ponto, como dever de casa, é ler essa seção da história do GNU.
Agora, continuaremos com os elementos realmente relevantes. No menu iremos clicar na segunda alternativa "Filosofia". Contudo, é importante retornar ao idioma português. Então, o que é crucial para a nossa compreensão visando a prova?
O que significa software livre? Vamos compreender essa definição e discutir sobre ela. Para isso, clicamos na seção "Introdução" em "O que é software livre?".
O conceito é que "software livre se refere àquele software que respeita, e aqui entra o ponto crucial, a liberdade e o senso de comunidade." No decorrer do vídeo, abordaremos as liberdades principais, que são informações que você deve compreender para se adaptar.
Em síntese, o texto enfatiza que as pessoas têm a liberdade de executar, copiar, distribuir, estudar, modificar e aprimorar o software.
Você pode estar se questionando: "Mas, Ricardo, para que isso seja possível, especialmente se eu quiser fazer alguma alteração, eu preciso ter acesso ao código-fonte do software, certo?" Sim, você está familiarizada com o tópico. No ambiente Linux, encontramos o código-fonte de forma ampla e acessível.
Mas como isso funciona precisamente? Suponha que você instale um pacote. Se o software segue os princípios que estamos analisando, você notará que o código-fonte dele está disponível. Portanto, podemos obter o código-fonte e modificá-lo, personalizá-lo, aprimorá-lo ou fazer o que for necessário com ele.
Lembra do conteúdo que revisamos anteriormente? Em "Utilizando o APT na linha de comando". Começamos a trabalhar com a linha de comando e utilizamos algumas ferramentas para atualizar o sistema. Entre essas ferramentas, empregamos o APT. Executei um APT update
e um APT install
.
Vamos apresentar um exemplo. É possível adquirir o código-fonte disponível e modificá-lo. Por exemplo, alterar uma interação. Quando a pessoa usuária executar APT install
e o processo é concluído, surge uma mensagem informando que o software foi instalado com sucesso.
Temos a liberdade de personalizar essa mensagem.
Com base nessas considerações, prosseguiremos. Sempre tendo em mente as liberdades de executar, copiar, distribuir, estudar, modificar e aprimorar o software.
Vamos continuar? Dê uma lida nessas informações, pois pretendo abordar as liberdades, que são o cerne deste estudo.
Prosseguindo com a nossa conversa, neste primeiro capítulo, abordamos uma visão geral do conceito de software livre. É importante destacar que o termo "livre" não está restrito ao significado de "gratuito". Este é um ponto fundamental para compreender o software livre. Para se qualificar como software livre, vamos consultar o site gnu.org, que já está aberto no nosso navegador.
No vídeo anterior, exploramos a definição de software livre. Se rolarmos a página para baixo ou clicarmos em "Filosofia" na barra de menu vermelha na parte superior, encontraremos os principais links.
Ao selecionar "O que é software livre", seremos direcionados para a mesma página que estudamos anteriormente. Agora, ajustamos as configurações para o idioma português novamente.
Dando continuação, vamos prosseguir.
Em "Definição de software livre" clicamos em " as quatro liberdades essenciais". É importante compreender essa seção para obter uma compreensão clara do conceito de software livre.
Trecho de texto retirado da documentação do GNU:
A liberdade de executar o programa como você desejar, para qualquer propósito (liberdade 0).
A liberdade de estudar como o programa funciona, e adaptá-lo às suas necessidades (liberdade 1). Para tanto, acesso ao código-fonte é um pré-requisito.
A liberdade de redistribuir cópias de modo que você possa ajudar outros (liberdade 2).
A liberdade de distribuir cópias de suas versões modificadas a outros (liberdade 3). Desta forma, você pode dar a toda comunidade a chance de se beneficiar de suas mudanças. Para tanto, acesso ao código-fonte é um pré-requisito.
Primeiro ponto a ser destacado, que pode ser objeto de questionamento em avaliações: são quatro liberdades, sendo que a contagem tem início em zero, seguida por um, dois e três.
A primeira liberdade, representada como zero, é a "liberdade de executar o programa de acordo com sua vontade e para qualquer propósito". Isso significa que podemos utilizar o programa da maneira que preferir, seja para desenvolver um novo software ou apenas para utilizar os resultados que ele gera. Independentemente da escolha, isso corresponde à Liberdade número zero.
A complexidade surge à medida que avançamos. Onde reside o conflito? É evidente na "Liberdade de estudar o funcionamento do programa e adaptá-lo conforme suas necessidades".
No material disponibilizado pelo gnu.org, uma fonte de referência significativa que recomendamos, é enfatizado que o acesso ao código-fonte é um requisito fundamental. Isso age como um critério definidor, uma linha divisória.
Se temos um software e não tem acesso ao código-fonte para análise ou modificação, inviabiliza a conformidade com os princípios que estamos examinando e, consequentemente, não pode ser categorizado como software livre.
Nossa fonte de referência é inequívoca: a ausência do código-fonte exclui a conformidade com a primeira liberdade, que permite que indivíduos estudem o software e compreendam seu funcionamento. Dentro do contexto dessas liberdades, também temos as liberdades dois e três.
A segunda liberdade consiste em "distribuir cópias para auxiliar outras pessoas". É crucial lembrar: a distribuição está sempre ligada ao código-fonte. Uma comparação útil é relacionar essas liberdades às diretrizes do Robocop: uma não pode suprimir a outra. A terceira liberdade é a "liberdade de distribuir versões modificadas".
Em outras palavras, você pode acessar o código-fonte, efetuar modificações e tem o direito de redistribuir essa versão alterada do software, desde que mantenha o acesso ao código-fonte e demais componentes. Dessa forma, essas liberdades foram estabelecidas para sustentar o conceito de liberdade. É relevante reiterar que "livre" não necessariamente significa gratuito.
Vale a pena observar a distinção entre software livre e código aberto, pois não são sinônimos.
Acabamos de explorar o conceito de software livre. Apesar das liberdades descritas, também há considerações relacionadas às licenças. Diversas licenças podem ser aplicadas ao nosso software.
Por exemplo, o servidor Web Apache possui um tipo de licença específico, enquanto outras aplicações adotam diferentes tipos de licenças. Cada licença possui suas próprias disposições, indicando o que é permitido e o que é restrito, independentemente da natureza ser livre ou não.
Abordaremos agora em mais detalhes a distinção entre software livre e código aberto.
O "Código aberto" implica em ter um código-fonte de acesso público. Isso diferencia o conceito de "domínio público" e a questão do "software livre". No contexto de software livre, o autor escreve o código e disponibiliza-o, mas não o coloca no domínio público.
São distinções sutis que, em situações de prova, podem gerar confusão, tornando a leitura atenta importante.
Uma questão frequente é: "Por que há Linux pago? O Linux não deveria ser totalmente gratuito?". De acordo com estas orientações, o Linux segue os princípios do software livre. No entanto, é possível comercializar aspectos como licenças e suporte, sem entrar em considerações filosóficas ou de perspectiva.
Exemplos práticos incluem empresas como a RedHat. A RedHat oferece seu código mediante uma assinatura, chamada de subscription. Essa assinatura cobre atualizações de pacotes e suporte. Para uso corporativo, especialmente quando o suporte é necessário, a assinatura é vantajosa. Muitas vezes, esse aspecto prático é negligenciado em favor de considerações filosóficas.
A situação se complica quando surge um problema, como a necessidade de homologar um aplicativo. Quando se trata de um software sem suporte pago, a responsabilidade recai sobre a comunidade. Problemas são compartilhados em fóruns e comunidades, onde alguém pode ou não oferecer ajuda conforme disponibilidade. A resolução se torna coletiva, dependendo da disponibilidade de cada indivíduo.
Por isso, essas questões muitas vezes negligenciadas, que entram em conflito com as considerações filosóficas, têm seu próprio valor. Em situações corporativas, como a implementação do OpenShift da RedHat, você adquire licenças e acesso a suporte. Ao enfrentar problemas, você abre um chamado e um engenheiro da RedHat, de acordo com seu contrato, responde em um período definido.
Em contrapartida, quando se trata de software sem suporte pago - deixando de lado o Linux para uma visão mais ampla - as soluções dependem da contribuição e boa vontade da comunidade.
É fundamental estar atento a isso. Seu ambiente operacional não é sustentado apenas por filosofias, mas pela continuidade e estabilidade de suas aplicações corporativas. Portanto, é importante considerar esses dois aspectos.
Abordamos a diferença entre "livre" e "grátis", bem como discutimos rapidamente a questão da liberdade.
No próximo vídeo, continuaremos explorando os tipos de licenças.
O curso Certificação Linux LPI Essentials: Open Source Software and Licensing possui 111 minutos de vídeos, em um total de 23 atividades. Gostou? Conheça nossos outros cursos de Linux em DevOps, ou leia nossos artigos de DevOps.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.