Articles

FUSE para macOS: Por uma popular biblioteca de código aberto tornou-se um código fechado e comercialmente licenciado

Entrevista Em Maio deste ano, os usuários do popular projeto de código aberto FUSÍVEL para macOS notado o código-fonte para a atualização mais recente foi em falta. O projeto tornou-se fonte fechada e não era mais livre para uso comercial. Mas como o Reg descobriu quando tivemos uma conversa com seu mantenedor, havia uma razão muito boa para isso – e não é um bom visual para as muitas empresas que o usaram.

FUSE significa File System in Userspace e permite aos desenvolvedores criar um sistema de arquivos personalizado sem escrever código para o kernel. Se você tem um banco de dados ou um sistema de armazenamento em nuvem, por exemplo, e você quer que ele apareça para o sistema operacional como apenas outro conjunto de arquivos e pastas, você pode usar o FUSE.

FUSE tem uma longa história. Foi criado para Linux e portado para outros sistemas operacionais do tipo Unix, incluindo FreeBSD e OpenSolaris. Em 2007, o Google lançou uma versão para Mac OS X como código aberto. Em 2011, este foi forked para se tornar osxfuse, mais tarde renomeado FUSE para macOS.

The Register Newsletter

então, sete meses atrás, os usuários observaram que o código fonte da última atualização estava faltando, embora o binário compilado foi postado. “Isso é de propósito”, disse o mantenedor Benjamin Fleischer. “Se você está usando FUSE para macOS para um projeto de software comercial, sinta-se livre para entrar em contato comigo.”

uma complicação adicional enfrentando os desenvolvedores pensando em bifurcar a última versão de código aberto é que a execução de fusíveis em macOS requer um certificado de assinatura de extensão do kernel. “Esse não é o certificado padrão de identificação de desenvolvedor que todos os desenvolvedores registrados recebem”, disse Fleischer.

A tale of exposure bucks: How to lose a dev in 8 years

” i started working on FUSE in 2011. Estava a estudar ciência da computação e a trabalhar no FUSE começou como passatempo. Eu estava confiando no NTFS-3G, um popular sistema de arquivos FUSE, e queria usar o novo kernel 64-bit do Mac OS X Snow Leopard. MacFUSE, como o projeto foi originalmente chamado, já havia sido abandonado por algum tempo e não suportava kernels de 64 bits, então eu comecei a remendar com o código”, disse Fleischer ao registrador.

A Registrar Boletim informativo

“muito tempo se passou desde então, e o número de aplicações a depender de FUSÍVEIS para o macOS tem crescido rapidamente. Hoje o FUSE para macOS é usado por muitas grandes empresas de internet, entre elas armazenamento em nuvem e infra-estrutura-como-a-prestadores de serviços e até mesmo redes sociais populares.”

O problema? Fleischer estava fazendo a maior parte do trabalho de desenvolvimento de graça. Em maio de 2016, ele pediu apoio. “A fim de levar o FUSE para OS X para o próximo nível, eu gostaria de gastar mais tempo trabalhando nisso, mas isso não será possível sem ser compensado pelo meu trabalho”, explicou ele na época.”o meu post não produziu os resultados esperados”, disse Fleischer. “Então eu alterei minha estratégia e tentei contatar as empresas diretamente, que estão usando fusíveis, e pedi seu apoio.

” eu tentei defender que ter um projeto, para o qual todos contribuem, em vez de muitos garfos de código fechado sem empurrar correções e melhorias upstream, iria beneficiar todos. Consegui convencer uma ou duas empresas a apoiarem financeiramente o meu trabalho. No entanto, a maioria das empresas estavam relutantes em apoiar o projeto de que o seu produto depende, porque ele está disponível gratuitamente. Isto em si é meio irónico. Quase como se algo que está disponível gratuitamente não tivesse valor percebido.”

a Newsletter do registo

ele procurou outras opções de financiamento, uma vez que ” abandonar o projecto nunca foi uma opção para mim.”

entre as questões, Ele nos disse, É que ” FUSE não é um produto de usuário final. A maior parte do tempo FUSE é instalado silenciosamente por aplicações de terceiros que expõem um sistema de arquivos virtuais. Muitos utilizadores finais não estão cientes de que estão a utilizar o FUSE ou sabem que serviço ele fornece. Pedir doações para um componente de uma aplicação que os usuários já pagaram não é a abordagem certa.”

Esta foi a razão pela qual Fleischer parou de liberar o código fonte e também mudou a licença. “FUSE for macOS 3.9 can still be freely bundled with commercial software. Então, em julho de 2019, eu liberei fusível para macOS 3.10 com suporte para macOS Catalina sob a nova licença, menos permissiva, que requer permissão específica por escrito para agrupar fusíveis com software comercial”, disse ele ao Reg.como é possível? “A maior parte do fusível para o código fonte macOS é liberado sob a licença BSD. No entanto, a libfuse, por exemplo, é lançada sob a LGPL. Eu fiz o que outros desenvolvedores de forks de código fechado têm feito por algum tempo. A licença BSD não tem copyleft, o que significa que ninguém é obrigado a introduzir alterações a montante ou a disponibilizá-las. Como a libfuse é coberta pela LGPL, as alterações a ela precisam ser disponibilizadas, enquanto as alterações ao código do kernel podem ser mantidas fechadas”, explica Fleischer.

The Register Newsletter

o resultado? “Após a mudança de licença, fui contactado por várias empresas e negociei alguns acordos de licença. Neste mesmo sentido, fechar o código fonte de FUSE foi um sucesso. No mínimo, ajudou a conscientizar sobre as dificuldades do desenvolvimento sustentável de software de código aberto”, disse ele.

Fleischer acrescentou que: “eu não gosto de continuar trabalhando em FUSE como um projeto de fonte fechada. Foi uma decisão difícil e tenho pensado nisso há muito tempo, mas mantenho-a e parecia ser a única opção que me restava para sensibilizar e garantir o futuro do projecto.”

ele reconhece que: “eu não fui muito transparente sobre a mudança de licença.”

uma recente discussão sobre as notícias de hackers mostra como “a opinião é obviamente muito dividida”, disse ele.dito isto, muitas das respostas são simpáticas. “Espero que vejamos mais disso no futuro: Desenvolvedores percebendo que o trabalho que fazem tem valor e que não são obrigados a passar suas vidas dando-o de graça. Então eles assumem o controle de seu produto de trabalho e começam a capturar algum desse valor para si mesmos”, disse um.o que vai acontecer no futuro? “Enquanto eu for o mantenedor do fusível para o projeto macOS, o FUSE estará sempre livre para uso não comercial”, disse El Reg. “Se alguma vez chegar ao ponto em que decido parar de manter o FUSE, e duvido muito que chegue a isso num futuro próximo, vou liberar o código fonte sob a licença BSD e afastar-me para deixar alguém assumir o controle sobre a organização osxfuse no GitHub.”

também é possível que a Apple possa mudar suas regras – ele disse que as extensões de kernel serão restritas em futuros lançamentos de macOS-ou que a empresa pode construir algo como FUSE no próprio núcleo macOS.