O que é software livre? - LabeCast #08

Luciano Naganawa e Débora Atunes discutem sobre o que é software livre e trazem exemplos de como o software livre está presente no nosso dia a dia.

Descubra a importância do software livre para a comunidade de desenvolvimento de software e de que forma pode ser mais seguro do que um software proprietário.

Débora Atunes:

Olá! Eu sou a Debs.

Luciano Naganawa:

E eu sou o Luciano, e esse é o LabeCast, o podcast oficial da Labenu. Boa, gente, tudo bem? Hoje eu estou aqui com a Débora, convidada especial do LabeCast, e a gente vai falar sobre software livre. Mas antes de começar sobre esse assunto, vou pedir para Debs se apresentar e falar um pouquinho que ela faz.

Debs:

Oi gente, prazer, eu sou a Débora, mas todo mundo me chama de Debs. Eu sou engenheira de software full stack, eu trabalho como Tech Lead dentro de uma empresa chamada Quinto Andar. Mas eu trabalho para Outsmart Digital, e, além disso, eu sou mentora num programa chamado Big Open Source Sibling, que é um programa que é focado em engajar pessoas de grupos subrepresentados dentro da tecnologia, para que essas pessoas se sintam mais à vontade de contribuírem em comunidades open source. Então é basicamente isso o mais relevante que tem para trazer aqui.

Lu:

Muito legal, Debs. E se as pessoas querem saber mais sobre o open source sibling, como o que faz para as pessoas encontrarem?

Debs:

A gente está no Twitter e também no Instagram. Se vocês tiverem interesse. Instagram o nosso arroba é: @open.source.sibling . E no twitter o nosso arroba é: @opensourcesib . Além disso, a gente tem canal no YouTube e a gente tem repositório no GitHub, tudo com o nosso material para todo mundo que quiser conferir, mesmo que não esteja participando do programa, ficarem à vontade para terem esse conhecimento, então fique a vontade de procurar a gente lá.

Lu:

Legal! Então você falou que trabalha com desenvolvimento de software, tem projetos lá no Quinto Andar, na Outsmart e eu queria saber como você usa ele no dia a dia de trabalho, o software livre que estão disponíveis.

Debs:

Então, essa boa pergunta, na verdade, eu acho que é muito difícil ter, existir uma pessoa engenheira de software hoje em dia que não tenha contato com o software livre. Então, se a pessoa ela usa Linux, por exemplo, como sistema operacional, ela está usando o sistema operacional, que é software livre. Se ela usa a maior parte dessas bibliotecas que a gente consegue encontrar no GitHub que tem e que estão documentadas lá e a gente consegue acessar o código fonte por lá, são código aberto também. Então bem difícil não ter contato. Mas eu trabalho como, como eu sou full stack, eu trabalho com desenvolvimento front end e eu trabalho com react. E React é uma framework que é feito com software livre e é, isso assim, acho que está praticamente em grande parte das coisas que eu mexo.

Lu:

Acho que uma coisa interessante para quem não trabalha com desenvolvimento de software, é que tem muito software livre disponível, que você pode incorporar nos seus projetos profissionais, pessoais e como a Debs citou vários deles, e então muitas coisas você não tem que fazer do zero. Você já tem componentes, por exemplo, que trabalham com cálculo de data, que é uma coisa que sempre dá problema e você não tem que fazer todas essas lógicas do zero. Tem ferramentas já disponíveis que você pode incorporar no seu código, tem ferramentas que facilitam isso e que permitem que você encontre e que você coloque de forma inteligente dentro do seu código. Muito do que você vai fazer não precisa ser feito do zero. Você não tem que codar todas as funcionalidades. Uma parte já está prontinha, você pode aproveitar.

Debs:

Nossa, sim, e acho que o mais interessante também do software livre é que uma vez que você consegue ver o código do que você está mexendo, você consegue estudar aquele código e ver formas que você consegue melhorar ele tanto para você quanto para comunidade, mas às vezes tem alguma situação específica que você precisa, que um código que já existe realize tal ação, que é bem específico para o que você precisa. Se o código dessa funcionalidade é aberto e você consegue ver, você também consegue alterar ele e fazer, criar essa versão que funciona para você.

Lu:

