RSS
Blog
Imagem com o logotipo CROSS mostrando casas no nevoeiro ou na chuva

O valor do código aberto para as universidades: UC Santa Cruz testa a água

28 de julho de 2020 - por Andrew Oram

Além de fornecer ao mundo o seu software mais duradouro e valioso - pilhas de protocolos da Internet, Linux e muito mais - o software de código aberto e gratuito oferece imensos benefícios educacionais. A diferença entre produzir um bom gerador de números primos para um professor e contribuir com o código de produção da vida real é enorme, e vários programadores podem atestar que projetos de código aberto e gratuito os ajudaram a atravessar o abismo.

Algumas universidades reconheceram o valor que podem oferecer aos seus próprios alunos e ao mundo em geral, patrocinando projetos de código aberto. Conversei recentemente com o Dr. Carlos Maltzahn, Professor Adjunto de Ciência da Computação e Engenharia da University of California, Santa Cruz, e o fundador e diretor do Centro de Pesquisa em Software Livre (CROSS). Nossa ampla discussão abordou várias maneiras pelas quais o código aberto trabalha com programas universitários.

Durante seus cinco anos de existência, o CROSS descobriu que os estudantes estão ansiosos para ingressar no programa, que pessoas em todo o mundo sem conexão formal com a UCSC se inscrevem para trabalhar em projetos e que os patrocinadores estão dispostos a apoiar os projetos com doações substanciais. Ainda é difícil alcançar a sustentabilidade - especialmente a estabilidade financeira - e a CROSS vem experimentando várias maneiras de arrecadar fundos para garantir que os projetos possam mostrar sua independência após alguns anos.

Outras universidades que alcançam e constroem comunidades em torno do código aberto incluem a Universidade da Califórnia, Berkeley (em torno da Spark), Universidade de Stanford (em torno do Open vSwitch), Universidade de Indiana, Urbana-Champaign (em torno de LLVM e Clang) e Universidade de Boston, através uma parceria com a Red Hat sobre a qual escrevi. A Red Hat, juntamente com a National Science Foundation, também lançou um recurso da Web chamado Experiência de software de código aberto dos professores (POSSE) que ensina os professores a incorporar o código aberto na educação. Aqui discutirei apenas o CROSS e as implicações de seu trabalho para outras universidades.

Educação para software livre

Todo estudante de ciência da computação bem-sucedido, quer queira ou não trabalhar em software livre, precisa atravessar a lacuna que mencionei anteriormente entre exercícios em sala de aula e ambientes de trabalho. A lacuna abrange tudo o que o programador precisa fazer antes de escrever o código e depois de escrever o código. Antes da codificação, eles precisam avaliar as necessidades do usuário, escolher tarefas úteis e obter adesão das equipes. Após a codificação, eles precisam realizar testes e integração, enviar o código para revisão, aceitar feedback, permanecer responsável pela manutenção e manter contato com a equipe em geral. Projetos de software livre fornecem excelentes comunidades para aprender essas habilidades.

Além disso, os programas de ciência da computação geralmente não ensinam os alunos a ler o código de outras pessoas. Eles não conseguem ver como são os projetos profissionais prontos para produção. Os projetos de código aberto e gratuito são fontes ricas de código de alta qualidade, que os alunos da UCSC estudam como parte de sua imersão no código aberto.

Parte do treinamento em código aberto para estudantes de ciências da computação da UCSC é baseado em sala de aula. Eles aprendem a trabalhar no Github, a dinâmica das comunidades de software livre e a história de duas grandes comunidades: o kernel do Linux e o FreeBSD. Mas eles também recebem um projeto prático incomum que devem concluir para obter uma nota de aprovação: devem obter um patch para o kernel Linux aceito. O patch deles pode ser trivial, como uma alteração na documentação, mas a atribuição exige que eles participem da comunidade.

Projetos CROSS

A CROSS concede bolsas de estudos por trabalhos em projetos de pesquisa e incubadora. Pesquisadores da UCSC Ph.D. estudantes que estão trabalhando em inovação de ponta com um caminho plausível para gerar projetos de software de código aberto. Os membros da incubadora são pós-docs que estão construindo uma comunidade de desenvolvedores em torno de um protótipo de pesquisa de código aberto.

O CROSS solicita propostas de pesquisa e incubadora duas vezes por ano e tenta iniciar pelo menos dois novos projetos por ano, sujeito à disponibilidade de financiamento. A CROSS, juntamente com seus patrocinadores e comitê consultivo do setor (que inclui Doug Cutting, Sage Weil, Karen Sandler, Nissa Strottman e James Davis), analisa todos os projetos duas vezes por ano e espera financiar cada bolsista por 2 a 4 anos. A organização ajuda os bolsistas da incubadora a disseminar sua comunidade de desenvolvedores por meio do programa Open Source Research Experience, que incentiva os alunos a trabalhar em idéias de projetos criadas e orientadas pelos bolsistas da CROSS. Assim, o CROSS é uma instalação de pesquisa e uma incubadora. o https://cross.ucsc.edu/projects/index.html A lista atual de projetos CROSS está disponível online.

Dado que o CROSS existe há cinco anos, o projeto mais antigo da incubadora está quase completo no quarto ano e enfrenta o desafio de tornar o projeto sustentável fora do CROSS. Os bolsistas da Incubator estão escrevendo bastante uma proposta de doação no momento, enquanto tornam seus projetos atraentes para comunidades de software de código aberto bem estabelecidas.

O suporte ao CROSS inclui o pagamento de bolsistas da incubadora, dando-lhes tempo para recrutar e orientar novos desenvolvedores e orientá-los à medida que se conectam a projetos de código aberto bem estabelecidos e a fontes externas de suporte financeiro. Os candidatos a incubadoras devem demonstrar interesse por comunidades de desenvolvedores conhecidas fora da UCSC ao propor seu projeto de incubadora. Veremos na próxima seção o que há para esses forasteiros.

