Ontwikkelaars brengen opensource-implementatie exFAT uit

Een aantal ontwikkelaars heeft versie 1.0 van een opensource-implementatie van Microsofts gepatenteerde exFAT-bestandssysteem vrijgegeven. De exFAT-implementatie, die draait binnen FUSE, is onder andere beschikbaar voor een aantal Linux-distributies.

Het exFAT-bestandssysteem is in 2006 door Microsoft uitgebracht en is geoptimaliseerd voor het lezen en wegschrijven van data van en naar verwisselbare flashmedia. Ook rekent exFAT af met de diverse beperkingen van de fat- en fat32-bestandssystemen. Zo kan exFAT een maximale theoretische opslagcapaciteit van 64ZB hanteren, terwijl met fat32 ingedeelde partities blijven steken op 2TB. Ook de maximale bestandsgrootte van 4GB kwam met exFAT te vervallen.

Bij het vaststellen van de sdxc-standaard, waarbij tot 2TB naar een sd-flashkaartje kan worden geschreven, werd exFAT als standaardfilesystem gekozen. Microsoft vraagt echter in het bijzonder aan hardwarefabrikanten een vergoeding voor het gebruik van zijn bestandssysteem en kwam in 2009 met een bijbehorend licentiemodel. Onder andere Sharp, Sony, Canon en Panasonic nemen licenties af voor exFAT. Sommige bedrijven zoeken echter naar alternatieve bestandssystemen voor flashmedia, zoals het nog jonge f2fs-bestandssysteem van Samsung.

Om binnen Linux-besturingssystemen toch ondersteuning te kunnen bieden voor onder andere sdxc-media en usb-sticks zonder exFAT direct in de kernelcode op te nemen, en dus licentieproblemen te voorkomen, heeft een aantal ontwikkelaars een FUSE-implementatie gebouwd. Versie 1.0 is inmiddels vrijgegeven. FUSE biedt elke Linux-gebruiker de mogelijkheid om binnen de user space toegang te krijgen tot 'Linux-vreemde' bestandssystemen. Bovendien zijn er diverse ports beschikbaar van FUSE, waaronder een OS X-implementatie onder de naam Fuse4X.

Volgens de ontwikkelaars van exFAT voor FUSE biedt hun implementatie van het bestandssysteem volledige lees- en schrijfmogelijkheden naar exFAT-media. De aanvullende tool exfat-utils maakt het verder mogelijk om partities aan te maken en te manipuleren. Verder zouden in versie 1.0 de schrijfprestaties fors zijn verbeterd. De broncode is beschikbaar onder een GNU GPLv3-licentie, terwijl de code ook voor een aantal populaire Linux-distributies direct is te downloaden.

Door Dimitri Reijerman

Redacteur

21-01-2013 • 15:42

67

Reacties (67)

67
66
60
8
0
0
Wijzig sortering
Het is eigenlijk toch gewoon te triest voor woorden dat er dus geen open bestandsformaat bestaat die door alle grote besturings systemen ondersteund word en tegelijkertijd een beetje robuust en modern is.
We hebben deze hele lijst aan file-systems, geen een waarvan ik kan zeggen dat het op de meestgebruikte OS-sen uitgewisseld kan worden.

Of zie ik nou iets over het hoofd?

[Reactie gewijzigd door Infant op 22 juli 2024 18:06]

Bedrijven met een dominante markpositie verafschuwen interoperabiliteit.
Het levert ze niets op. Integendeel, het maakt het alleen maar makkelijker voor hun klanten om over te lopen naar de concurrent. En dat wil je als bedrijf niet.
Anoniem: 81352 @Infant21 januari 2013 20:56
Ik gebruik UDF op mijn usb stick. Ik weet niet of ik het grootschalig op hardeschijven zou gaan inzetten, maar het werkt op moderne linux en moderne windows versies.
Ext3 en NTFS worden prima ondersteunt op de 3 belangrijke OSen (Android, OSX, Windows) en hebben allebei journaling. Maar ze zijn niet bedoelt voor SDXC kaartjes.

Het lijstje is dus aanzienlijk kleiner (zie mijn andere post)
Zou iemand kunnen uitleggen waarom het mogelijk is om een OpenSource te maken van iets dat gepatenteerd is?
Omdat je niet overal software patenten hebt. Als je deze software ontwikkelt in landen waar dit soort patenten niet gelden, is er niets aan de hand. Als je ook nog de software ontwikkelt zonder de specificaties van Microsoft te hebben gekopieerd, maar via een "black box" methode, dan is er eigenlijk weinig tegen te doen.

Natuurlijk mag je die software eigenlijk niet downloaden en/of gebruiken in landen waar Microsoft's patenten op exFAT gelden, maar dat zal individuele gebruikers weinig kunnen schelen. Voor bedrijven (zoals Samsung, Sony, etc) is het echter een andere zaak, die zullen moeten ophoesten voor een licentie, of een alternatief zoeken.
Als een bedrijf of persoon een patent publiceert is het juist de bedoeling dat iedereen dat gaat gebruiken. De patentwetgeving is bedoelt om innovatie te delen. In ruil voor publicatie krijgt de patenthouder het recht om voorwaarden te stellen aan gebruik van de uitvinding (bijvoorbeeld door geld te vragen). Opensource valt onder het auteursrecht en de patentwetgeving staat volledig los van het auteursrecht. Software kan dus onder een opensource licentie uitgeven worden maar dat sluit niet uit dat het patent vrij is. Volgens http://www.iusmentis.com/octrooien/spoedcursus/rechten/ is privé gebruik van patenten geldig volgens de wet. Dus als je opensource code ophaalt en daar niet voor hoeft te betalen, ben je dus niet strafbaar om het te gebruiken. Daarbij zijn er stevige beperkingen aan software-patenten in Europa. Het kan dus zelfs zo zijn dat het patent niet geldig, laat staan aangevraagd in Europa is.

[Reactie gewijzigd door davekok op 22 juli 2024 18:06]

Nou een bekend voorbeeld is SAMBA de Linux implementatie van Microsofts' netwerk omgeving. Omdat andere apparaten in staat moeten kunnen zijn om er mee te praten (een netwerk is tenslotten een gedeelde omgeving), is het logish dat je dat ziet als een omgeving waar reverse engineering mag. De overeenkomst van Microsoft met de EU, zorgde er zelfs voor dat het Samba team toegang kreeg tot de documentatie van de netwerk stack van Microsoft.

Maar óók voor die tijd was (en is ) het mogelijk, hoewel het een gevaarlijk gebied is. Je mag namelijk niet de exacte code kopieren, want dan kom je weer op het gebeid van auteurs recht (wat dus is waar Oracle Google op probeerde te pakken omtrent Java, maar er is dus overigens ook een volkomen legale opensource Java implementatie),. Pamela Jones van Groklaw legt het hier uit: http://lwn.net/Articles/134642/

[Reactie gewijzigd door ronaldvr op 22 juli 2024 18:06]

Dat kan prima.
Een patent is een exclusief exploitatierecht voor een bepaalde technologie. Zolang je de technologie niet epxloiteert is er niks aan de hand. Je mag dus best een open source applicatie ontwikkelen.

[Reactie gewijzigd door Anoniem: 80466 op 22 juli 2024 18:06]

Let op het woordje recht. Een patent is dus geen verbod op het implementeren van het desbetreffende patent door anderen.
Daar zorgt het woord "exclusief" dan wèl weer voor.
Omdat software patenten niet in alle landen van de wereld mogelijk zijn. In europa zijn ze o.a. niet per definitie geldig.
En in azie zal de situatie nog wel meer in die richting zijn.

Vooral in .usa is software-patenten een actief issue, en daar zitten nou net ook de meeste distro-leveranciers.

Als source is iets echter 'free-speech' ... en geen software, dus niet patent-gevoelig
die loophole in de wetten waren toch allang gefixt na het gedoe met PGP ?
Tuurlijk. Zoek gewoon de definitie van iets maken - of namaken - op.

Kan ook een foto van de individuele delen van je auto maken, die in CAD uittekenen en vervolgens met een open licentie vrijgeven. Zal me ook niet in dank afgenomen worden - maar is precies hetzelfde idee. Welk labeltje ze vervolgens aan de code hangen boeit niet echt.
Alternatieve werkplaatshandboeken doen ongeveer dat.
Ik ben het niet zeker, maar ik denk dat dit onder het mom is dat alleen code aangeleverd wordt, en de gebruiker het zelf compileert en installeert.

Op zich is er dan ook niets fout mee, het is niet omdat er een octrooi ligt op een stoel dat je daarom geen plan van een stoel en hout/vijzen mag hebben om hem zelf te maken.
Dat heeft met de Amerikaanse wetgeving te maken.

Op de site van DVDcss een stukje over gestaan. In Amerika valt broncode onder de vrijheid van meningsuiting. De broncode zelf kan en doet namelijk niets. Je hebt pas strafbaar als je installatie bestanden aanlevert.

Ik weet niet hoe FUSE werkt maar als de code niet gecompileerd hoeft te worden is er niet aan de hand, het is dan vrijheid van meningsuiting. Het is raar maar het is zo.
Hangt een beetje ervan af hoe je het beestje noemt denk ik. Als je het als een protocol beschouwd is een clean room implementatie op basis van reverse engineering de functionaliteit wel toegestaan.
Het is niet verboden om iets wat gepatenteerd is na te maken. Zolang je het maar niet commercieel gebruikt. Niemand houdt je tegen als je in je schuurtje een Vacu-vin in elkaar knutselt voor jezelf Maar zodra je ze gaat produceren en verkopen heb je een probleem. Hetzelfde met software.
Anoniem: 415197 21 januari 2013 16:18
Het is al vaker gezegd. Interfaces en API's zouden niet gepatenteerd moeten kunnen worden. Dat werkt alleen maar interoperabiliteitsproblemen in de hand.

Ik begrijp niet dat daar niet een keer wat aan wordt gedaan.

Als MS zo graag een efficiente opslagmethode wil toepassen en niet wil vrijgeven, dan implementeren ze maar een hardwarematige laag die de vertaalslag maakt. Nu zitten we dus weer met een halve oplossing voor een probleem dat in de vorige eeuw allang opgelost had moeten zijn.
De leden van de SD Association hadden de sdxc standaard nooit moeten accepteren als voor het uitlezen een licentie nodig is. Helaas is het accepteren van de standaarden een politiek spelletje.
Het is niet strict noodzakelijk: een SDXC-kaartje is een gewoon een block device waar je iedere file system op kan mappen. Niemand verplicht je om exFAT te gebruiken, je kunt om het even ook ext4 gebruiken.
Kan, maar niet om het even. Een journaling filesystem herschrijft dezelfde blokken vaak - in ieder geval de meest gangbare journaling filesystems. Niet bepaald erg gunstig voor de levensduur van je SD kaartje of USB stick (itt SSD doen die over het algemeen niet aan block remapping).
In theorie zijn log-structured FSen het beste

http://en.wikipedia.org/wiki/Log-structured_file_system

Maar bij SDXC kaartjes speelt een ander probleem: die moeten gelezen en geschreven kunnen worden op elk apparaat en ieder besturingsysteem.

Nu weet ik best dat Microsoft zich niet interesseert voor compatibiliteit met OSX en Linux, maar voor de gebruiker is dat wel van belang te meer omdat (vooral die laatste) overal en nergens draait ivm Android.

We zullen dus moeten komen met een FS dat platformonafhankelijk draait. Dwz zo'n log structured FS welke je ook kunt porten naar je Linux telefoon, naar je Windows PC, en naar je PlayStation 4.
MS geeft wel degelijk de specs vrij, implementatie is alleen niet gratis. Free as in speech, not as in beer!

API's en interface specificaties moeten inderdaad openbaar zijn om interoperabiliteit mogelijk te maken, maar gratis is een heel ander verhaal. Da's net zoiets als eisen dat ambtenaren niet alleen hun notulen en besluiten openbaar moeten maken, maar ook geen salaris mogen krijgen.

Als je het onmogelijk maakt om geld te verdienen met open standaarden en API's, dan gaan technologisch geavanceerde bedrijven gewoon alles weer sluiten.

[Reactie gewijzigd door Dreamvoid op 22 juli 2024 18:06]

Dus HUN implementatie is niet gratis.... dan zou IK dus een implementatie van de specs mogen schrijven en deze gratis distribueren.....MS heeft alleen het vervelende trekje dat ze ook dan geld willen zien. Dit is namelijk waar ze linux gebruikers al tijden mee lopen te bedreigen, implementatie van een van hun filesystemen
dan zou IK dus een implementatie van de specs mogen schrijven en deze gratis distribueren
Sterker nog dat mag je ook... kost je klauwen met geld aan licentie-rechten, maar niemand die je verbiedt om die kosten NIET door te berekenen aan je afnemers.
In hoeverre is deze GPL code dan legaal? Is er dan in principe geen licentie nodig om gebruik te mogen maken van de code?

Interessante paper hieromtrent:
Reverse Engineering Microsoft Exfat File System

"The exFAT file system is proprietary property of Microsoft, and an
implementation of the exFAT file system requires a Microsoft license to the
specifications."

[Reactie gewijzigd door DieterVDW op 22 juli 2024 18:06]

Het hangt er hier vanaf of jou land software patenten heeft en de legaliteit zal wel net zo zijn als met VLC Mediaplayer.

Trademark is niet aan de orde.
Copyright is niet aan de orde (de GPL code is onafhankelijk ontwikkeld)
Patent is aan de orde afhankelijk van waar je bent.
Dit is een beetje op de grens van wat er wel en niet legaal is, en hangt ook erg af van de jurisdictie van het land waarin de code is gemaakt/vrijgegeven. http://en.wikipedia.org/wiki/Reverse_engineering#Legality geeft al aan dat dit onder de amerikaanse wetgeving wel toegestaan is, maar het vrijgeven van de code in de EU niet zou mogen.

Je kunt ook nog vragen stellen over de manier waarop dit geformuleerd is. Als het daadwerkelijk reverse engineered is, is het dan uberhaupt bewijsbaar dat het voldoet aan de specificaties? En als ik een willekeurige sdxc kaart koop, moet ik dan de EULA op het voorgeinstalleerde filesystem accepteren?

Ik kan je in ieder geval vertellen dat het draaien van de GPL code legaal is, echter kan Microsoft bij de developers gaan klagen dat zij de regels hebben overtreden - maar op het eerste gezicht lijkt me dat een vrij kansloze zaak voor een filesystem dat Microsoft is 2006 heeft uitgebracht.
Mooi om te zien dat dit eindelijk op linux werkt, wel jammer dat Microsoft weigert andersom ext4 te ondersteunen.
Waarom zou Microsoft dat moeten doen, iedereen kan toch gewoon een ext4 driver bouwen? Daar is het nou juist open source voor.

[Reactie gewijzigd door Dreamvoid op 22 juli 2024 18:06]

Moeten niet, maar het zou zinnig zijn. Vanuit de wijze waarop ext opgebouwd is (namelijk het 'verstrooien' van bestanden over de partitie ipv het aan elkaar plakken of fragmenteren vanaf de voorkant zoals NTFS doet), is het veel beter geschikt voor gebruik op SSD's.
NTFS is niet echt fantastisch wat dat betreft; ik zou veel liever ext4 gebruiken op mijn SSD.
Of nog beter: btrfs.
Anoniem: 151857 @marcelvb22 januari 2013 09:36
Eens dat zowel btrfs & ext4 mooie filesystems zijn. Maar je kunt niet zeggen: "Dit is het beste filesystem". Dat hangt namelijk helemaal af van het type workload die je erop zet. Bijv. Ikzelf ben geen fan van reiserFS vanwege een paar nare ervaringen (nofi), toch gebruik ik het filesystem in het geval wanneer ik een proxy server bouw. De data is immers niet belangrijk en moet snel gevonden zijn. En dit is slechts één van de vele voordelen van een open OS :-).
Volgens die redenatie had MS de nodige drivers voor linux moeten bouwen voor NTFS, WMI, MS-WebDAV, etc. Daar is het immers closed-source voor...
Als ze er geld in zien, dan doen ze dat echt wel. Ze maken ook genoeg (closed source) software voor Android, OS X en iOS.

[Reactie gewijzigd door Dreamvoid op 22 juli 2024 18:06]