Então, isso é uma das coisas muito importantes quando a gente está falando de software livre. Isso é superpoderoso. Então, além de você já então poder ter algumas coisas prontas caso você queira fazer alguma alteração, você pode fazer e você pode disponibilizar essa alteração, essa melhoria ou essa nova funcionalidade para toda comunidade. Assim como você usa coisas prontas, outras pessoas podem usar o que você fez. Isso é muito poderoso do ponto de vista de colaboração, e isso eu vejo como grande ferramenta, assim, o grande motor de evolução de tudo que é desenvolvido de software, porque é isso, uma pessoa faz, várias pessoas vão usando, e a gente vai fazendo quase como um Lego assim de juntar várias peças disponíveis e trabalhar em cima disso para criar uma coisa muito robusta. Muito do ponto de vista de segurança, de qualidade de código, de eficiência. Tudo isso o software livre ajuda bastante com isso. Acho muito legal. A gente tá falando aqui de software livre, mas a pergunta talvez que a gente poderia ter feito primeiro, mas que agora é legal explicar: o que é um software livre? Quando fala a open source é alguma coisa diferente, é só o termo em português, inglês, como que é, como que funciona?

Debs:

Acho que vamos começar falando de software livre em si, que em inglês é o free software. Ou então chamam pela sigla FOSS, que é free open source software. Ele surgiu dessa, desse movimento que falava muito sobre da importância de ter o código que a gente consome, que a gente roda dentro dos nossos dispositivos e tudo mais aberto pra gente conseguir saber de fato o que a gente está consumindo. E ele não só lutava por essa segurança da gente saber exatamente o que a gente está conseguindo rodar. Mas ele fundamenta o software livre em quatro pilares fundamentais que a gente conseguir ver o código, a gente conseguir saber o que a gente está mexendo; a gente ter a possibilidade de estudar esse código. Então a gente, não adianta a gente só ter o código aberto lá pra gente, se o código ele tiver, sei lá ele tiver de uma forma minificada que todas as variáveis elas ficaram com o nome super zoado e a gente não consegue entender o que está acontecendo. Então precisa ser um código que a gente consegue estudar e que a gente consegue também consegue mudar. Se a gente quisesse criar uma nova versão ou alguma coisa, a gente consegue fazer isso e distribuir cópias desse software. Então um software é considerado livre quando essas quatro, essas quatro coisas fundamentais, elas estão sendo aplicadas. Esse termo foi cunhado pelo Richard Stallman, que é o criador da, eu acho que a fundação, que se chama chamada GNU, que fala muito sobre software livre. Um tempo depois foi criada a ideia do open source, que é praticamente a mesma coisa. Na maior parte das vezes, a gente usa como sinônimo de open source, software livre. Mas open source, o termo foi cunhado por outras pessoas. Ele aceita algumas licenças que não necessariamente vão garantir esses quatro pilares. Então são mais permissivos, em relação a essas coisas? Exatamente mais pensando em proteger, proteger entre aspas, numa visão capitalista, proteger a empresa que criou o software. Para ela conseguir distribuir o software de uma forma que as pessoas consigam e tudo mais, mas às vezes vai ter alguma dessas linhas que ela está um pouquinho mais nublada, porque, enfim, às vezes não nessa questão de poder distribuir cópias e tudo mais, só a empresa que pode distribuir cópia, enfim, algumas coisinhas assim, mas no fim, eles acabam sendo bem sinônimos na maior parte do tempo. Isso é uma coisa que até o próprio Richard Stallman fala que na maior parte do tempo é sinônimo.

Lu:

Eu vi que aqui inglês free e open são as palavras. Mas o free que veio primeiro, ele pode ser interpretado como livre ou como gratuito. E aí isso, do ponto de vista das empresas quererem ganhar dinheiro com o software e depois a gente vai falar sobre isso. Eu acho que eles optaram pouco para não usar o free, e usar o open, para não deixar que necessariamente é gratuito, que não se pode ganhar dinheiro em cima disso. O que, de certa forma, afastava empresas do free software ou do software livre cunhado originalmente, então fizeram essa pequena alteração, foram mais permissivos em relação aos conceitos, mas continuaram com com grande parte do comportamento do software. Mais ou menos parecido.

Debs:

Eu conheci o Richard Stallman pessoalmente.

Lu:

Caramba, que legal!

Debs:

