NASA e software de código aberto

Views: 184
0 0
Read Time:7 Minute, 6 Second

Desde o pouso na lua até o Telescópio Espacial James Webb e muitas outras missões científicas, o software é fundamental para a Administração Nacional Aeronáutica e Espacial dos EUA (NASA). O compartilhamento de informações também está no DNA da agência espacial desde o início. Como resultado, a NASA também contribui e lança software de código aberto e dados abertos. Em uma palestra no FOSDEM 2023 , o oficial de dados científicos Steve Crawford falou sobre a NASA e o software de código aberto, incluindo os desafios que a NASA enfrentou ao usar o código aberto e as recentes iniciativas da agência para diminuir as barreiras. 

O software sempre foi uma grande parte do trabalho da NASA. Quem nunca viu a foto da cientista da computação Margaret Hamilton ao lado de uma pilha de cópias impressas do software Apollo que ela e sua equipe no MIT produziram? A pilha de código é tão alta quanto ela. Em 2016, o código-fonte original do Apollo 11 Guidance Computer para o comando e os módulos lunares foi publicado no GitHub em domínio público. Você pode até compilar o código e executá-lo em um simulador . 

Compartilhar suas descobertas também sempre fez parte da herança da NASA, enfatizou Crawford. Ele mostrou a seção 203(a) da Lei Nacional de Aeronáutica e Espaço de 1958, que criou a NASA. Afirma que a agência deve “proporcionar a mais ampla e adequada divulgação possível de informações sobre suas atividades e seus resultados”. 

Do desenvolvimento aberto aos spin-offs

Nos últimos anos, cada vez mais esse compartilhamento também ocorreu na forma de lançamento de software. Por exemplo, quando o helicóptero drone da NASA Ingenuity fez seu primeiro voo em Marte em 2021 como parte da missão Perseverance, ele usou uma estrutura de controle de voo de código aberto, F Prime . O Laboratório de Propulsão a Jato da NASA (JPL) lançou a estrutura em 2017 sob a licença Apache 2.0. Uma das implantações de exemplo é executada no Raspberry Pi. Mas a missão da NASA também usou muitas dependências de código aberto. Para comemorar o primeiro voo do Ingenuity, o GitHub reconheceu as mais de 12.000 pessoas que contribuíram para essas dependências com um selo em seu perfil . 

Outra missão de destaque sobre a qual Crawford falou é o Telescópio Espacial James Webb, lançado em dezembro de 2021. É uma colaboração com a Agência Espacial Europeia (ESA) e a Agência Espacial Canadense (CSA), e o sucessor do Telescópio Espacial Hubble lançado em 1990. Seu software de calibração é desenvolvido abertamente no GitHub, permitindo que os cientistas testem seus projetos. A biblioteca do software é desenvolvida em Python e faz uso do Astropy, que lida com tarefas comuns de astronomia, como conversão entre diferentes sistemas de coordenadas e leitura e gravação de arquivos com dados astronômicos. A NASA não usa apenas projetos de código aberto no F Prime e no software de calibração do Telescópio Espacial James Webb, mas também em muitos outros projetos. Alguns desses projetos podem ser vistos no slide de Crawford acima.

Crawford listou muitos outros softwares de código aberto que a NASA lançou em sua longa história, chamando-os de “apenas uma pequena amostra”. Ele também observou que alguns desses projetos se tornaram spin-offs. Por exemplo, em 2008 a NASA iniciou um projeto chamado Projeto Nebulosapara padronizar seus sites. Em seguida, evoluiu para algo que estava atendendo a necessidades mais gerais. Isso fez com que a NASA unisse forças com a Rackspace para criar o projeto de infraestrutura de computação em nuvem de código aberto OpenStack , que atualmente é gerenciado pela organização sem fins lucrativos OpenStack Foundation. 

Desafios astronômicos

Embora os exemplos anteriores possam ser alguns sucessos de alto nível, o código aberto na NASA não vem sem seus desafios. “Funcionários públicos não podem liberar nada protegido por direitos autorais”, disse Crawford, referindo-se ao fato de que, de acordo com a lei de direitos autorais dos EUA, um trabalho preparado por um oficial ou funcionário do governo dos Estados Unidos como parte das funções oficiais dessa pessoa é de domínio público. 

