Articles

FUSE pentru macOS: De ce o bibliotecă populară open source a devenit sursă închisă și licențiată comercial

interviu în luna mai a acestui an, utilizatorii proiectului popular open source FUSE pentru macOS au observat că lipsește codul sursă pentru cea mai recentă actualizare. Proiectul devenise sursă închisă și nu mai era gratuit pentru uz comercial. Dar, așa cum Reg A descoperit când am avut o discuție cu întreținătorul său, a existat un motiv foarte bun pentru asta – și nu este un aspect bun pentru numeroasele companii care l-au folosit.

FUSE reprezintă Sistemul de fișiere în spațiul de utilizator și permite dezvoltatorilor să creeze un sistem de fișiere personalizat fără a scrie cod pentru kernel. Dacă aveți o bază de date sau un sistem de stocare în cloud, de exemplu, și doriți ca acesta să apară în sistemul de operare ca doar un alt set de fișiere și foldere, puteți utiliza FUSE.

siguranța are o istorie lungă. A fost creat Pentru Linux și portat la alte sisteme de operare asemănătoare Unix, inclusiv FreeBSD și OpenSolaris. În 2007, Google a lansat un port pentru Mac OS X ca sursă deschisă. În 2011, aceasta a fost bifurcată pentru a deveni osxfuse, redenumită ulterior FUSE pentru macOS.

buletinul de înregistrare

apoi, în urmă cu șapte luni, utilizatorii au observat că codul sursă al ultimei actualizări lipsea, deși binarul compilat a fost postat. „Asta este intenționat”, a spus întreținătorul Benjamin Fleischer. „Dacă utilizați FUSE pentru macOS pentru un proiect software comercial, nu ezitați să mă contactați.”

o altă complicație cu care se confruntă dezvoltatorii care se gândesc să bifurce ultima versiune open source este că rularea FUSE pe macOS necesită un certificat de semnare a extensiei kernel-ului. „Acesta nu este certificatul standard de identificare a dezvoltatorului pe care îl primește fiecare dezvoltator înregistrat”, a spus Fleischer.

A tale of exposure bucks: cum să pierzi un dev în 8 ani

„am început să lucrez la FUSE în 2011. Studiam informatica și lucram la FUSE a început ca un hobby. M-am bazat pe NTFS-3g, un popular sistem de fișiere FUSE și am vrut să folosesc noul nucleu pe 64 de biți al Mac OS X Snow Leopard. MacFUSE, așa cum a fost numit inițial proiectul, fusese deja abandonat de ceva timp și nu suporta kernel-uri pe 64 de biți, așa că am început să lucrez cu codul”, a declarat Fleischer pentru The Register.

buletinul de înregistrare

„a trecut mult timp de atunci și numărul de aplicații care se bazează pe FUSE pentru macOS a crescut rapid. Astăzi FUSE pentru macOS este folosit de multe companii mari de internet, printre care Furnizorii de stocare în cloud și infrastructură ca serviciu și chiar rețelele sociale populare.”

problema? Fleischer făcea majoritatea lucrărilor de dezvoltare gratuit. În Mai 2016, a cerut sprijin. „Pentru a duce FUSE pentru OS X la nivelul următor, aș dori să petrec mai mult timp lucrând la el, dar acest lucru nu va fi posibil fără a fi compensat pentru munca mea”, a explicat el la acea vreme.

„postarea mea nu a produs rezultatele sperate”, ne-a spus Fleischer. „Apoi mi-am modificat strategia și am încercat să contactez direct companiile care folosesc FUSE și am cerut sprijinul lor.

„am încercat să susțin că a avea un singur proiect, la care contribuie toată lumea, în loc de multe furci cu sursă închisă, fără a împinge remedieri și îmbunătățiri în amonte, ar aduce beneficii tuturor. Am reușit să conving una sau două companii să-mi susțină financiar munca. Cu toate acestea, majoritatea companiilor au fost reticente în a sprijini proiectul de care depinde produsul lor, deoarece este disponibil gratuit. Acest lucru în sine este un fel de ironic. Aproape ca și cum ceva care este disponibil gratuit nu are valoare percepută.”