Teve um ano que ele foi lá. Ele foi convidado pela galera do meu curso, da minha faculdade para ir palestrar pra gente. E ele foi e ele é uma pessoa bem excêntrica é bem diferente, porque tudo o que ele usa tem que ser baseado em software livre. Ele gosta de ter muita noção do que ele está conseguindo rodar no computador dele. Tanto que curiosidade assim. Eu lembro que quando a gente, eu estava no diretório acadêmico nessa época, eu estava ajudando na organização do evento. E a gente ia criar um site, um flyer, para as pessoas conseguirem saber que ia acontecer o evento e a gente ia mandar para ele também esse flyer. E foi estritamente necessário que esse esse site fosse um HTML puro, que não podia ter nada rodando JavaScript nem nada porque ele renderizava, ele lia os e-mails dele e renderizava os sites por alguma coisa lá no terminal, ele não usava browsers para ele ter certeza do que estava acontecendo. Curiosidades, enfim, que eu estava falando aqui nessa palestra, acho que foi o meu primeiro contato com o que é software livre e qual é a diferença de software livre de open source. E ele era bem extremo nessa, nessa questão de que todo software ele deve ser livre, todo o software deve poder ser analisado e estudado, replicado e distribuído gratuitamente para as outras pessoas, não gratuitamente, mas reproduzido para outras pessoas. É isso nem sempre o open source vai ser assim, porque às vezes não é de interesse do capitalismo que o código seja distribuído assim para todo mundo.

Lu:

Bem interessante de ter tido essa experiência e de interagir com ele. Deve ter influenciado nas direções em que você foi aí. Mas muito legal, uma pergunta, Debs, qualquer um pode lá criar o software livre ou pegar o software livre e colaborar? Como funciona a comunidade?

Debs:

Quando a gente começa a programar e tudo mais e a gente começa a ter contato com GitHub, com outras plataformas de distribuição de código. A gente fica muito focado na parte do código em si. Então, como é que eu faço para clonar esse projeto? Pra eu já começar a codar e fazer as coisas, e a gente não repara em algumas outras abinhas que a gente tem lá em cima, do GitHub, tipo a de issues, requests A gente até acaba tendo contato, mas issues  é uma que a gente acaba não tendo muito. E um ótimo jeito de começar a contribuir com software livre é conhecendo quais são os softwares que você usa, que são softwares livres, você consegue começar a contribuir. Indo na própria página do GitHub e sugerindo melhorias. Isso já é uma forma de você estar contribuindo com o software livre. Você ir na página do GitHub, olhar as issues e resolver atuar em cima delas, resolver mudar o código para resolvê-los de graça pros mantenedores de software é um jeito de você estar contribuindo com o software livre, então é muito mais fácil do que a gente imagina e muito mais direto. Nos próprios Githubs mesmos dessas bibliotecas e tudo mais. A gente, normalmente no readme   consegue ver se eles têm algum outro lugar paralelo para engajar a comunidade. E tem muitos que têm um grupo no Telegram, um grupo no Discord ou alguma coisa assim. É muito importante você entrar lá e participar desses grupos, se você se interessa em contribuir com software livre e tudo mais. Às vezes a gente acha que não tem nada a contribuir, porque a gente está começando na carreira ou alguma coisa assim. Nunca mexeu direito com com a linguagem de programação, esse tipo de coisa, mas sempre tem alguma coisinha que a gente consegue ajudar.

Lu:

Com certeza é um pouco intimidador, imagino, né? Porque você pega uma base de código grande ou que é usada por muitas pessoas e fala: "putz, vou aqui expor meu código pra essa comunidade ou eu vou colocar código que é uma responsabilidade". Mas a comunidade é bem convidativa e você pode começar com coisas menores, identificando issues, sugerindo alguma coisa, até você de fato entrar mais, colaborar com código, abrir um um pull request, seria isso?

Debs:

É isso. E tem coisas que são extremamente simples. Às vezes a gente não percebe o quanto isso ajuda na comunidade. Então às vezes, sei lá, você chegar e tem um projeto que  toda documentação está em inglês, por exemplo, e você for lá e traduzir para português. Você já está ajudando muito a comunidade, porque tem uma nova gama de pessoas que não conseguia entender a documentação que agora vão conseguir. Então, traduzir para uma outra língua. Então isso é bem interessante. E lógico que sempre vale a pena tentar conversar com as pessoas que são mantenedoras mais recorrentes daquele software para conseguir saber se o que você está fazendo faz sentido e é realmente valioso para lá. Então, porque sei, lá vezes eu posso chegar lá no software e, tipo: "esse botão aqui é laranja, mas eu queria muito que ele fosse selado dessa outra cor nada a ver". Você pode abrir lá um pull request. Pull request todo mundo pode abrir, mas isso não quer dizer que vai ser um pull request útil. Então também tem isso. Mas às vezes as pessoas são muito mais receptivas do que a gente acha que elas vão ser.

