Articles

FUSE til macOS: hvorfor et populært open source-bibliotek blev lukket kilde og kommercielt licenseret

samtale i Maj i år bemærkede brugere af det populære open source-projekt FUSE til macOS, at kildekoden til den seneste opdatering manglede. Projektet var blevet lukket kilde og var ikke længere gratis til kommerciel brug. Men som Reg opdagede, da vi havde en samtale med vedligeholderen, var der en meget god grund til det – og det er ikke et godt udseende for de mange virksomheder, der brugte det.

FUSE står for filsystem i Userspace og lader udviklere oprette et brugerdefineret filsystem uden at skrive kode til kernen. Hvis du for eksempel har en database eller et cloud-lagringssystem, og du vil have det vist til operativsystemet som blot et andet sæt filer og mapper, kan du bruge FUSE.

sikring har en lang historie. Det blev oprettet til brug i forbindelse med andre operativsystemer, herunder FreeBSD og OpenSolaris. I 2007 udgav Google en port til Mac OS som open source. I 2011 blev dette forked til at blive ossfuse, senere omdøbt til FUSE til macOS.

registeret nyhedsbrev

derefter for syv måneder siden observerede brugerne, at den seneste opdaterings kildekode manglede, selvom den kompilerede binære blev sendt. “Det er med vilje”, sagde vedligeholder Benjamin Fleischer. “Hvis du bruger FUSE til macOS til et kommercielt programprojekt, er du velkommen til at kontakte mig.”

en yderligere komplikation for udviklere, der tænker på at Forke den sidste open source-version, er, at kørsel af FUSE på macOS kræver et kernel-udvidelsessigneringscertifikat. “Det er ikke standardudvikler-ID-certifikatet, som enhver registreret udvikler får,” sagde Fleischer.

en fortælling om eksponeringsbukke: hvordan man mister en dev i 8 år

“Jeg begyndte at arbejde på FUSE i 2011. Jeg studerede datalogi, og arbejdet med FUSE startede som en hobby. Jeg var afhængig af NTFS-3G, et populært SIKRINGSFILSYSTEM, og ønskede at bruge Mac OS sne Leopards nye 64-bit kerne. MacFUSE, som projektet oprindeligt blev kaldt, var allerede blevet forladt i nogen tid, og det understøttede ikke 64-bit kerner, så jeg begyndte at tinker med koden,” fortalte Fleischer registret.

Registerbrevet

“Der er gået meget tid siden da, og antallet af applikationer, der er afhængige af FUSE til macOS, er vokset hurtigt. I dag bruges FUSE til macOS af mange store internetfirmaer, blandt dem cloud storage og infrastruktur-as-a-service-udbydere og endda populære sociale netværk.”

problemet? Fleischer udførte det meste af udviklingsarbejdet gratis. I maj 2016 bad han om støtte. “For at tage FUSE til OS til det næste niveau, vil jeg gerne bruge mere tid på at arbejde på det, men det vil ikke være muligt uden at blive kompenseret for mit arbejde,” forklarede han på det tidspunkt.

” mit indlæg gav ikke de håbede resultater,” fortalte Fleischer os. “Så ændrede jeg min strategi og forsøgte at kontakte virksomheder direkte, der bruger FUSE, og bad om deres støtte.

“jeg forsøgte at gå ind for at have et projekt, som alle bidrager til, i stedet for mange lukkede kildegafler uden at skubbe rettelser og forbedringer opstrøms, ville gavne alle. Jeg var i stand til at overbevise en eller to virksomheder om at støtte mit arbejde økonomisk. De fleste virksomheder var imidlertid tilbageholdende med at støtte det projekt, som deres produkt afhænger af, fordi det er tilgængeligt gratis. Det er i sig selv lidt ironisk. Næsten som om noget, der er tilgængeligt gratis, ikke har nogen opfattet værdi.”

registeret nyhedsbrev

han undersøgte andre muligheder for finansiering, da ” at opgive projektet aldrig har været en mulighed for mig.”

blandt de problemer, han fortalte os, er, at “FUSE er ikke et slutbrugerprodukt. Det meste af tiden installeres FUSE lydløst af tredjepartsapplikationer, der udsætter et virtuelt filsystem. Mange slutbrugere er ikke klar over, at de bruger FUSE eller ved, hvilken service den leverer. At bede om donationer til en komponent i en applikation, som brugerne allerede har betalt for, er ikke den rigtige tilgang.”

Dette var grunden til, at Fleischer stoppede med at frigive kildekoden og også ændrede licensen. “FUSE til macOS 3.9 kan stadig frit bundtes med kommercielle programmer. Så i juli 2019 frigav jeg FUSE til macOS 3.10 med understøttelse af macOS Catalina under den nye, mindre tilladte licens, der kræver specifik skriftlig tilladelse til at samle FUSE med kommercielle programmer,” fortalte han Reg.

hvordan er det muligt? “Det meste af FUSE til macOS-kildekoden frigives under BSD-licensen. Imidlertid frigives libfuse for eksempel under LGPL. Jeg gjorde, hvad andre udviklere af closed source FUSE gafler har gjort i nogen tid. BSD-licensen har ingen copyleft, hvilket betyder, at ingen er forpligtet til at skubbe ændringer opstrøms eller gøre dem tilgængelige. Da libfuse er omfattet af LGPL, skal ændringer til den gøres tilgængelige, mens ændringer i kernekoden kan holdes lukket,” forklarer Fleischer.

registeret nyhedsbrev

resultatet? “Efter licensændringen er jeg blevet kontaktet af flere virksomheder og forhandlet nogle licensaftaler. I denne henseende var det en succes at lukke kildekoden til FUSE. I det mindste bidrog det til at øge bevidstheden om vanskelighederne ved bæredygtig udvikling af open source-programmer,” sagde han.

Fleischer tilføjede, at: “jeg kan ikke lide at fortsætte med at arbejde på FUSE som et lukket kildeprojekt. Det har været en hård beslutning, og jeg har tænkt over det i meget lang tid, men jeg står ved det, og det syntes at være den eneste mulighed tilbage for at øge bevidstheden og sikre projektets fremtid.”

han erkender dog, at: “jeg har ikke været meget gennemsigtig om licensændringen.”

en nylig diskussion om Hackernyheder viser, hvordan” mening er åbenlyst meget delt, ” sagde han.

når det er sagt, er mange af svarene sympatiske. “Jeg håber, at vi ser mere af dette i fremtiden: udviklere indser, at det arbejde, de udfører, har værdi, og at de ikke er forpligtet til at bruge deres liv på at give det væk gratis. Så de tager kontrol over deres arbejdsprodukt og begynder at fange noget af den værdi for sig selv,” sagde en.

Hvad vil der ske i fremtiden? “Så længe jeg er vedligeholder af FUSE til macOS-projektet, vil FUSE altid være gratis til ikke-kommerciel brug,” sagde han til El reg. “Skulle det nogensinde komme til det punkt, jeg beslutter at stoppe med at opretholde FUSE, og jeg tvivler meget på, at det vil komme til dette i overskuelig fremtid, vil jeg frigive kildekoden under BSD-licensen og træde til side for at lade en anden tage kontrol over organisationen på GitHub.”

det er naturligvis også muligt, at Apple kunne ændre sine regler – Det har sagt, at kerneudvidelser vil blive begrænset i fremtidige udgivelser af macOS – eller at virksomheden muligvis bygger noget som FUSE i selve macOS-kernen.