Dat maakt toch niet uit, je kunt gewoon een driver voor het ext4 file system installeren op Windows: 3 Ways to Access Your Linux Partitions From Windows.
Dat zijn allemaal ext2 drivers. Als je bepaalde functies uit Ext3/4 uit zet werkt het geloof ik nog wel (soms read-only), maar het is verre van ideaal.
Anoniem: 80466 @qlum21 januari 2013 16:14
Net zoals dit tooltje kun je ook ext4 via een 3rd party tooltje op windows ondersteunen.
Ext2Fsd is bijvoorbeeld een ssyteemdriver voor ext2 ext3 en ext4 die je onder Windows kan installeren.
Anoniem: 24417 21 januari 2013 16:29
welke idioot maakt er nou ook iets een standaard terwijl het gepatenteerd is?
Omdat het in deze wereld om geld draait, niet zo zeer om vooruitgang.
Anoniem: 24417 @Grimm22 januari 2013 10:33
dat is idd een waar woord, jammer toch. hopelijk wordt dat ooit beter, ik lust wel een star trek achtige maatschappij!
Omdat de beste specificatie de standaard moet worden, niet omdat-ie toevallig patentvrij is. Klanten zal het werkelijk een worst wezen of hun camera nou op exFAT, HFS+ of ZFS draait. Dat is iets wat de vendors optimaliseren voor je. Alleen als je hobbyist bent en graag op low-level met filesystems knoeit, dan wil je graag toegang tot de source.

[Reactie gewijzigd door Dreamvoid op 22 juli 2024 18:06]

Omdat de beste specificatie de standaard moet worden, niet omdat-ie toevallig patentvrij is.
Dat valt nog te bezien. Het is algemeen bekend dat (software)patenten voornamelijk worden ingezet om concurrenten te dwarsbomen. Met het terugverdienen van gemaakte investeringen om de "uitvinding" te kunnen realiseren heeft het weinig meer van doen.
Het is algemeen bekend dat (software)patenten voornamelijk worden ingezet om concurrenten te dwarsbomen.
Hier maak je al zo'n gigantische aanname dat de rest al snel een ideologisch verhaal wordt.
In het geval van MS is dit niet zozeer een aanname. Kijk bevoorbeeld naar long-filenames op FAT. Gebruikers van Linux worden nog steeds gedreigt met dit verhaal....
Een licensie nemen bij MS en niemand praat er meer over. Ook hier weer: free as in speech, not as in beer.

[Reactie gewijzigd door Dreamvoid op 22 juli 2024 18:06]

Dan hebben ze in dit geval wat aardige steken laten vallen. Bovendien, wie bepaald wat het beste is? Ikzelf heb bijvoorbeeld belang bij COW. Dus wat mij betreft is een filesysteem dat niet COW ondersteunt bij voorbaat ongeschikt.

[Reactie gewijzigd door Anoniem: 292995 op 22 juli 2024 18:06]

Wat het beste is hangt van de toepassing af. Als een camera fabrikant een optimaal filesystem verzint voor toepassing in een camera maar het werkt vervolgens niet als de gebruiker zijn kaartje in z'n PC stopt is het geen goed filesystem. Ook als is het voor die camera het best denkbare.
Het wordt al moeilijk om iets de beste specificatie te noemen als het niet patentvrij is en dus maar beperkt gebruikt kan worden :P
Ik vermoed dat microsoft geen ondersteuning wilde bieden op iets wat ze niet konden controleren dus exfat is waarschijnlijk verre van de beste specificatie.
H264 is ook gepatenteerd en behoorlijk gestandaardiseerd (op een Firefox html5 implementatie na dan...).
Ja en daarom (patenten) hebben ze nog steeds ruzie over of het nu WebGL of h.264 moet worden.
WebGL en h.264 hebben weinig met elkaar te maken.
Jij doelt op de WebM videocodec.
WebGL is een API die het mogelijk maakt om middels JavaScript 3D en 2D grafische rendering te doen in de browser.
Is de exFAT licensie zo opgesteld dat userspace drivers geen licensie hoeven te nemen? Of is dit gewoon de bekende truc zodat distro makers niet hoeven te betalen, met het excuus "de users compilen/installeren het, niet wij"?
Vraag is wat de truc is niet? Persoonlijk vind ik het een bijzondere truc om mij voor ieder apparaat waarmee ik aan mijn data wil opnieuw licentie gelden te moeten betalen.