Lu:

Debs, você deu alguns exemplos de alguns softwares que são softwares livres. Mas eu ia perguntar se você tem mais algum projeto que seja interessante ou que tem uma importância grande na comunidade de software livre.

Debs:

Tem, tem vários projetos que são grandes, então eu falei sobre um sistema operacional Linux que ele é software livre, falei de um framework, que é o React. Mas a gente tem vários exemplos o próprio Mozilla, o browser Mozilla, que é concorrente do Google Chrome. Ele é software livre e também tem outros exemplos bem interessantes que são até um pouquinho mais inimagináveis assim. Então o meu namorado, ele é meio que o doido dos carros elétricos, e carros que dirigem sozinho e ele adora tudo isso. E ele fala muito sobre o Open pilot, que dá até para procurar no Google e tudo mais pra quem tiver mais interesse. Mas ele é um sistema operacional para carro que dirige sozinho, que é baseado em software livre. E é muito interessante porque ele é assim, a gente tem outro, a gente tem alguns sistemas operacionais para esse tipo de carro que eles não são software livre, tipo da Tesla e tudo mais que são o que a gente chama de softwares proprietários. A gente não consegue entrar e ver o código deles, não consegue entrar e mudar o código deles ou alguma coisa assim. E são carros que funcionam e tudo mais. Só que quando a gente vê o Open Pilot, ele está sendo muito mais aderido em países da América Latina, por exemplo. Então, em alguns outros lugares mais específicos, porque é justamente a comunidade, por conseguir olhar o código para conseguir contribuir com ele, consegue perceber que "aqui na minha, nessa região, a rua, ela é, o asfalto é uma cor diferente. Ou então, as ruas são meio pendendo para um lado". Sei lá, tem esse tipo de detalhe… Especificidades de cada lugar, que só quem mora no lugar consegue fazer isso. A galera lá da Tesla não tá pensando, eles usam uma gama muito diferentes de ruas para fazerem coisas dos carros deles, mas eles não vão conhecer todas. E aí essa galera contribui com o Open Pilot e estão conseguindo fazer um sistema operacional que é muito mais seguro em vários outros países. Sim, então isso, esse é um projeto que eu acho extremamente interessante assim.

Lu:

Muito legal isso. A gente vê o poder do software livre ser ainda mais robusto, porque é isso. Ele não vai ficar limitado aos recursos e, a intenção de um grupo específico de pessoas, então um código proprietário de uma empresa, vai está ali limitado ao interesse da empresa. No caso, por exemplo, quais regiões que meus carros vão rodar, onde eu vou vender carro e eu vou testar onde faz sentido e tem que funcionar aqui para eles, economicamente, faz sentido isso. No código aberto, qualquer um pode vir e falar: "Eu quero aproveitar isso. Então eu vou rodar, vou testar, vou complementar com features que funcionem no meu contexto". Isso é muito legal e é muito poderoso. Então eu achei bem interessante esse exemplo. Você me contou, me deu uma prévia disso. Eu estava aqui matutando. Achei muito legal.

Debs:

É o que você falou: é muito poderoso, né? Existem vários projetos, na verdade, que são de fazendas automatizadas que eles chamam. Então, basicamente, eu quero ter umas plantinhas aqui. Eu quero fazer minha hortinha com alface, cebola, sei lá essas coisas. Só que eu não tenho tempo de cuidar delas. Então eu posso comprar essas fazendas automatizadas, que é basicamente um monte de parafernália com arduino que vai lá e vai cuidando das plantinhas sozinhas e tem câmera que consegue ver se precisa de mais água ou de menos água. E existem várias dessas que o código que cuida dessas plantas é código livre. E isso é muito interessante porque é isso, assim como a comunidade vai se ajudando. Então a gente tem um monte de planta que existe, que a gente pode plantar. Se o software fosse proprietário, ia ter uma limitação da quantidade de plantas que eles vão pensar, em quais são as plantas que eu vou dar suporte aqui. Mas uma vez que é um código aberto que as pessoas conseguem contribuir, conseguem melhorar. Eles conseguem adicionar coisas pra plantas específicas que eles têm, que eventualmente, já está criado, já eu criei um negócio para a minha planta eu posso contribuir e organicamente ir aumentando o leque de possibilidades do que dá pra fazer com aquela fazenda automatizada.

