Page 2 of 5 FirstFirst 1234 ... LastLast
Results 11 to 20 of 49

Thread: Samsung Accidentally Leaked The exFAT Linux Driver

  1. #11
    Join Date
    Feb 2013
    Posts
    441

    Default

    Quote Originally Posted by r1348 View Post
    This is a blatant licence violation and Samsung has the right to go medieval on his ass. Will they? Probably not, but I'd expect a cease&desist pretty soon.
    Well it is also likely that this module violates the GPL license of the kernel. Linus only considers stuff that was originally written for other operating systems and then trivially ported to Linux as non-GPL:

    Quote Originally Posted by Linus Torvalds
    And in fact, when it comes to modules, the GPL issue is exactly the same.
    The kernel _is_ GPL. No ifs, buts and maybe's about it. As a result,
    anything that is a derived work has to be GPL'd. It's that simple.

    Now, the "derived work" issue in copyright law is the only thing that
    leads to any gray areas. There are areas that are not gray at all: user
    space is clearly not a derived work, while kernel patches clearly _are_
    derived works.

    But one gray area in particular is something like a driver that was
    originally written for another operating system (ie clearly not a derived
    work of Linux in origin). At exactly what point does it become a derived
    work of the kernel (and thus fall under the GPL)?

    THAT is a gray area, and _that_ is the area where I personally believe
    that some modules may be considered to not be derived works simply because
    they weren't designed for Linux and don't depend on any special Linux
    behaviour.

    Basically:
    - anything that was written with Linux in mind (whether it then _also_
    works on other operating systems or not) is clearly partially a derived
    work.

    - anything that has knowledge of and plays with fundamental internal
    Linux behaviour is clearly a derived work. If you need to muck around
    with core code, you're derived, no question about it.
    The Samsung code appears to have been written by a developer who has been doing Linux kernel development since 2002 (at least), so I think they would have a hard time in court arguing that this is a cleanroom implementation that wasn't "designed for Linux". Now that the source is out, it will be interesting to see some more technical analysis of exactly how integrated it is with the kernel, and whether it actually contains any code/data structures that taint it due to being directly copied from the kernel.

  2. #12
    Join Date
    Feb 2013
    Posts
    441

    Default

    Quote Originally Posted by WorBlux View Post
    But if the can't GPL thier code, and distribute it anyways as a kernel module in some kernel, that's a copyright violation itself. If the M$ patents are the issue, then port F2FS to windows and mac.
    Samsung can release patented code as GPLv2 but not GPLv3. The kernel is GPLv2 so patented drivers are ok.

  3. #13
    Join Date
    Feb 2013
    Posts
    441

    Default

    Quote Originally Posted by chrisb View Post
    The Samsung code appears to have been written by a developer who has been doing Linux kernel development since 2002 (at least), so I think they would have a hard time in court arguing that this is a cleanroom implementation that wasn't "designed for Linux". Now that the source is out, it will be interesting to see some more technical analysis of exactly how integrated it is with the kernel, and whether it actually contains any code/data structures that taint it due to being directly copied from the kernel.
    Ok I took a quick 10 second look: https://github.com/rxrz/exfat-nofuse.../exfat_super.c contains string "timestamp is already written, so mark_inode_dirty() is unneeded." searching on this string shows that it was added to the kernel in 2005 in this commit: http://linux.derkeiler.com/Mailing-L...5-03/1976.html

    Other comments are the same e.g. exfat_setattr() "We don't return -EPERM here. Yes, strange, but this is too * old behavior.": http://www.cs.fsu.edu/~baker/devices.../fs/fat/file.c
    Code:
    390         /*
    391          * We don't return -EPERM here. Yes, strange, but this is too
    392          * old behavior.
    393          */
    394         if (attr->ia_valid & ATTR_MODE) {
    395                 if (fat_sanitize_mode(sbi, inode, &attr->ia_mode) < 0)
    396                         attr->ia_valid &= ~ATTR_MODE;
    397         }
    398 
    399         if (attr->ia_valid)
    400                 error = inode_setattr(inode, attr);
    401 out:
    402         return error;
    403 }
    404 EXPORT_SYMBOL_GPL(fat_setattr);
    So it appears the "Samsung Proprietary code" contains GPLv2 copied straight from Linux kernel.

  4. #14
    Join Date
    Jan 2011
    Posts
    193

    Default

    Quote Originally Posted by chrisb View Post
    Samsung can release patented code as GPLv2 but not GPLv3. The kernel is GPLv2 so patented drivers are ok.
    The can distribute the program without a patent license, but if you distribute it with a patent license, that licence must be royaly-free and redistributable. See section 7 of the GPL 2.0. The main difference outlined in section 11 of 3.0 is the automatic grant of patent licenses by contributors to the program. Otherwise it just spells out obligations regarding a third party patent in greater detail.

    I don't know what parts of the filesystem the patents cover, but It may be possible that buying flash media preformated to exfat gives you an implied license to use code neccessary to use that filesytem. If this isn't the case Samsung still might be in the clear if thier patent license is linked to the hardware rather than the software.

  5. #15
    Join Date
    Feb 2008
    Posts
    210

    Default

    Somebody opened the can of worms! It seems a Samsung employee did dirty things in the code, copying GPL'd stuff into their "propietary" filesystem driver and that means it's a derived work by all means.

    Are there plans about researching that source code? I'm sure there can be more interesting stuff out there, maybe an automated pattern search could give more results.

    So well, exFAT is available. Now let's attack the patents that cover it


    Quote Originally Posted by chrisb View Post
    Ok I took a quick 10 second look: https://github.com/rxrz/exfat-nofuse.../exfat_super.c contains string "timestamp is already written, so mark_inode_dirty() is unneeded." searching on this string shows that it was added to the kernel in 2005 in this commit: http://linux.derkeiler.com/Mailing-L...5-03/1976.html

    Other comments are the same e.g. exfat_setattr() "We don't return -EPERM here. Yes, strange, but this is too * old behavior.": http://www.cs.fsu.edu/~baker/devices.../fs/fat/file.c
    Code:
    390         /*
    391          * We don't return -EPERM here. Yes, strange, but this is too
    392          * old behavior.
    393          */
    394         if (attr->ia_valid & ATTR_MODE) {
    395                 if (fat_sanitize_mode(sbi, inode, &attr->ia_mode) < 0)
    396                         attr->ia_valid &= ~ATTR_MODE;
    397         }
    398 
    399         if (attr->ia_valid)
    400                 error = inode_setattr(inode, attr);
    401 out:
    402         return error;
    403 }
    404 EXPORT_SYMBOL_GPL(fat_setattr);
    So it appears the "Samsung Proprietary code" contains GPLv2 copied straight from Linux kernel.

  6. #16
    Join Date
    Mar 2013
    Posts
    253

    Default

    Quote Originally Posted by timofonic View Post
    did dirty things in the code, copying GPL'd stuff into their "propietary"
    They all do that. I wonder if there's one piece of closed source out there that isn't parasitic (i.e. doesn't contain stolen GPL-ed code).

  7. #17
    Join Date
    Feb 2008
    Posts
    210

    Default

    Quote Originally Posted by prodigy_ View Post
    They all do that. I wonder if there's one piece of closed source out there that isn't parasitic (i.e. doesn't contain stolen GPL-ed code).
    Let's research and sue'em all!

  8. #18
    Join Date
    Jul 2010
    Posts
    449

    Default

    Quote Originally Posted by prodigy_ View Post
    They all do that. I wonder if there's one piece of closed source out there that isn't parasitic (i.e. doesn't contain stolen GPL-ed code).
    Do you have any evidence to back that up?

  9. #19
    Join Date
    Nov 2007
    Posts
    1,353

    Default

    Quote Originally Posted by chrisb View Post
    Well it is also likely that this module violates the GPL license of the kernel. Linus only considers stuff that was originally written for other operating systems and then trivially ported to Linux as non-GPL:



    The Samsung code appears to have been written by a developer who has been doing Linux kernel development since 2002 (at least), so I think they would have a hard time in court arguing that this is a cleanroom implementation that wasn't "designed for Linux". Now that the source is out, it will be interesting to see some more technical analysis of exactly how integrated it is with the kernel, and whether it actually contains any code/data structures that taint it due to being directly copied from the kernel.
    Good post. I got the best understanding of what is going on from this post. Thanks for making it so clear.

  10. #20
    Join Date
    Mar 2013
    Posts
    253

    Default

    Quote Originally Posted by archibald View Post
    Do you have any evidence to back that up?
    /sigh

    Don't we have right here in this thread a random piece of closed source code with evidence all over it?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •