Conheça Imagick e os Heróis Desconhecidos que Mantêm a Web no Ar

Publicado: por Brett Dunst
Conheça Imagick e os Heróis Desconhecidos que Mantêm a Web no Ar thumbnail

Perigosamente perto de metade da web hoje depende do que é em grande parte o trabalho de uma única pessoa: Danack. 

Danack, um acrônimo de Dan Ackroyd, é o único mantenedor do Imagick — uma extensão PHP que permite que a ferramenta de processamento de imagens mais popular do WordPress, o ImageMagick, funcione. 

via GIPHY

Praticamente todas as vezes que você ou um cliente fazem o upload de uma imagem para o WordPress, ou você vê uma miniatura em um site, há uma boa chance de que as contribuições de código aberto do Danack tenham tornado isso possível. 

Pode parecer absurdo que apenas uma pessoa seja totalmente responsável por manter o que se tornou uma peça crítica de tecnologia na qual os sites WordPress se apoiam, mas heróis desconhecidos como ele são na verdade mais comuns do que aqueles fora da comunidade de desenvolvimento web percebem. 

Em uma era de ferramentas de IA poderosas e crescentes, mas sem rosto, junte-se a nós para explorar e celebrar as pessoas individuais que ainda tornam a web possível. 

Danack e a História do Imagick

Devido à maneira (ironicamente) offline e voltada para a privacidade com que muitas pessoas que trabalham online são, não sabemos muito sobre o passado de Danack.

O auto-intitulado “desenvolvedor de jogos em recuperaçãocomeçou como programador web na Sun Microsystems no final dos anos 90. Ele se tornou o único mantenedor do Imagick em 2014, o que ainda faz mais de uma década depois, apoiado apenas pelos Patrocinadores do GitHub. Isso, além de seu compromisso em melhorar o PHP como um todo por meio de RFCs, deixa claro que ele é tão defensor da tecnologia de código aberto quanto nós somos. 

Glossário DreamHost

Código Aberto

No desenvolvimento de software, os projetos de código aberto são gratuitos para qualquer pessoa baixar, usar, modificar e distribuir. O WordPress é um ótimo exemplo de software de código aberto, embora esteja longe de ser o único.

Leia Mais

O que torna essa escolha de preservar o Imagick tão importante?

Entender que tudo começa conhecendo a ferramenta para qual foi criada: ImageMagick. 

ImageMagick é um programa de código aberto para criar e editar imagens, especialmente em massa. Ao contrário de aplicativos voltados para o consumidor como o Photoshop, ele não possui uma interface fácil de usar para isso. É por isso que é mais frequentemente integrado a outras ferramentas via API.   

Parece bastante útil, certo?

Certo. 

Exceto… não funciona diretamente com o WordPress. 

Digite Imagick. 

Imagick é uma extensão escrita em PHP (como grande parte do WordPress) que atua como uma espécie de “tecido conectivo”, permitindo que o WordPress e o ImageMagick trabalhem juntos de forma integrada.  

Diagrama de fluxo mostrando o WordPress enviando solicitações de processamento de imagem para a extensão PHP Imagick, que se conecta ao ImageMagick para realizar o trabalho.

O Que Torna o Imagick um Pilar da Web Moderna?

Se o ImageMagick estiver disponível em um servidor por um host de web, o WordPress o usará automaticamente como seu processador de imagem padrão. É fácil de usar e se tornou uma das ferramentas mais conhecidas desse tipo graças à sua funcionalidade — até mesmo comparado à biblioteca GD nativa do PHP.

Comentário
poru/cangaroo_hamam da discussão
emPHP

Sim, estamos falando do mesmo WordPress que alimenta mais de 43% de todos os sites na internet.

Isso significa que milhões de sites (quase metade, até) dependem do Imagick para permitir que o WordPress use o ImageMagick para o processamento de imagens.

Para dizê-lo claramente: se o Imagick parasse de funcionar, uma grande parte da web poderia enfrentar sérios problemas relacionados a imagens. E isso significaria a morte certa para sites dependentes de imagens, como aqueles no espaço de varejo. 

Imagick, um software mantido individualmente e relativamente pequeno, ajuda silenciosamente a manter a internet moderna funcionando de forma suave.

É um ótimo exemplo de onde estamos hoje com a dependência tecnológica — onde muitos sistemas maiores dependem de ferramentas pequenas, muitas vezes negligenciadas e criticamente sub-mantidas para funcionar adequadamente.

via XKCD

Outros Exemplos de Dependência Tecnológica — e as Pessoas por Trás Delas

A situação com o Imagick não é tão incomum. 

Na verdade, vários aspectos da web são construídos em uma rede complexa de dependências, assim como ela. Vamos dar uma olhada.

Formulário de Contato 7 para WordPress

Página do Diretório de Plugins do WordPress para o Contact Form 7 da Rock Lobster Inc., apresentando ilustração ao estilo japonês com o Monte Fuji.

Com mais de dez milhões de downloads ativos, o Contact Form 7 é um plugin extremamente popular que alimenta formulários de contato simples para WordPress. 

Há mais de uma década, ainda é mantido pelo seu autor, Takayuki Miyoshi, e sua empresa, Rock Lobster; que suspeitamos ser composta por apenas algumas pessoas, se não somente pelo próprio Miyoshi.