Lu:

Eu vou dar um exemplo que acho que você citou já, que é o React, que é um software livre que é muito, muito usado na comunidade desenvolvimento web front end web, muito usado. Acho que é o framework mais usado e ele foi todo desenvolvido em grande parte teve muito, muito investimento do Facebook, hoje, Meta, então é uma empresa privada que tem os próprios produtos, tem as próprias coisas. Desenvolveu um framework que é muito útil pra eles. Eles usam muito lá dentro e dentro do Facebook mas que foi desenvolvido como software livre e hoje a comunidade como um todo usa pra caramba. E por que as empresas investem nesse tipo de projeto, qual que é a intenção?

Debs:

Nossa, pode ter  N possibilidades, essa que você estava falando agora do React, por exemplo, que eu consigo imaginar que foi um acerto muito grande, deixando o React software livre é que se fosse um software proprietário, que fosse um framework que eles só usam dentro do Facebook, a quantidade de pessoas que ia conhecer o framework é muito menor, então ele ia ter que treinar os profissionais para usarem esse framework, assim que eles entrassem no Facebook e depois que eles saíssem, eles não iam usar esse framework em lugar nenhum, e aí a cada leva de novos funcionários, eles iam ter que treinando… Então ia ser um gasto imenso. O React, uma vez que eles deixaram o software livre, agora um monte de gente sabe. Então assim virou uma mão de obra que eles conseguem encontrar muito mais e com muito mais abundância no mercado, onde as pessoas, elas têm mais interesse em se especializar e tudo mais até internamente lá. E que mesmo que fosse um software proprietário, que eles não só usassem dentro do Facebook, mas eles só vendessem pra fora também não ia ter tanto alcance que ser software livre, então aí o motivo do por que isso faz sentido. Além disso, tem muito esse poder também da comunidade. Então, esse próprio exemplo que eu dei dessas fazendas automatizadas ou do próprio Open Pilot, quando você dá esse poder para as pessoas verem, elas conseguem sentir mais confiança no que elas estão usando, porque elas conseguem ver que não tem nenhum código malicioso acontecendo por debaixo dos panos, que a gente não consegue ter ideia. E elas também conseguem organicamente e você vai fazendo com que você tenha um software melhor sem você precisar investir tanto nisso. A comunidade vai acrescentando funcionalidades e tudo mais organicamente. Vai ajudando a testar mais, tudo mais. Na verdade, não necessariamente sem precisar investir tanto nisso. Não significa que com o software open source, ele não precisa de tanto investimento quanto um software proprietário, porque ele precisa e você precisa de pagar gente para manter aquele código lá e tudo mais, isso é trabalho. Mas tem essa questão de que você está muito mais próximo com as pessoas que estão usando, tem um contato muito mais, mais real assim do que o que as pessoas estão precisando.

Lu:

Uma coisa que eu escuto muito é que o pessoal fala que na hora de recrutar a comunidade que já usa, que já colabora com software livre, tende a ir para empresas que também trabalham com software livre, seja usando, seja criando, investindo, colaborando. A empresa não necessariamente possa criar, ela pode, por exemplo, fazer uma doação, dar um apoio, investir recurso da empresa na colaboração dos projetos Open source. Isso eu vi que foi um mecanismo muito, muito intenso, muito forte e sempre no mercado de tecnologia. E é uma motivação para as pessoas atraírem as pessoas que exigem um pouco assim. Se é uma empresa grande de tecnologia, com muito poder, como Facebook, Google, é esperado que você colabore com a comunidade de código aberto, de software livre. E motiva, é atrativo para as pessoas que querem trabalhar nesses projetos, que querem estar interessadas e acompanhar. E isso é bem legal e bem visto.

Debs:

Isso que você falou assim das pessoas elas quererem trabalhar com empresas que são software livre e tudo mais. Eu acho que isso é muito, porque toda essa questão do software livre é principalmente uma questão política de você ter o controle do que você está rodando no seu computador. O que está acontecendo com, qual é algoritmo que você está interagindo, né? Então tem muita gente que começa a trabalhar com software livre e depois só quer passar a usar coisas que são software livre e começa a querer trabalhar com empresas que trabalham com isso. A gente tem extremos, tipo Richard Stallman que vai querer de fato deixar de usar qualquer coisa proprietária. Acho que tem poucas pessoas que são assim, mas essa com certeza é uma tendência.