Maar goed, dat is veelal inderdaad de 'truc' ja.
Ik denk dat die Licenties vooral van toepassing zijn op de apparaten die exFAT zouden gebruiken, zoals camera's en camcorders. Het ondersteunen van exFAT op een computer is eerder een toepassing die het mogelijk maakt om zo'n hardware apparaat te gebruiken: de ondersteuning is niet noodzakelijk voor het goed kunnen gebruiken van je computer. Tenminste, zo lees ik het. Ik moet zeggen dat ik er blij mee ben, want exFAT is voor flashmedia een stuk geschikter dan NTFS. Mijn hoop is dat het nu een (nog) wat grotere vlucht gaat nemen en ik mijn grotere sticks nu gewoon standaard in exFAT kan formatteren. Nu ook WinXP (wat geen standaard ondersteuning hiervoor ontving via Windows Update - er is wel een patch, maar die moet je handmatig downloaden en installeren) er binnenkort uitgaat maakt dat in ieder geval sowieso de weg vrij. Nu werken mijn Linuxboxen dus ook eindelijk hiermee.

[Reactie gewijzigd door Buggle op 22 juli 2024 18:06]

OS X kan ook lezen en schrijven naar exFat en daardoor ideaal in mijn ogen voor externe schijven voor multi platform. :)
Het werkt toch nog niet helemaal lekker. Ik heb laatst mijn USB drive, onder OS X, geformatteerd naar exFAT maar mijn windows 7 machine herkende de USB drive toch echt niet. Het enige wat er tevoorschijn kwam was een partitie van ±200MB, ipv een partitie van 1TB.
Dat klopt, probleem heb ik ook gehad. Formatteer hem onder Windows 7 naar exFAT en dan werkt hij onder zowel Windows 7 als Mac OS X, vanaf versie 10.6.5.
Ook meegemaakt. Dat is toch idioot? Weet iemand waarom?
Of heeft Apple een eigen interpretatie van exFAT?

[Reactie gewijzigd door Fireshade op 22 juli 2024 18:06]

Ik denk dat Spockz zijn USB drive vanuit Disk Utility heeft geformatteerd, en dan maakt OS X een GUID partition table aan, die kan Windows niet lezen. Linux houdt er ook niet van, die kan zulke schijven wel mounten, maar je kunt er niet van booten (tenminste niet zover mij bekend).

Bij formatteren vanuit Disk Utility op OS X moet je eigenlijk altijd expliciet instellen dat je een MS-DOS partitie tabel wilt gebruiken, als je de schijf ook op een ander systeem wilt gebruiken.
Zowel linux als windows kunnen al redelijk lang met GUID (= GPT) overweg hoor.

Het zijn alleen die fijne patenten op filesystems die in de weg zitten. Ook hier... En support van uit MS dan (probeer daar maar eens makkelijk ext2/3/4 xfs jfs btrfs reiserfs etc. te openen).

Zou het persoonlijk een bijzonder prettige ervaring vinden als alle OS'en LUKS eens als encryptie standaard gingen ondersteunen. Maar ze zijn veel te druk bezig met hun eigen eilandjes te creeeren - bewaken en bovenal te houden.
Waarschijnlijk ligt dit niet aan het formatteren an sich, maar aan het partitioneren. Misschien dat de Mac de stick heeft gepartitioneerd met GUID op een manier die Win7 niet snapt?
Tip: kies MBR bij het partitioneren onder de Mac, dan moet het denk ik wel goed gaan.
same here, problemen met exFAT onder mountain lion. spijt van ik hem zo geformateerd heb. Nu moet ik eigenlijk weer een 3TB schijf kopen om de data te kunnen overzetten :S
't zal misschien aan mij liggen maar ik kon in 2011 al lezen- en schrijven naar exFAT via FUSE?

-edit- oh ik zie het al, het nieuws is eigenlijk dat het Beta-labeltje er nu afgepoetst is.

[Reactie gewijzigd door mcDavid op 22 juli 2024 18:06]

Op dit item kan niet meer gereageerd worden.