Trabalhar em um projeto CROSS não é lucrativo. Maltzahn diz que um colega de incubadora provavelmente poderia ganhar quatro vezes mais dinheiro com um trabalho típico de codificação no vizinho Vale do Silício. Portanto, os alunos estão trabalhando nos projetos por uma paixão para torná-los bem-sucedidos, uma espécie de mentalidade de start-up.

O modelo excelente para um projeto de código aberto para estudantes é o Ceph, o software de código aberto mais popular para armazenamento de objetos. Foi desenvolvido por Sage Weil como aluno da UC Santa Cruz. Ele criou uma empresa em torno da Ceph, eventualmente a vendeu para a Red Hat, enquanto a Ceph permaneceu de código aberto. Weil então se tornou consultor da UCSC na criação do CROSS.

Os patrocinadores corporativos desempenharam um papel fundamental no CROSS desde o início. Começou com três patrocinadores e normalmente recebe cerca de US $ 100,000 de um patrocinador a cada ano, para um ganho total de US $ 300,000 a US $ 600,000 por ano. As empresas assinam porque o código aberto as ajuda a criar e moldar novos mercados, procurar oportunidades de interagir com talentos e potenciais recrutas e rastrear e influenciar a educação, a pesquisa e os ecossistemas de software de código aberto da próxima geração.

Mas o dinheiro é apenas um benefício importante oferecido por um patrocinador. Eles aconselham os alunos sobre requisitos de negócios da vida real que afetam seus projetos.

Por exemplo, um projeto CROSS chamado SkyhookDM adiciona cálculos inteligentes (como consultas distribuídas) ao Ceph. Algumas empresas que fabricam dispositivos de armazenamento de computador apóiam o projeto porque possuem margens de lucro estreitas e preferem terceirizar pesquisas pré-competitivas e de alto risco para as universidades. Mas eles podem ser uma verificação da realidade para os desenvolvedores do SkyhookDM, explicando até que ponto eles podem impor novos custos aos produtos de armazenamento. O SkyhookDM é o mais distante de todos os projetos CROSS, no sentido de desenvolver um modelo de financiamento sustentável.

Voluntários externos

O CROSS mede o sucesso de um projeto de código aberto em grande parte pela saúde da comunidade que se forma ao seu redor: não apenas o número de colaboradores é importante, mas também o número de diferentes organizações de onde eles vêm. Como vimos, o projeto deve ter desenvolvedores não afiliados à UCSC antes mesmo de obter a aprovação CROSS. A organização descobriu que seus projetos atraem muitos programadores em todo o mundo: México, Guatemala, Nigéria e Índia, por exemplo.

Alguns deles são voluntários; outros são pagos durante as sessões de verão e, às vezes, continuam a ser pagos se houver sobra de dinheiro no outono. Neste verão, a CROSS está empregando 11 alunos, todos de graduação, dos quais cinco estão na UCSC e seis de outros lugares.

Maltzahn acredita que o dinheiro não é o principal motivador, porque cerca da metade permanece como voluntária após o término dos pagamentos. Eles ficam porque podem aprender com ilustres mentores da UCSC, recebendo treinamento que não está disponível em suas comunidades locais. Ele viu a experiência que esses alunos obtêm em projetos CROSS os ajuda a entrar em programas de graduação.

Reunindo o ato da universidade

Para apoiar adequadamente projetos gratuitos e de código aberto, advogados e administradores de universidades precisam aprender muito mais sobre suas licenças e comunidades. Maltzahn ressalta que as instituições acadêmicas investiram muito em conhecimento sobre publicação, patente, lançamento de empresas e outras leis e logística no mundo proprietário, mas precisam aprender sobre estratégias de código aberto para ampliar seu impacto na sociedade.

Estudantes e professores relatam que a ciência da computação de código aberto é valiosa. Por exemplo, os alunos aprendem a encontrar as ferramentas de que precisam, em vez de apenas trabalhar no ambiente estabelecido pelo professor. Isso os deixa "produtivamente perdidos", na frase atribuída a David Humphrey, do Seneca College. Os graduados relatam que as habilidades que aprenderam, particularmente como trabalhar com outras pessoas, facilitaram a obtenção de empregos e sucesso, independentemente de o trabalho envolver ou não código aberto.

Maltzahn recomenda que as universidades de pesquisa criem escritórios de programas de código aberto (OSPOs), espelhando o Rede "Fale abertamente, desenvolva abertamente" dos OSPOs das grandes corporações. Ele também adoraria ver as universidades rastreando seu impacto na sociedade através da produção de software de código aberto, como o Ceph. Tenho a sensação de que essa pesquisa atrairia atenção para software livre e de código aberto, e instigaria muito mais faculdades a torná-lo parte do currículo de ciência da computação.

Sobre Andrew Oram:

Andrew Oram

Andy é escritor e editor na área de computadores. Seus projetos editoriais na O'Reilly Media variaram de um guia jurídico sobre propriedade intelectual a uma graphic novel sobre hackers adolescentes. Andy também escreve frequentemente sobre TI em saúde, questões políticas relacionadas à Internet e tendências que afetam a inovação técnica e seus efeitos na sociedade. As publicações impressas em que seu trabalho apareceu incluem The Economist, Communications of the ACM, Copyright World, Journal of Information Technology & Politics, Vanguardia Dossier e Internet Law and Business. As conferências nas quais ele apresentou palestras incluem a Convenção de Código Aberto de O'Reilly, FISL (Brasil), FOSDEM (Bruxelas), DebConf e LibrePlanet. Andy participa da organização de políticas da Association for Computing Machinery, USTPC.