Lu:

Uma coisa que talvez pessoas que estão ouvindo podem achar estranho ou podem estar com essa dúvida. Mas dá para ganhar dinheiro com o software livre? As pessoas estão investindo tempo, recurso, seja colaborando, seja criando organizações. Dá pra ganhar dinheiro em cima disso, que funciona boa.

Debs:

Boa, dá. Eu acho que a gente pode dividir em duas partes essa resposta. Então, como que a gente ganha dinheiro como pessoa física?  Eu, Débora desenvolvedora, como que eu posso ganhar dinheiro com software livre? E depois como pessoa jurídica. Essas empresas realmente estão fazendo dinheiro? Elas estão só, sei lá, algum esquema do mal? Enfim, a gente como pessoa física, a gente consegue ganhar dinheiro trabalhando para empresas que trabalham com software livre. Então a gente tem um monte aqui no Brasil mesmo, tem a Red Hat, tem a Open Knowledge Brasil,  que ela trabalha com software livre, também tem vários exemplos de empresas que elas criam o software livre, elas mantêm o software livre e elas contratam pessoas para serem mantenedoras desses softwares. Então sim, tem como ganhar dinheiro aí. Agora, como pessoa jurídica, como que as empresas elas ganham dinheiro?  Então tem alguns jeitos. Eu já trabalhei com a Open Knowledge Brasil por um tempo. Eles trabalham com projetos que são voltados para a política aqui no Brasil, principalmente abrir informações sobre o que está rolando na política brasileira. Trabalham muito com jornalismo de dados e tudo mais, e essas informações são de interesse muito grande de várias organizações de pesquisa aqui no Brasil ou até mesmo para o próprio governo. Assim, então eles ganham bastante patrocínio dessas fundações.

Lu:

Em forma de doação, apoio.

Debs:

Exatamente, ou então até de parceria. Como uma consultoria que está criando o código para essas fundações. Então essa é uma forma de ganhar dinheiro através dessas parcerias e tudo mais, mas às vezes está dentro do próprio modelo de negócio. O exemplo do Open Pilot e do Farm Bot. O que acontece é que eles têm o software, e o software é muito importante porque no fim é ele que vai trazer o maior valor agregado ali, o software que vai fazer o carro andar, o software que vai fazer a fazenda funcionar. Só que eles não ganham dinheiro através do software porque é distribuído de graça. Eles pegam e ganham dinheiro com as outras coisas que eles vendem, que fazem com que o software funcione. Então o  Farm Bot  tem toda essa parafernália eletrônica que precisa para montar as coisas e eles vendem isso. E o software vem junto. O modelo de negócio já prevê que eles não vão ganhar dinheiro com o software, que eles vão ganhar dinheiro com a parte física da parada. E o Open Pilot é mais ou menos isso, assim. Para um carro, ele ser autônomo, ele poder dirigir sozinho, ele precisa ter alguns componentes ali, tal de câmera e tudo mais que você precisa instalar. Eles vendem isso.

Lu:

Eu já vi alguns projetos, onde, por exemplo, sei lá, um servidor para fora, sei lá que ele é open source gratuito. Você pode clonar, subir numa máquina e rodar localmente ou na nuvem. E é isso. É gratuito. A empresa desenvolveu, e é gratuito, mas se você quiser que essa empresa hospede, mantenha e dê suporte para você rodar um fórum, aí você paga uma fee mensal, você consegue ver o código, saber o que está acontecendo ali, ver o que está rodando. Você pode complementar, mas tem essas duas alternativas. Acho esse modelo interessante. Eu não sei quão lucrativo ele é, quanto que ele dá certo no mercado, mas eu já vi algumas empresas normalmente menores um pouco, com essa alternativa.

Debs:

Eu acho que a própria Rocket Chat faz isso. 

Lu:

Isso!

Debs:

Você está tentando esconder o nome da empresa?

Lu:

Não, eu tinha esquecido, mas o Rocket Chat é exatamente esse caso.

Debs:

Eu acho que o que o software da Red Hat também são assim. Eles disponibilizam o software e aí eles atuam como uma consultoria que podem dar um suporte, uma customização para o software, para o que a empresa precisa especificamente. Mas o é software livre. 

