FUSE for macOS: miksi suositusta avoimen lähdekoodin kirjastosta tuli suljettu lähdekoodi ja kaupallisesti lisensoitu
Haastattelu tämän vuoden toukokuussa suositun avoimen lähdekoodin projektin FUSE for macOS käyttäjät huomasivat uusimman päivityksen lähdekoodin puuttuvan. Projektista oli tullut suljettua lähdekoodia, eikä se ollut enää vapaa kaupalliseen käyttöön. Mutta kuten Reg huomasi, kun keskustelimme sen ylläpitäjän kanssa, siihen oli erittäin hyvä syy – ja se ei ole hyvä ilme monille yrityksille, jotka käyttivät sitä.
FUSE tulee sanoista File System in Userspace ja antaa kehittäjien luoda mukautetun tiedostojärjestelmän kirjoittamatta koodia ytimelle. Jos sinulla on esimerkiksi tietokanta tai pilvitallennusjärjestelmä ja haluat sen näkyvän käyttöjärjestelmässä vain yhtenä joukko tiedostoja ja kansioita, voit käyttää FUSEA.
sulakkeella on pitkä historia. Se luotiin Linuxille ja siirrettiin muihin Unixin kaltaisiin käyttöjärjestelmiin kuten FreeBSD ja OpenSolaris. Vuonna 2007 Google julkaisi portin Mac OS X: lle avoimena lähdekoodina. Vuonna 2011 tämä haarautui osxfuseksi, joka myöhemmin nimettiin uudelleen fuse for macOS: ksi.
silloin seitsemän kuukautta sitten käyttäjät huomasivat, että uusimman päivityksen lähdekoodi puuttui, vaikka koottu binääri oli lähetetty. ”Se on tarkoituksella”, sanoi ylläpitäjä Benjamin Fleischer. ”Jos käytät FUSE for macOS-ohjelmaa kaupallisessa ohjelmistoprojektissa, ota rohkeasti yhteyttä minuun.”
lisäkomplikaatio, jota kehittäjät ajattelevat viimeisen avoimen lähdekoodin version haarukoinnista, on se, että sulakkeen käyttäminen macOS: ssa vaatii ytimen laajennuksen allekirjoitusvarmenteen. ”Se ei ole standardi Developer ID sertifikaatti jokainen rekisteröitynyt kehittäjä saa”, sanoi Fleischer.
A tale of exposure bucks: How to lose a dev in 8 years
”i started working on FUSE in 2011. Opiskelin tietojenkäsittelytiedettä ja Fusen työstäminen alkoi harrastuksena. Luotin suosittuun FUSE-tiedostojärjestelmään NTFS-3g: hen ja halusin käyttää Mac OS X Snow Leopardin uutta 64-bittistä ydintä. MacFUSE, kuten projektia alun perin kutsuttiin, oli jo jonkin aikaa hylätty, eikä se tukenut 64-bittisiä ytimiä, joten aloin näpertelemään koodin kanssa”, Fleischer kertoi The Registerille.
”siitä on kulunut paljon aikaa ja macOS: n FUSE-käyttöjärjestelmään tukeutuvien sovellusten määrä on kasvanut nopeasti. Nykyään FUSE for macOS-käyttöjärjestelmää käyttävät monet suuret internet-yritykset, muun muassa pilvitallennus-ja infrastruktuuripalvelujen tarjoajat ja jopa suositut sosiaaliset verkostot.”
ongelma? Fleischer teki suurimman osan kehitystyöstä ilmaiseksi. Toukokuussa 2016 hän pyysi tukea. ”Jotta voisin viedä sulakkeen OS X: lle seuraavalle tasolle, haluaisin käyttää enemmän aikaa sen työstämiseen, mutta tämä ei ole mahdollista ilman korvausta työstäni”, hän selitti tuolloin.
”postaukseni ei tuottanut toivottuja tuloksia”, Fleischer kertoi. ”Sitten muutin strategiaani ja yritin ottaa yhteyttä suoraan yrityksiin, jotka käyttävät FUSEA, ja pyysin niiden tukea.
”yritin puoltaa sitä, että yhden projektin, johon kaikki osallistuvat, sen sijaan, että monet suljetut lähdekoodihaarukat työntämättä korjauksia ja parannuksia ylävirtaan, hyödyttäisivät kaikkia. Sain vakuutettua yhden tai kaksi yritystä tukemaan työtäni taloudellisesti. Kuitenkin useimmat yritykset olivat haluttomia tukemaan hanketta, että niiden tuote riippuu, koska se on saatavilla ilmaiseksi. Tämä on sinänsä aika ironista. Melkein kuin jotain, joka on saatavilla ilmaiseksi ei ole koettua arvoa.”
hän selvitti muita rahoitusvaihtoehtoja, koska ”hankkeesta luopuminen ei ole koskaan ollut minulle vaihtoehto.”
hän kertoi muun muassa, että ”FUSE ei ole loppukäyttäjän tuote. Suurimman osan ajasta FUSE asennetaan hiljaa kolmannen osapuolen sovellukset, jotka paljastavat virtuaalisen tiedostojärjestelmän. Monet loppukäyttäjät eivät ole tietoisia siitä, että he käyttävät FUSE tai tiedä, mitä palvelua se tarjoaa. Lahjoitusten pyytäminen sovelluksen osasta, josta käyttäjät ovat jo maksaneet, ei ole oikea lähestymistapa.”
tämän vuoksi Fleischer lopetti lähdekoodin julkaisemisen ja muutti myös lisenssiä. ”FUSE for macOS 3.9 voidaan edelleen vapaasti niputtaa kaupallisten ohjelmistojen kanssa. Sitten heinäkuussa 2019 julkaisin Fusen macOS 3.10: lle macOS Catalinan tuella uudella, vähemmän sallivalla lisenssillä, joka vaatii erityistä kirjallista lupaa yhdistää FUSE kaupallisiin ohjelmistoihin”, hän kertoi reg: lle.
miten tämä on mahdollista? ”Suurin osa macOS: n lähdekoodista on julkaistu BSD-lisenssillä. Kuitenkin esimerkiksi libfuse on julkaistu LGPL: n alla. Tein mitä muut suljetun lähdekoodin SULAKEHAARUKOIDEN kehittäjät ovat tehneet jo jonkin aikaa. BSD-lisenssissä ei ole copyleftiä, mikä tarkoittaa, ettei kenenkään tarvitse työntää muutoksia ylävirtaan tai asettaa niitä saataville. Koska libfuse kuuluu LGPL: n piiriin, siihen on tehtävä muutoksia, kun taas ytimen koodin muutokset voidaan pitää suljettuina, Fleischer selittää.
tulos? ”Lupamuutoksen jälkeen olen saanut yhteydenottoja useilta yrityksiltä ja neuvotellut joitakin lisenssisopimuksia. Juuri tältä osin Fusen lähdekoodin sulkeminen oli menestys. Vähintäänkin se auttoi lisäämään tietoisuutta kestävän avoimen lähdekoodin ohjelmistokehityksen vaikeuksista”, hän sanoi.
Fleischer lisäsi, että: ”en pidä Fusen jatkamisesta suljetun lähdekoodin projektina. Se on ollut vaikea päätös ja olen miettinyt sitä hyvin pitkään, mutta seison sen takana ja se tuntui olevan ainoa vaihtoehto lisätä tietoisuutta ja varmistaa hankkeen tulevaisuus.”
hän myöntää kuitenkin, että: ”en ole ollut kovin avoin lisenssimuutoksen suhteen.”
tuore Keskustelu Hacker Newsistä osoittaa, kuinka ”mielipiteet ovat ilmeisesti hyvin jakautuneita”, hän sanoi.
monet vastauksista ovat myötämielisiä. ”Toivon, että näemme tätä enemmän tulevaisuudessa: kehittäjät ymmärtävät, että heidän tekemällään työllä on arvoa ja että heidän ei tarvitse uhrata elämäänsä antaakseen sitä ilmaiseksi. Niinpä he ottavat työn tuotteensa hallintaansa ja alkavat haalia sitä arvoa itselleen”, eräs sanoi.
mitä tulevaisuudessa tapahtuu? ”Niin kauan kuin olen FUSE for macOS-projektin ylläpitäjä, FUSE on aina vapaa ei-kaupalliseen käyttöön”, hän kertoi El Reg: lle. ”Jos joskus päätän lopettaa Fusen ylläpitämisen, ja epäilen suuresti, että se tulee tähän lähitulevaisuudessa, vapautan lähdekoodin BSD-lisenssillä ja astun syrjään antaakseni jonkun muun ottaa hallintaansa osxfuse-organisaation GitHubissa.”
on myös mahdollista, että Apple voisi muuttaa sääntöjään – se on sanonut, että ytimen laajennuksia rajoitetaan macOS: n tulevissa julkaisuissa – tai että yhtiö voisi rakentaa jotain sulakkeen kaltaista itse macOS-ytimeen.
Leave a Reply