I didn't hear about this the first time around so maybe I missed out, but the press release is not clear. It doesn't actually seem like there was a GPL violation. Samsung released a binary in one product. They later applied the GPL to that component as it is used in another project. That shouldn't have any retroactive effect on the first, however.
Still great of them to release the earlier code though.
They produced the driver under license, somehow someone got a hold of the code and "guerilla relicensed" it, which they did not have authority to do, and uploaded the result to Github.
Sometime later when this repository was noticed on Github, someone noticed the source was a derivation of one of the existing Linux FAT filesystem drivers. In other words, under the terms of the GPL it is derived code. The fact it was only previously distributed in binary form does not excuse this: Samsung were distributing GPL derived code in violation of the license.
So this clears things up a little bit. What I don't understand now is the usefulness of this code. For example, could it potentially be merged upstream? If not, then why not? If it can be distributed under the GPL independently, I don't understand why it couldn't get shipped with Linux.
The fact this driver exists "legitimately open source" now, yet is still covered by patents, confuses me a bit.
It's probably in the same situation as ffmpeg, x264, lame, (previously) gif encoders etc are or were.
If it is true that non-US countries do not acknowledge the related patents, it would be a very interesting situation if anyone were to make it integrated in a git fork of the mainline kernel. Could we end up having a richer git branch/repo hosted on "kernel.eu"? Would others do pull requests on top of this, thus meaning further kernel patches (related or not so related) get interwoven? Would a "us compatible" mainline linux stagnate while an off-limits-for-americans "eurolinux" flourish? Probably not for just a fringe fs driver that can stay separate. But what about possibly-US-patent-covered patches to the core, if they provide enough benefits?
> Would a "us compatible" mainline linux stagnate while an off-limits-for-americans "eurolinux" flourish?
That sounds like a silly way to go about things. A much simpler solution, if this really was a problem: a kernel compile-time config option to disable (and disable the selectability of) patent-encumbered kernel modules. "Check this to compile a kernel for use in the US", etc. There'd only be one codebase; the only active maintenance would be in making sure that if a new patent-encumbered module were added, that an entry for it also got added to the configure switch.
Source code can't infringe US patents because source code isn't a machine or a process or a composition of matter.
A machine running a Linux kernel can be plausibly accused of infringing thousands of active US patents even without FAT support. There is no version of Linux that does or could ever pass a patent clearance review in the USA.
The distinguishing character of the VFAT patents is that Microsoft threatens to sue people over them. I don't know of any cases they've won so far and no patent is actually infringed until a jury says so.
I think the key part of that paragraph is in the last sentence:
"... in order to serve the goal of providing and supporting only free and open source software that is not restricted by software patents by default. "
So, not a legal reason, but a philosophical reason.
(They make package maintainers excise MP3 code from upstream tarballs and repackage those, not just patch it out of the compiled code - it's a massive pain).
The source contained sections directly copied from the Linux FAT driver, which is only available under GPLv2. Shipping it under any other license was a GPL violation.
Doesn't anyone else think having the company with 90 percent market share in PCs charge for access their OS this way, is a little insane? How did the anti-trust committee miss this one a decade ago?
exFAT is new, and actually quite different from FAT32/16/12. If I recall correctly it has things like extents, xattrs, and support for files >2GB.
The only reason to use exFAT is if you need a filesystem that can be accessed from both Windows and Mac OS X. If you only need Windows, then use ntfs-3g. If you only need Mac OS X, then use HFS.
exfat is also the default filesystem on Android devices for large (>32G maybe?) SDXC cards. It has clear advantages over FAT on huge filesystems, though this is excruciatingly annoying as it's easy to forget to format it wrong by accident and end up with a filesystem I can't read from my Linux machine.
What use is removable media without a universally recognized format?
Is this patent US only? Could one take this code to produce a "EuroLinux" or "AsiaLinux"? Kind of like the "non-US" sections that used to be in Debian?
> enjoy in all the other countries of the Union, the advantages that their respective laws grant to nationals
This implies that if a patent is filed in one place, then it is effectively filed in all countries of the Union, but one is still bound by the their respective laws, and therefore if they do not recognize your patent as valid then it is not valid in that country.
"File system methods and systems enabling efficient detection that a filename exists, by executing a hash function on the file name to reduce the overall computational complexity of determining that a directory entry might match the target filename, prior to performing the string comparison to determine the entry does match the target filename. A cross-device extensible means of providing a conversion function, such as uppercasing the filename, occurs prior to the hash. Methods of creating, deleting, and modifying the directory entries is further provided, as well as details of an embodiment of the file system described."
"1. A first one or more computer readable storage media having computer executable instructions that, when executed on at least one processor, configure the at least one processor to perform a method of detecting if a target file name exists on a second one or more computer readable storage media, the method comprising:
(A) determining a name hash from the target name;
(B) determining if the name hash corresponds to a directory entry set name hash value, the directory entry set name hash value corresponding to one of a plurality of directory entry sets, each of the plurality of directory entry sets stored on the second one or more computer readable storage media;
(C) determining if the target name matches a directory entry set name corresponding to the one of the plurality of directory entry sets after step (B) determines the name hash corresponds to the directory entry set name hash value; and
(D) indicating that the target name exists after step (C) determines the target name matches the directory entry set name, the step (A) comprising:
determining the target name corresponds to one of a predetermined set of names, the predetermined set of names having a common portion;
initializing a temporary value to a predetermined start value, the predetermined start value corresponding to a pre-computed partial hash value corresponding to the common portion;
for each character of the target name other than the common portion:
rotating the temporary value right by at least one bit;
converting the character from a first value to a second value based upon a conversion table; and adding the second value to the temporary value; and
using the temporary value as the name hash."
Not defending it, just pointing out that what's "covered" by a patent is what is in the claims, not the abstract.
Which is to say that it's a patent on hashing directory names using a particular (and by the sounds of it not very efficient ) hash function, then using the hash to find them in an on-disc directory index in the usual fashion, translated into patentese to make it sound more complicated and innovative than it actually is.
But that's kind of OK because if you implement something that doesn't practice all the parts of the claim ( e.g. not doing the bit wise operation as described) you are not infringing.
Microsoft is quite pro-active in tracking and licensing exFAT. They're generally quite polite about it, but insistent (as is their right).
I've heard different anecdotes on the price, but it's not cheap. An Ars article from 2009 places the flat fee at $300k[1], although I've heard of niche device manufacturers paying $100k.
Unclear. GPLv2 has implicit patent grant (see Section 7), so if Samsung has a patent license from MS then that Samsung is required to extend that license to all recipients (direct and indirect) of the code.
Which of course is no guarantee that they are able to grant, and then you can get in trouble for patent infringement while samsung gets in trouble for distributing software against the terms of the gpl.
Would be fascinating to know how the GPL operates in this case. The way I see it, it can't be that a distributor is liable for patents they do not own on code they distribute. Otherwise the GPL becomes almost non-viable since even the mere act of distributing code under it puts you into the chain of liability. It can only be that you are granting an implicit license for patents you actually own or have the right to re-license.
In section 7, it says that distribution is banned if the distributor has patent obligations preventing the recipient from having the four freedoms
The distributor is not liable for patents they do not own, but they can loose distribution permission depending on the situation.
Same is actually true for anything GPL say. The worst case scenario is always that the distributor loose the permission to distribution, and thus become liable under copyright infringement if they distribute while violating the license.
Interesting question. Obviously the people behind the LAME MP3 encoder cannot extend you any patent rights on MP3 encoding, you would have to go to MPEG-LA for that. On the other hand, if you take that MP3 encoder and embed it in a device you start selling, you'll most certainly put yourself in the chain of liability, no?
If you can point me at one that's read/writable out of the box on Windows, OS X and Linux, that'd be grand. last I looked there wasn't one, although UDF came close.
Not wanting to be tangential but is exFAT any good? And what do others use for a cross platform file system? I sadly had to format a portable 600GB drive as FAT32 the other day, just so it would play ball across OSs and devices. I went to use extFAT, then realised I'd have to use FUSE to get it to work so fell back to FAT32.
Also is it backwards compatible with the other FATS; as in can't you read an ext4 as ext3 (hoping that I haven't made that up)?
From what I understand (somebody correct me), exFAT is prone to corruption if you unplug an exFAT drive without doing a soft eject first. On the other hand, it's probably the best FS that's natively supported by both OSX and Windows.
If the GPL code existed first, then it "should not" be able to become a patent. I quote "should not" because the reality is that code that is undeserving sometimes does become a patent.
If what is covered by the patent was first, then it is legally patentable.
At the US, yes, and if the person holding the patent is not the same licensing the code, you can still be sued for using it. Just like proprietary software.
> 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
This means anyone distributing this driver -- including Samsung, since they are not the sole copyright holder -- is on, at best, extremely tenuous footing. I don't expect Samsung has license from Microsoft to sublicense the relevant patents to the world.
of course, you can gpl-license your implementation of a patented algorithm. the copyright license under which software is offered and any patents associated with underlying algorithms are, I think, orthogonal.
Still great of them to release the earlier code though.