É claro que a NASA contribuiu para muitos projetos de código aberto, mas, de acordo com Crawford, as pessoas costumam fazer isso “não em sua capacidade oficial como funcionários da NASA”. Em 2003 a NASA criou uma licença para permitir o lançamento de software por funcionários públicos, o NASA Open Source Agreement . Esta licença foi aprovada pela Open Source Initiative (OSI), mas a Free Software Foundation não a considera uma licença de software livre porque não permite alterações no código provenientes de projetos de software livre de terceiros. “Não é amplamente utilizado na comunidade e complica a reutilização de software da NASA com esta licença”, disse Crawford. 

Outro desafio é a famosa burocracia da NASA, admitiu Crawford: “A NASA nem sempre se envolve bem com a comunidade de código aberto”. Como exemplo, ele mostrou como o principal desenvolvedor do curl, Daniel Stenberg , recebeu um e-mail da Equipe de Aquisição de TI Comercial da NASA, solicitando que ele fornecesse informações do país de origem para o curl, bem como uma lista de todos os “revendedores autorizados”. Stenberg observou a palestra principal (à qual ele quase não perdeu a presença) em uma postagem recente no blog.

Reduzindo as barreiras para o software de código aberto

No entanto, existem algumas iniciativas em andamento na NASA que devem tornar esses desafios uma coisa do passado. Em sua palestra, Crawford apresentou a Open-Source Science Initiative (OSSI) da NASA . Seu objetivo é apoiar os cientistas para ajudá-los a integrar os princípios da ciência aberta em todo o fluxo de trabalho da pesquisa. Apenas algumas semanas antes da palestra de Crawford, o Science Mission Directorate da NASA publicou sua nova política de informações científicas . 

Crawford resumiu esta política como “tão aberto quanto possível, tão restrito quanto necessário, sempre seguro”, e tornou isso mais concreto: “As publicações devem ser disponibilizadas abertamente sem período de embargo, incluindo dados de pesquisa e software. Os dados devem ser divulgados com uma licença Creative Commons Zero e software com uma licença permissiva comumente usada, como Apache, BSD ou MIT. A nova política também incentiva o uso e a contribuição com software de código aberto.” Crawford acrescentou que as políticas da NASA serão atualizadas para deixar claro que os funcionários podem contribuir para projetos de código aberto em sua capacidade oficial. 

Essa nova política deve reduzir as barreiras entre o software de código aberto e a NASA. O financiamento para projetos externos de código aberto já melhorou: em 2021-2022, a NASA selecionou 16 propostas para apoiar financeiramente 22 projetos diferentes de código aberto. Isso incluiu os projetos Python NumPy (usado pelo Astropy), pandas e scikit-learn , bem como a linguagem de programação Julia . 

Como parte de sua Open-Source Science Initiative, a NASA iniciou sua missão Transform to Open Science (TOPS) de cinco anos . Esta é uma missão de $ 40 milhões para acelerar a adoção de práticas de ciência aberta; começa com a Casa Branca e todas as principais agências federais dos EUA, incluindo a NASA, declarando 2023 como o ” Ano da Ciência Aberta “. Um dos objetivos estratégicos da NASA com o TOPS é permitir cinco grandes descobertas científicas por meio de princípios de ciência aberta, disse Crawford. 

Continue contribuindo

O software de código aberto claramente desempenhará um papel importante na ciência aberta e já foi fundamental em várias descobertas revolucionárias. Quando os cientistas criaram a primeira imagem de um buraco negro em 2019 a partir de dados gerados pelo Event Horizon Telescope, a Dra. Katie Bouman, que liderou o desenvolvimento do algoritmo de imagem, foi explícita sobre isso: “Estamos profundamente gratos a todos os colaboradores de código aberto que tornaram nosso trabalho possível.” Esta também foi a mensagem com a qual Crawford encerrou sua palestra: “Continue contribuindo, construindo e sustentando seu código.” Após seu “Obrigado por suas contribuições”, suas palavras foram seguidas por grandes aplausos de uma sala cheia de desenvolvedores de código aberto.

FONTE: LWN

POSTS RELACIONADOS