Lu:

Legal, Rocket Chat é empresa empresa brasileira, é muito legal,  então estamos bem aí na comunidade open source também. A última pergunta que eu tenho pra você e super importante, que pode ser uma coisa que pode parecer que o software livre ele é mais vulnerável, porque o código está tudo aberto. Qualquer um pode ver o que está acontecendo. Aí eu vou descobrir a falha ali e vou hackear quem quer que esteja usando software livre. Então a pergunta é o software livre, ele é seguro? Eu posso ficar tranquilo usando o software livre nos meus projetos? Como que é isso?

Debs:

Não… Brincadeira! Sim, na verdade, tem toda uma vertente de pessoas que fala que, na verdade, o software livre ele é muito mais seguro do que um software proprietário para você, pessoa final que está usando, porque quando a gente está falando de um software proprietário, é uma coisa que você confia. Assim, se eu chego e aperto um botão que é para realizar tal ação, quando você não consegue ver o código, você está confiando que o botão só vai fazer aquela ação e não vai ter nenhum desvio no caminho que vai fazer alguma outra coisa, com aquela informação que você não quer. Você não tem como saber. Quando você está lidando com o código com código aberto, você consegue no código que você consegue olhar. "De fato, não tem mais nenhum comando entre este e este". É só isso que ele vai fazer. E mesmo que você não seja uma pessoa que manje de ler aquele código em específico, tem toda uma comunidade de pessoas que usa aquele código que eventualmente alguém consegue ler, ele acaba sendo mais seguro, acaba dando muito mais confiança nesse sentido. Além disso, pelo código estar aberto, fica muito mais fácil. Assim tem esse porém que você falou que é muito mais fácil de encontrar vulnerabilidade, mas justamente por ser muito mais fácil de encontrar vulnerabilidade, é muito mais rápido o conserto dessas vulnerabilidades. Então a gente tem pessoas que já estão olhando para aquele código e com o intuito de: "Eu uso esse código, eu quero que ele seja seguro, então vou lá e ajudá-lo a ser mais seguro e tudo mais". Então a gente tem muito mais reporte de quando tem alguma vulnerabilidade acontecendo e tudo mais e muito mais rapidez em arrumar essas vulnerabilidades. Então ele acaba assim sendo, sendo bem seguro. Lógico que tem softwares e softwares, depende de quem está mantendo, depende da comunidade e tudo mais. Mas a tendência é de ser mais seguro. 

Lu:

Muito legal, Debs, nessa parte é isso. Você identificar todas as vulnerabilidades de um código é muito difícil. Tem que por muito esforço de uma equipe para identificar todas as possíveis vulnerabilidades. Quando você tem uma comunidade aberta, onde está todo mundo usando o mesmo código é uma comunidade maior de pessoas. E é de interesse dessa comunidade, que o código seja seguro.

Debs:

Exato. Uma coisa que é interessante saber também é que quando a gente fala de open source, a gente está falando só do código mesmo, do algoritmo que vai rodar as coisas. Mas junto desse código a gente não consegue ver quais são as credenciais que o sistema está usando e tudo mais. A gente não consegue ver qual que é o banco de dados que ele está acessando, quais são os dados que estão no banco de dados somente porque a gente não tem as credenciais, é esperado que as credenciais sejam colocadas de forma separada em variáveis de ambiente justamente por causa disso. Então, é muito seguro também para se eu uso um software livre, eu tenho a garantia de que alguém nada a ver  não vai conseguir ver os dados que eu estou colocando nesse software. Então, a menos que ele também tenha dados abertos, aí é outra coisa. Mas não é o caso. Inclusive isso me lembrou agora do Telegram… É que o Telegram, em especial, ele tem essa questão que ele tem um pedaço do código dele aberto, mas eu acho que tem alguns módulos que não são abertos. O Telegram para quem não lembra é aquela plataforma que todo mundo vai quando o WhatsApp cai, então ele é concorrente do WhatsApp. Então ele se popularizou muito por ele ser código aberto. E eu uso Telegram todo dia, mas isso não quer dizer que outras pessoas conseguem ver as mensagens. Voltando um pouquinho, isso lembra aquela só outra pergunta por que uma empresa deixa o código aberto? Mas isso não é ruim para os negócios? Porque é um código que ela não pode vender. Acho que o Telegram é um exemplo legal. Eles têm o código aberto, então é um código que alguém poderia ser replicar e criar o próprio  Telegram, se quisesse. Então criou lá o Debsgram. Mas pra eles não importa se outras pessoas começarem a fazer isso, porque o principal valor deles eles entendem que não está no código do Telegram. Isso qualquer um pode ter, mas está nas pessoas que estão usando Telegram, porque é a mesma coisa do WhatsApp, que é muito famoso, porque está todo mundo no WhatsApp, o Telegram é famoso, porque está todo mundo no Telegram, não ia ter ninguém no Debsgram.

