Grupos do Instituto de Matemática e Estatística da USP que estudam e incentivam o uso de software livre, em especial o Linux, querem atrair estudantes para colocar novos projetos em prática
Presente em aplicações como o sistema operacional Android, o drone Ingenuity da Nasa, que sobrevoa Marte, e o console de jogos portátil Steam Deck, o Linux é um dos maiores exemplos de sucesso e inovação no mundo do software livre. Ele permanece em constante desenvolvimento graças à sua comunidade ativa, incluindo o Instituto de Matemática e Estatística (IME) da USP, que possui mais de 30 anos de estudos nessa área, principalmente com o sistema operacional (SO) de código-fonte aberto GNU/Linux, envolvendo os alunos em várias iniciativas de trabalho em equipe.
Em comemoração a esse marco, o Centro de Competência em Software Livre (CCSL), a Rede Linux, o grupo de extensão Floss at USP (Flusp) e representantes de empresas da área se reuniram no evento IME loves Linux, no final de maio, no Auditório Imre Simon do IME, para apresentar seus trabalhos aos interessados pelo universo do software livre e convocá-los a participarem, retomando e propondo projetos, além de debater experiências e modos de estimular mais pessoas a usarem, estudarem e colaborarem com o GNU/Linux.
O evento acompanha o calendário do Google Summer of Code (GSoC) para 2023, programa de inserção e motivação para contribuidores de projetos de software livre que fornece recursos financeiros para estudantes desenvolverem em três meses grandes projetos nessa área.
Ensino, pesquisa e extensão
O Centro de Competência em Software Livre é um órgão do Departamento de Ciência da Computação fundado em 2008 que reúne alunos, professores e pesquisadores dispostos a incentivar o desenvolvimento, a pesquisa e o uso do software livre dentro e fora da Universidade. Seu objetivo maior é promover o desenvolvimento científico e tecnológico do Brasil. Um dos destaques da história do IME na área é a tese de mestrado do atual professor Fabio Kon sobre um sistema de arquivos do kernel Linux, iniciada em 1991, ano de lançamento da primeira versão do Linux, e defendida em 1994.
O grupo promove atividades relacionadas ao ensino de graduação e pós, pesquisa, desenvolvimento e divulgação de informações sobre os softwares livres, como palestras para estudantes do ensino médio e participações em eventos de tecnologia. Outros aspectos desse ecossistema, tais como questões jurídicas e de trabalho, também são discutidos.
Além disso, o CCSL realiza apresentações sobre estudos tecnológicos para formuladores de políticas públicas, como numa audiência pública do Supremo Tribunal Federal (STF) de 2017 que discutiu o bloqueio judicial do WhatsApp e o Marco Civil da Internet. Nelson Lago, gerente técnico do CCSL, e Juliano Maranhão, professor da Faculdade de Direito (FD) da USP, discursaram sobre a validade da intervenção judicial com base em argumentos de suas áreas de especialidade.
Como Lago explicou no evento IME loves Linux, atualmente a divulgação de informação é mais pontual, já que o software livre está bem mais conhecido na comunidade. O que o centro ainda oferece periodicamente, por exemplo, são as palestras de introdução a esse universo aos ingressantes do IME e estudantes de outros institutos do ensino superior. Dessa forma, a maior parte dos trabalhos é dirigida para a criação de programas livres.
Projetos
Um dos projetos realizados pelo CCSL foi o Eclipse @ IME/USP, que permitiu o treinamento de pessoal, o desenvolvimento, a pesquisa e a investigação de formas de usar relacionados ao Eclipse, plataforma e ferramenta de criação de Ambientes Integrados de Desenvolvimento, como o Java e o Python. Uma das aplicações desenvolvidas pelo CCSL dentro dessa plataforma foi o projeto de pesquisa AcMus, que levou à criação de um software, para investigar os aspectos determinantes da qualidade acústica em salas de música e, assim, obter dados das características físicas dos ambientes.
Dos projetos que estão ativos, há o InterSCity, para pesquisas sobre cidades inteligentes, campo que busca meios de melhorar a qualidade de vida da população a partir das Tecnologias de Informação e Comunicação. Alguns dos softwares resultantes são o Plataforma InterSCity, plataforma para viabilizar o desenvolvimento dos projetos com tecnologias avançadas, e o InterSCSimulator, um simulador de tráfego que consegue analisar rapidamente o fluxo de veículos de grandes cidades como São Paulo. Com sede no IME, o projeto envolve mais oito universidades brasileiras e parceiros internacionais, além de convênios com a Prefeitura de São Paulo em projetos de amparo a políticas públicas nas áreas da saúde e mobilidade urbana, como o BikeScience, com foco em mobilidade ativa (por bicicleta e a pé).
Há também o Arquigrafia, uma rede social para a construção colaborativa de um acervo digital de imagens da arquitetura brasileira, com materiais como fotografias, desenhos e vídeos, que constitui um laboratório de pesquisa aberto às contribuições de usuários da comunidade da arquitetura, órgãos institucionais e demais interessados. O código aberto do Arquigrafia pode ser usado para a construção de outras redes sociais baseadas no compartilhamento e estudo de conteúdos. Esse projeto é realizado em parceria com a Faculdade de Arquitetura e Urbanismo (FAU), a Escola de Comunicações e Artes (ECA) e a FD, todas da USP.
Confira mais projetos do CCSL já finalizados neste link. A lista dos trabalhos em andamento está aqui. Outros estão abandonados, como o Corretor Gramatical para o OpenOffice.org (CoGrOO), um sistema que detecta erros gramaticais na língua portuguesa em diversos níveis textuais por meio de técnicas estatísticas de processamento de linguagens naturais. Os alunos que se interessarem podem contatar o centro e ajudar a retomá-lo.
Outras ações do CCSL disponíveis on-line são um curso de introdução ao Python, em português, no Coursera, plataforma de ensino com certificação liberada para alunos USP, e o blog Código Aberto: o lado livre da internet, atualizado até 2017, mas ainda on-line, no jornal O Estado de S. Paulo, com textos simples, curtos e bem-humorados que explicam aspectos dos softwares livres por meio de exemplos concretos.
Sobre desafios futuros, o principal objetivo do CCSL é levar os alunos para projetos de pesquisa maiores que avancem em seu desenvolvimento a ponto de, por exemplo, alcançarem outros grupos de pesquisa. O envolvimento com equipes grandes de trabalho externas ao departamento é uma experiência importante para os alunos, que, segundo Nelson Lago, seria mais viável sendo uma atividade da carga horária da graduação, e não extracurricular.
Se você ficou interessado em participar de alguma atividade do CCSL ou quiser tirar qualquer tipo de dúvida sobre os projetos, entre em contato com a equipe pessoalmente no centro, localizado na Av. Prof. Luciano Gualberto, 1171 (anexo do Bloco C do IME), ou via e-mail no endereço ccsl@ime.usp.br. Além da unidade do campus Butantã, o Instituto de Ciências Matemáticas e de Computação (ICMC) da USP em São Carlos também tem seu CCSL: o Centro de Competência em Open Source (CCOS).
Por que desenvolver softwares livres?
Softwares de código aberto permitem que qualquer pessoa modifique e aprimore seu funcionamento diante da aprovação da comunidade de desenvolvedores. Os sistemas operacionais (SOs) Microsoft Windows e Apple macOS, que dominam o mercado, são classificados como proprietários por terem seu código fechado, exigindo uma série de permissões de distribuição e termos de uso para acessá-lo, além da barreira financeira. Nesse contexto, os softwares livres são mais práticos para o usuário, que não precisa se preocupar com a licença ou a compra de novas atualizações, e mais ágeis para a resolução de problemas, por não serem de conhecimento de um único fornecedor, mas de uma comunidade inteira, como conta Nelson Lago, gerente técnico do CCSL.
“O modelo colaborativo do software livre permite reduzir custos e aumentar a qualidade do produto”, acrescenta Lago. Além das questões pragmáticas, a ética no software livre é mais transparente nos aspectos da privacidade e segurança de dados.
“O kernel Linux tem uma diversidade gigantesca de projetos e interações entre diferentes comunidades”, conta Rodrigo Siqueira, engenheiro de desenvolvimento de software na empresa Advanced Micro Devices (AMD), mestre em Ciência da Computação pelo IME e ex-integrante do Flusp, ao explicar conceitos dos SOs no evento. “Kernel” é o núcleo do SO, parte que integra o hardware à interface do usuário. Tecnicamente, o “Linux” é um tipo de kernel, mas a comunidade geralmente usa o nome como termo para se referir a todos os SOs que usam o kernel Linux, também chamados de distribuições Linux.
Siqueira vê a comunidade do Linux como “extremamente entusiasmada”, diante da quantidade de contribuições investidas no kernel. “Até onde eu sei nenhum outro projeto de software livre consegue tudo isso.” A aplicação no console Steam Deck, por exemplo, anima a área. “Os jogos sempre foram um ponto fraco do Linux e hoje está tendo inclusive um desempenho melhor que o Windows.”
Trocando conhecimentos sobre software livre
O Floss at USP (Flusp) é um grupo de extensão do IME que procura colaborar com projetos floss, termo que se refere a Free/Libre/Open Source Software, a partir da troca mútua de conhecimentos entre os participantes. O grupo já conseguiu implementar várias contribuições: de janeiro a abril de 2019, por exemplo, foi responsável por quase 20% das colaborações feitas no subsistema Industrial Input/Output (IIO) do Linux.
Hoje, o Flusp está com a maior parte de suas atividades paralisadas por conta da falta de integrantes, que foram saindo ao longo da pandemia sem que novos entrassem. Por isso, Bruna Bazaluk, que foi membro do grupo e hoje realiza mestrado na área de software livre, fez um convite no evento para todos os entusiastas de código aberto a reviverem o Flusp: são bem-vindos alunos da graduação e pós-graduação do IME e de outros institutos, funcionários da USP e qualquer interessado de fora da Universidade.
A principal dinâmica do grupo é revisar os códigos, discutindo o resultado com os colegas, e compartilhar o conhecimento entre todos. “Uma das partes mais importantes do software livre é essa interação com a comunidade”, conta Bruna. Segundo ela, a participação no Flusp permitiu a vários alunos oportunidades de eventos, estágios e empregos, como o Google Summer of Code (GSoC). “Nós aprendemos a lidar com a comunidade, como desenvolver e mandar as contribuições, e isso gera chances para participarmos dessas iniciativas.”
O grupo costumava participar de eventos pelo Brasil e promover atividades como palestras, seminários e workshops, além da Collaborathon, uma maratona que reunia pessoas para desenvolver pedaços de código para um subsistema do Linux de forma colaborativa, e não do modo competitivo típico dos hackathons. Alguns ex-integrantes do Flusp continuam organizando anualmente o Install Fest, evento para instalar o GNU/Linux nas máquinas dos calouros do IME que quiserem.
Kernel Dev Day e o Install Fest promovidos pelo Flusp no Instituto de Matemática e Estatística da USP – Foto: Reprodução/Facebook Flusp
Se você quiser ajudar a retomar o Flusp, entre em contato por esta lista de links ou pelo grupo no Telegram, que permanece ativo e recebe qualquer interessado, mesmo quem não deseja se tornar membro.
Além do Flusp, há mais dois grupos de extensão dentro do CCSL: o Hardware Livre USP, em que estudantes da graduação ao doutorado pesquisam aplicações com hardware livre, e o USPGameDev, para pesquisa e desenvolvimento de jogos com ferramentas livres.
Uma rede para tarefas acadêmicas
A Rede Linux é uma rede de computadores e outros serviços computacionais disponibilizada para uso dos alunos em suas tarefas acadêmicas que usa o Debian, um SO com kernel Linux. Ela nasceu a partir da iniciativa dos estudantes de Ciência da Computação Adriano Rodrigues e Felix Almeida, em 1995, como o Grupo de Usuários Linux (GUL), um núcleo para trocas de informação sobre o Linux, até se tornar o que é hoje em 1999, quando eles instalaram o Debian em todos os computadores das salas Pró-Aluno e assumiram seu gerenciamento. A Pró-Aluno é um projeto da USP que dispõe nos institutos de salas equipadas com computadores com sistema Windows e impressoras para os alunos.
Toda a administração do projeto continua nas mãos de alunos de graduação do IME e de outros institutos, que recebem uma bolsa de monitoria fornecida pela Universidade. Além de ajudar os usuários a conhecerem os softwares livres, eles compartilham informações sobre o sistema e colaboram com o desenvolvimento do kernel Linux e de ferramentas relacionadas ao seu desenvolvimento, por meio de disciplinas como Desenvolvimento em Software Livre e Laboratório de Métodos Ágeis, e, mais constantemente, via o GSoC.
Além dos computadores, exemplos de componentes da Rede Linux são um servidor que roda o Puppet, ferramenta que configura as máquinas para que todas estejam com os programas selecionados instalados, e o NFS, servidor que hospeda todos os arquivos utilizados pelo usuário em rede para que não fiquem localizados no disco local de uma máquina específica.
Os atuais administradores da rede têm vários planos para melhorar o projeto, que podem se concretizar com a ação de novos participantes. Algumas ideias são atualizar o Debian e os pacotes do Puppet das máquinas dos usuários, tarefa que exige um tempo considerável da equipe, e instalar duas máquinas com placa de vídeo RTX 3070 que chegaram ao departamento em 2022 para serem servidores de processamento.
Caso você queira colaborar com novas ideias ou integrar a equipe da Rede Linux, entre em contato pelo e-mail admin@linux.ime.usp.br ou no telefone (11) 3091-6482. Qualquer aluno da USP pode participar.
Por Luisa Hirata – Jornal da USP