O programador norte-americano, Azer Koçulu, conseguiu interromper o desenvolvimento web em todo o mundo por um breve período na semana passada. Tudo o que ele precisou fazer foi deletar 11 linhas de um código.

Ele escrevia código no NPM, um serviço amplamente utilizado para localizar e instalar software de código aberto escrito em JavaScript. A ferramenta é essencial no desenvolvimento da web, graças à facilidade de uso e sua enorme biblioteca de pacotes de código livres.

Foi exatamente essa filosofia de código aberto que levou Koçulu a contribuir para NPM. Muitas pessoas que escrevem códigos são influenciadas pela “Ética Hacker” dos programadores do MIT, onde é defendido que os códigos de programação devem ser compartilhados entre os colegas de profissão.

Um dos pacotes JavaScript open-source que Koçulu tinha escrito era o “kik”, que ajuda os programadores a configurar modelos para os seus projetos. Apesar de não ser muito conhecido, o pacote tem o mesmo nome de um aplicativo de mensagens canadense.

No dia 11 de março, Koçulu recebeu um e-mail de Bob Stratton, um agente de patentes e marcas comerciais que trabalha para o Kik, pedindo para que ele mudasse o nome do seu pacote. Como o programador recusou trocar o nome e também não aceitou uma oferta pela compra do mesmo, Stratton entrou em contato com a NPM. Isaac Schlueter, presidente-executivo do serviço, então sugeriu de trocar o nome do kik para kik.com.

Koçulu não gostou da proposta. “Eu nunca iria imaginar você se aliando aos advogados de patentes corporativas que estão ameaçando um desenvolvedor de código aberto”, escreveu o programador. Muitos programadores, particularmente na comunidade de código aberto, são críticos em relação aos direitos de propriedade intelectual. Os desenvolvedores de software tendem a ver essas ações como um obstáculo à inovação.

Ele então decidiu apagar todos os seus 273 projetos, afirmando que não queria mais fazer parte da NPM. “Eu acho que tenho o direito de excluir todas as minhas coisas”, escreveu. Dois dias depois, em 22 de março, programadores de JavaScript em todo o mundo começaram a receber uma mensagem de erro no “left-pad” quando eles tentavam executar os códigos.

Como a NPM não tinha mais o registro deste código, muitos programadores ficaram impedidos de atualizar serviços e aplicativos que já estavam em execução na web. Uma hora após o problema ter sido notado, Koçulu escreveu um post explicando a disputa com o aplicativo de mensagens e motivo de ele estar saindo do serviço. “Essa situação me fez perceber que NPM é a terra privada de alguém, onde o corporativo é mais poderoso do que as pessoas”.

A empresa, então, conseguiu restaurar as 11 linhas de código perdidas duas horas depois da confusão.

Isso mostra como o software de escrita para a web se tornou dependente de uma colcha de retalhos de código que se baseia na benevolência dos colegas programadores. Basicamente, quase todo software é construído em cima de outro software, que também depende de outros softwares. Por exemplo, criar um aplicativo pode exigir um determinado conjunto de pacotes de NPM, mas os pacotes podem exigir seus próprios conjuntos de pacotes, e assim por diante. Essa é uma razão NPM tornou-se tão popular, ajudando a gerenciar essas dependências através da manutenção de todos os pacotes em um único lugar.

Via Quartz