Lu:

Bem legal, Debs. Muitos exemplos de como o software livre está no nosso dia a dia e está presente e é da importância que ele tem para a comunidade de desenvolvimento de software. A gente que já viveu um pouco disso e já se acostumou, mas a gente é muito curioso, muito diferente de como outros, como outras áreas, lidam com propriedade intelectual. Isso é uma coisa super diferente da comunidade do software. E muito poderoso tudo o que a gente faz. Se não tivesse software livre, não teria metade das coisas que a gente tem hoje usando.

Debs:

Sim, exatamente. Então, pessoas que estão ouvindo esse podcast, a próxima vez que vocês forem criar um projeto no GitHub e quando estiver lá, naquele pedacinho de escolher a licença, escolham a licença de software livre, escolham uma licença que deixa as pessoas olharem o código de vocês, replicarem e estudarem, fazerem coisas em cima dele, porque isso é muito importante para todo mundo crescer como desenvolvedor e a comunidade aumentar. Acho que uma outra coisa que é legal de comentar antes de antes da gente encerrar, para quem tiver interesse em começar a contribuir com software livre, e quiser trabalhar com isso. Mas não sabe exatamente por onde começar. Existem várias iniciativas legais. Eu lembro de duas, agora. Uma se chama Outreachy e a outra é o Google Summer of Code. São editais que eles abrem em determinados momentos do ano, não lembro se é no final, no meio, no início. Mas eles abrem com uma lista de um monte de projetos open source. Então tem a Mozilla, tem o próprio Linux, mas tem alguns projetos que a gente nem conhece tanto, mas que são open source, que precisam de pessoas para realizarem algumas coisas deles. Na verdade, eles abrem como se eles tivessem contratado estagiários. Então é para quem está começando mesmo pra quem quer começar a mexer com software livre, as pessoas podem se inscrever e tudo mais. Elas são remunerados por passar esse tempo codando para as comunidades. Então são oportunidades bem legais, especialmente porque elas são pagas em dólar. É um momento em que você vai conseguir ter um contato com agitadores da comunidade e tudo mais e entrar mais nesse mundo e conhecer.

Lu:

Experiências por si só já é super legal e com a remuneração melhor ainda.

Debs:

Sim, exatamente.

Lu:

Então fica só no ar essa oportunidade para se alguém tiver interesse. Às vezes essas coisas existem, e a gente nem sabe, né? É isso, gente. Conversamos bastante aqui com Debs sobre software livre, especialista praticamente aqui.

Debs:

Não, gente, eu não sou especialista.

Lu:

Mas tem várias experiências legais nessa área e pode compartilhar aqui com a gente. Convidada especial, obrigada por ter vindo, aqui, falar com a gente.

Debs:

Muito obrigada. Muito obrigada por me chamarem mesmo.

Lu:

Gostou do episódio de hoje? Você pode interagir com a gente lá no Instagram: @labenu_ 

e discutir um pouquinho mais sobre o episódio de hoje. A gente também disponibiliza todas as informações, transcrições e detalhes sobre o episódio lá no nosso blog: www.labenu.com.br/blog

E por fim, você pode acompanhar todos os episódios do LabeCast, no YouTube, no Spotify ou qualquer outra plataforma de áudio. A gente lança episódios novos toda terça feira. Bom, se você gostou desse episódio, dá um like pra gente, se inscreve no canal e ativa sininho para receber as novidades do nosso canal, até a próxima.

Referências:

Big Open Source Sibling

https://github.com/BOSS-BigOpenSourceSibling/BigSibling

https://twitter.com/opensourcesib

https://www.youtube.com/channel/UCQxKAvq-QLq57dqGYI_TuFw

https://www.instagram.com/open.source.sibling/

Open Pilot

https://comma.ai/

Farmbot

https://farm.bot/

Google Summer of Code

https://summerofcode.withgoogle.com/

Outreachy

https://www.outreachy.org/