![Por que precisamos de um ORM JavaScript padrão para bancos de dados SQL](https://optimuscloud.com.br/wp-content/uploads/2024/05/1717127044_Por-que-precisamos-de-um-ORM-JavaScript-padrao-para-bancos-150x150.jpg)
Por que precisamos de um ORM JavaScript padrão para bancos de dados SQL
31 de maio de 2024![Democratizando Stateful Analytics por meio de programação visual](https://optimuscloud.com.br/wp-content/uploads/2024/05/1717130644_Democratizando-Stateful-Analytics-por-meio-de-programacao-visual-150x150.jpg)
Democratizando Stateful Analytics por meio de programação visual
31 de maio de 2024Carinhosamente lembrado por muitos desenvolvedores Java de longa data, o Codehaus combinou um serviço de hospedagem de projetos de código aberto Java com uma comunidade que oferece suporte e ajuda mútua para os projetos que hospeda. Inspirada por seu legado, a Fundação Commonhaus, sem fins lucrativos, foi lançada no mês passado, prometendo um novo modelo para bibliotecas e estruturas de código aberto estabelecidas que buscam um lar neutro.
Os fundadores da organização são Erin Schnabel, engenheiro ilustre da Red Hat, Ken Finnigan, engenheiro de OpenTelemetria e observabilidade, e Cesar Saavedra, gerente técnico sênior de marketing do GitLab – atuando como presidente, secretário e tesoureiro, respectivamente.
Commonhaus prioriza o planejamento de sucessão, governança mínima e assistência financeira para seus projetos membros, incluindo a capacidade de receber doações sem buscar o status individual de organização sem fins lucrativos. Os projetos de código aberto que se juntaram no lançamento são ORM Hibernate, biblioteca de processamento JSON Jackson, ferramenta de refatoração OpenRewrite, lançador Java JBang, ferramenta de lançamento Java JReleaser e driver Java MongoDB Morphia.
Desde que a fundação foi lançada, vários outros projetos manifestaram interesse em aderir, incluindo EasyMock, Objenesis e SDKMAN!. Embora todos esses sejam projetos Java, não é intenção que o Commonhaus seja apenas Java. “Comecei com Java porque é o ecossistema que conheço melhor”, disse Schnabel ao The New Stack. “Mas nossas portas estão abertas para projetos de todas as linguagens e tecnologias que compartilham nossa visão de um futuro colaborativo e sustentável de código aberto.”
É claro que já temos diversas bases de código aberto, incluindo Apache e Eclipse, mas o Commonhaus oferece suporte a uma gama mais ampla de licenças aprovadas pela OSI do que você normalmente encontraria em outros lugares. Também permite que os projectos mantenham a sua própria marca estabelecida, identidade comunitária, infra-estruturas e práticas de governação, tornando-o mais adequado para projectos maduros com boa governação em vigor do que para projectos emergentes.
Tatu Saloranta, criador e líder do projeto Jackson, disse que “embora os componentes Jackson sejam amplamente utilizados no ecossistema de software Java, nossa equipe principal do projeto permanece compacta e nossos processos mínimos. Ao longo dos anos, consideramos ocasionalmente a conveniência e a viabilidade de nos afiliarmos a fundações de código aberto bem conhecidas. No entanto, nenhum parecia estar alinhado com as preferências do nosso projeto e equipe. Depois de observar a formação da Fundação Commonhaus, estamos confiantes de que encontramos o nosso futuro lar. Os objetivos da fundação estão alinhados com os nossos e enfatizam a possibilidade de projetos individuais manterem o foco em sua competência principal: o desenvolvimento de software de código aberto de alta qualidade.”
Gavin King, criador do Hibernate e um renomado engenheiro da IBM/Red Hat, disse que “o Commonhaus fornece suporte e continuidade para projetos autônomos, tornando-o um anfitrião perfeito para projetos que já estão bem executados. A liderança e o patrocínio da Red Hat continuam a ser uma fonte de estabilidade e confiança dos usuários, e agora esperamos abrir mais espaço para que outros grupos e empresas se sintam incluídos no projeto.”
Os desafios do código aberto
O lançamento do Commonhaus ocorre em um momento que parece ser difícil para o código aberto. Embora tenha sido, sem dúvida, uma força para o bem na nossa indústria – com muitas pessoas a relatar experiências positivas, tanto abrindo o código-fonte dos seus próprios projectos como contribuindo para outros – o modelo sente-se cada vez mais assolado por problemas.
O recente hack do XZ expôs uma falta de maturidade em torno da segurança da cadeia de abastecimento, mas os aspectos de engenharia social que o permitiram também destacaram problemas de esgotamento, especialmente para projetos de manutenção única, onde uma pessoa acaba fazendo todo o trabalho por um longo tempo. “Você tem uma biblioteca que nasce porque alguém precisa resolver um problema específico”, disse Schnabel ao The New Stack. “Mas eles não costumam fazer isso com a expectativa de serem os únicos mantenedores do projeto por 20 anos. Pode ser um compromisso para a vida toda.”
Além disso, existe uma suposição implícita de que o único mantenedor executará uma ampla gama de tarefas, incluindo suporte técnico para a biblioteca, mantendo-a e criando novos recursos. “É um volume enorme de trabalho e está crescendo”, disse-nos Schnabel. A questão é agravada pelo que o líder do projeto Homebrew, Mike McQuaid, descreveu como um sentimento de direito entre os usuários. “Ironicamente”, disse ele, “isto é muitas vezes pior vindo de grandes empresas de tecnologia com margens de lucro fantásticas”.
Diante disso, não deveria ser surpresa que, anedoticamente, várias pessoas me tenham dito que decidiram não lançar uma biblioteca como código aberto, especificamente porque não querem ser sobrecarregados com a responsabilidade contínua por ela.
Enquanto isso, projetos maiores com vários mantenedores normalmente apresentam problemas diferentes, mas relacionados. Aceitar solicitações pull pode ser difícil, pois os remetentes bem-intencionados podem não compreender totalmente as ramificações mais amplas de suas alterações. “Não é que eles não queiram pull requests, mas sim que o esforço de treinar e explicar como um projeto funciona é um fardo que eles não conseguem administrar”, disse Schnabel.
Ao mesmo tempo, as mudanças no licenciamento de projetos populares como Terraform, Redis e Elasticsearch são parcialmente motivadas pelo facto de, como disse McQuaid, muitas das grandes empresas que dependem deles não contribuírem, nem técnica nem financeiramente. Além disso, nem todos os projetos são acolhedores, enquanto muitos projetos maiores também apresentam falta de diversidade entre aqueles que contribuem para a cultura do projeto.
O que fazer com tudo isso é um pouco menos claro.
Promover a comunidade
Uma grande parte dos objetivos de Schnabel para Commonhaus centra-se na educação e na comunidade. Ela tenta ativamente promover conexões entre projetos para que eles possam começar a contar uns com os outros. Durante nossa conversa, ela reconheceu como isso pode ser difícil. O trabalho comunitário normalmente envolve gastar muito tempo e energia com moderação, reforçando atitudes e trabalhando para encorajar os comportamentos desejados. É pouco glamoroso e muitas vezes tenso, ela admitiu. “Estou aprendendo muito com a forma como a comunidade Obsidian se gerencia”, disse ela ao The New Stack. “Manter a cultura de ajuda mútua é a parte mais difícil e essencial.”
Para a educação, Schnabel recomendou trabalhar dentro das estruturas existentes. “Quero trabalhar com o vJUG, por exemplo, para divulgar mais informações sobre como essas bibliotecas funcionam internamente”, disse ela. “Isso deve melhorar a participação da comunidade e permitir-nos receber contribuições sem ficarmos sobrecarregados”.
Da mesma forma, Commonhaus deseja se conectar com outras comunidades existentes onde elas existirem. “O GitHub tem uma comunidade de mantenedores, por exemplo. Acho que é ótimo aproveitar isso e não sinto que preciso substituí-lo”, disse Schnabel.
Existem lugares definitivos onde uma fundação como a Commonhaus pode ajudar projetos de código aberto com um único mantenedor. Os projetos precisam de um código de conduta, por exemplo, e devem estar dispostos a aplicá-lo. Mas para um projeto de manutenção única, para onde iria um relatório de código de conduta? “Com Commonhaus, podemos receber o relatório do código de conduta e podemos cuidar dele. Embora existam alguns casos em que uma violação do código de conduta é apenas um comportamento flagrante, na minha experiência é mais comum uma falha de comunicação ou uma má interpretação da intenção”, disse Schnabel ao The New Stack.
Sustentabilidade
Em termos de pensamento futuro, Schnabel enfatizou que o planeamento da sucessão é essencial para garantir que os projetos de código aberto prosperem a longo prazo. A preparação para a eventual transição da liderança do projeto e das funções principais ajuda a manter a dinâmica de um projeto, garantindo o seu desenvolvimento contínuo e relevância dentro do ecossistema tecnológico. “É especialmente importante para projetos que se tornaram componentes fundamentais de outros softwares e sistemas”, disse ela.
Isto inclui a própria Casa Comum; O objetivo de Schnabel é garantir que se torne autossustentável. “Quero ter uma cultura de interação, prática e tomada de decisões para que não seja só eu quem faz as coisas acontecerem”, disse Schnabel. “Para os projetos que se unem ao Commonhaus, quero que pensem em cinco ou dez anos. O que acontece quando você não está mais lá? Quais são as coisas que você precisa anotar? Quais são os seus princípios de design? Quais são as escolhas que você faz? Você tem os testes certos em vigor? Os mantenedores vão se aposentar e tudo bem. Da mesma forma, posso não estar envolvido no Commonhaus em três anos, e isso também deve ser aceitável.”
Schnabel também quer garantir que os projetos possam optar por sair da Casa Comum se assim o desejarem ou serão descartados. “Uma premissa do Commonhaus é que ele se destina a projetos de autogoverno”, disse Schnabel, “o que significa que embora a dissensão seja importante para boas decisões, um projeto do Commonhaus deve ser capaz de resolver divergências e avançar. Eles precisam de um sistema para evitar um impasse. Se um projeto não for capaz de alcançar isso, é importante que ele consiga ir a algum lugar que imponha governança, como o Eclipse ou o Apache.”
Commonhaus não é a única iniciativa que analisa questões de código aberto. A Tidelift, por exemplo, partilha um objetivo comum de apoiar a sustentabilidade e a saúde dos projetos de código aberto, abordando as necessidades financeiras e de gestão de risco de uma perspetiva comercial. O OpenSSF anunciou que o Siren, que Chris Swan observa no InfoQ, “fornecerá um local para compartilhar táticas, técnicas e procedimentos (TTPs) e indicadores de comprometimento (IOCs), semelhantes às plataformas corporativas de inteligência de ameaças”. É, no entanto, uma peça interessante do quebra-cabeça.
Para saber mais sobre a Fundação Commonhaus, os leitores são aconselhados a consultar o site ou contatá-los diretamente através de hello@commonhaus.org.
A postagem Commonhaus Foundation é lançada em momento crítico para OSS apareceu pela primeira vez em The New Stack.