O Contact Form 7 é antigo (no contexto de plugins), possui uma base de instalação enorme e é mantido por um número muito pequeno de pessoas. Isso também é um caso clássico de dependência tecnológica e uma receita para potencial desastre se a manutenção falhar. 

O Hack do XZ Utils

XZ Utils é um conjunto gratuito de ferramentas que ajudam com a compressão de dados sem perdas. 

Em 2024, seu fundador e principal mantenedor concedeu o status de co-mantenedor a um usuário que se aproximou dele e ganhou sua confiança. Este novo mantenedor, chamado Jia Tan, assinou a versão 5.6.0, que introduziu uma porta dos fundos perigosa que permitiria a atores maliciosos acessar todo o sistema operacional uma vez instalada.

Esta porta dos fundos foi classificada entre as vulnerabilidades de segurança mais graves, mas felizmente foi detectada antes que a versão fosse amplamente adotada. 

Então, é fácil questionar se, caso uma equipe maior estivesse envolvida na gestão e teste da versão mais recente do XZ Utils, ela teria sido lançada de fato

Left-Pad e NPM

Em 2016, o desenvolvedor indie Azer Koçulu removeu o pequeno, mas poderoso pacote que havia construído — left-pad — do NPM, que é o gerenciador de pacotes padrão para Node.js. Esta ação foi em resposta à aquisição pela NPM de um dos outros projetos de Koçulu, que foi feita para cumprir com uma disputa legal com um grande aplicativo de mensagens instantâneas. 

Nas palavras do desenvolvedor: “Essa situação me fez perceber que NPM é um terreno privado onde o corporativo é mais poderoso que as pessoas, e eu faço código aberto porque Poder Para o Povo.” 

Como se verifica, milhares de projetos dependiam deste punhado de código!

Quando ferramentas importantes como Babel e React pararam de funcionar, grandes empresas como Facebook, PayPal, Netflix e Spotify tiveram que se apressar para corrigir as consequências.

A Realidade da Manutenção de Infraestrutura Crítica de Código Aberto

Acreditamos que a tecnologia de código aberto é incrivelmente importante para a internet moderna, e mesmo assim, ela também existe em um limbo incrivelmente delicado. 

Primeiro, é uma configuração frágil. O mundo digital do qual dependemos todos os dias muitas vezes se baseia em grande parte em um punhado de pessoas em grande parte não remuneradas (agradecimento ao hack XZ por trazer isso à luz). Isso significa que muitas ferramentas open-source cruciais são apenas mantidas no tempo livre de alguém. 

Se esses heróis anônimos adoecem, se esgotam ou simplesmente seguem em frente, as coisas podem se desfazer surpreendentemente rápido.

É também frequentemente ingrato para esses voluntários. Os mantenedores raramente recebem reconhecimento quando tudo funciona bem, mas precisam lidar com todas as consequências quando algo dá errado.

No caso de Danack, houve momentos em que as atualizações não foram implementadas tão rapidamente quanto os usuários desejavam, e as pessoas ficaram chateadas.

Sua resposta? Se este software é tão importante para você, então apoie-o!

Como ele colocou:

“ … se for importante para você que projetos OpenSource sejam mantidos, por favor, considere patrocinar o trabalho que eu faço: https://github.com/sponsors/Danack Ou você pode entrar em contato comigo via email se, por algum motivo, passar pelos patrocinadores do github não for desejável.”

Como Reconhecer e Apoiar os Heróis Anônimos da Tecnologia

Na próxima vez que você carregar uma imagem no seu site de varejo WordPress, fechar um acordo que começou com um dos formulários online do seu site, ou contar com qualquer peça de software trabalhando silenciosamente nos bastidores; reserve um momento para apreciar os indivíduos que tornam isso possível. 

Mas não pare por aí. Se você puder, apoiar esses mantenedores é essencial para manter a internet moderna estável e resiliente.

Como uma empresa de hospedagem independente, nós nos orgulhamos em apoiar o ecossistema de código aberto na DreamHost não apenas com nossas ferramentas amigáveis para desenvolvedores, mas também no nosso patrocínio financeiro de desenvolvedores independentes no GitHub.

Esperamos que você se junte a nós para celebrar o compromisso e a generosidade deles, e dedique o apoio real e contínuo que puder para manter a comunidade próspera.

Hosting WordPress

Hosting WordPress Inigualável

Soluções de hosting fiáveis e ultra-rápidas, especificamente otimizadas para WordPress.

Saiba Mais

Perguntas Frequentes Sobre Imagick

O Que É Imagick?

Imagick é uma extensão PHP que conecta o WordPress ao ImageMagick, permitindo o processamento de imagens como redimensionamento, corte e miniaturas.

Quem mantém o Imagick?

Um desenvolvedor conhecido como Danack manteve isso por mais de uma década, sendo apoiado principalmente por meio de patrocinadores no GitHub.

Por Que O Imagick É Tão Importante?

Ele alimenta o gerenciamento de imagens do WordPress para milhões de sites, tornando-o uma peça crítica, mas frequentemente ignorada, da infraestrutura da web.

Como Posso Apoiar O Imagick Ou Projetos Semelhantes?

Você pode patrocinar mantenedores como Danack no GitHub (https://github.com/sponsors/Danack) ou contatá-los diretamente, se necessário. Apoiar o código aberto ajuda a manter a web estável.