buletinul de înregistrare

a analizat alte opțiuni de finanțare, deoarece ” abandonarea proiectului nu a fost niciodată o opțiune pentru mine.”

printre probleme, ne-a spus el, este că ” siguranța nu este un produs pentru utilizatorul final. De cele mai multe ori FUSE este instalat în tăcere de aplicații terțe care expun un sistem de fișiere virtual. Mulți utilizatori finali nu sunt conștienți că folosesc FUSE sau știu ce serviciu oferă. Solicitarea de donații pentru o componentă a unei aplicații pentru care utilizatorii au plătit deja nu este abordarea corectă.”

acesta a fost motivul pentru care Fleischer a oprit eliberarea codului sursă și, de asemenea, a schimbat licența. „Siguranța pentru macOS 3.9 poate fi în continuare inclusă în mod liber cu software comercial. Apoi, în iulie 2019, am lansat FUSE pentru macOS 3.10 cu suport pentru macOS Catalina sub noua licență, mai puțin permisivă, care necesită permisiunea scrisă specifică pentru a lega FUSE cu software comercial”, a spus el Reg.

cum este posibil acest lucru? „Cea mai mare parte a siguranței pentru codul sursă macOS este lansată sub licența BSD. Cu toate acestea, libfuse, de exemplu, este lansat sub LGPL. Am făcut ceea ce fac alți dezvoltatori de furci de siguranțe cu sursă închisă de ceva timp. Licența BSD nu are copyleft, ceea ce înseamnă că nimeni nu este obligat să împingă modificările în amonte sau să le pună la dispoziție. Deoarece libfuse este acoperit de LGPL, modificările aduse acestuia trebuie puse la dispoziție, în timp ce modificările aduse Codului kernel-ului pot fi păstrate închise”, explică Fleischer.

buletinul de înregistrare

rezultatul? „După schimbarea licenței am fost contactat de mai multe companii și am negociat unele acorduri de licență. În acest sens, închiderea codului sursă al FUSE a fost un succes. Cel puțin a contribuit la sensibilizarea cu privire la dificultățile dezvoltării durabile a software-ului open source”, a spus el.

Fleischer a adăugat că: „nu-mi place să continui să lucrez la FUSE ca proiect cu sursă închisă. A fost o decizie grea și mă gândesc la ea de foarte mult timp, dar o susțin și mi s-a părut a fi singura opțiune rămasă pentru a sensibiliza și a asigura viitorul proiectului.”

el recunoaște totuși că: „nu am fost foarte transparent cu privire la schimbarea licenței.”

o discuție recentă despre Hacker News arată cum” opinia este în mod evident foarte divizată”, a spus el.

acestea fiind spuse, multe dintre răspunsuri sunt simpatice. „Sper să vedem mai multe în viitor: dezvoltatorii își dau seama că munca pe care o fac are valoare și că nu li se cere să-și petreacă viața oferind-o gratuit. Așa că preiau controlul asupra produsului lor de lucru și încep să capteze o parte din această valoare pentru ei înșiși”, a spus unul.

ce se va întâmpla în viitor? „Atâta timp cât sunt responsabilul proiectului FUSE pentru macOS, FUSE va fi întotdeauna gratuit pentru utilizare necomercială”, a spus el Pentru el Reg. „Dacă se va ajunge vreodată la punctul în care decid să nu mai mențin FUSE și mă îndoiesc că se va ajunge la acest lucru în viitorul previzibil, voi elibera codul sursă sub licența BSD și mă voi retrage pentru a lăsa pe altcineva să preia controlul asupra organizației osxfuse de pe GitHub.”

este, de asemenea, posibil ca Apple să – și schimbe regulile – a spus că extensiile kernel-ului vor fi restricționate în viitoarele versiuni de macOS-sau că compania ar putea construi ceva de genul FUSE în nucleul macOS în sine.