Page 1 of 2 12 LastLast
Results 1 to 30 of 42

Thread: ZSTD license

  1. #1
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,532
    Thanks
    755
    Thanked 674 Times in 365 Posts

    ZSTD license

    After boxerab post in LZHAM thread, i've reread zstd PATENT:
    The license granted hereunder will terminate, automatically and without notice,
    if you (or any of your subsidiaries, corporate affiliates or agents) initiate
    directly or indirectly, or take a direct financial interest in, any Patent
    Assertion: (i) against Facebook or any of its subsidiaries or corporate
    affiliates
    This means that we cannot expect to see ZSTD in Chrome or any other product of large enough company.

    Moreover, even using ZSTD f.e. in 7-zip will mean that Facebook can violate Igor Pavlov rights, f.e. by developing its own, closed-source version of 7-zip, and Igor can't sue Facebook without losing right to continue use of ZSTD

    I think this patent is as toxic as GPL. Facebook supported development of ZSTD in order to get a weapon for patent wars, but real result most probably will be a complete lack of ZSTD support from large companies.

    And of course, such restriction completely contradicts text of BSD license, so zstd LICENSE is just meaningless set of chars

  2. #2
    Programmer
    Join Date
    May 2008
    Location
    PL
    Posts
    309
    Thanks
    68
    Thanked 173 Times in 64 Posts
    At https://github.com/facebook/zstd/iss...ment-245011724 one can read:

    The following basic bullet points can be reminded (nothing surprising, they have already been mentioned) :
    - License and patents are orthogonal
    - The license is and remains BSD, no matter what, irrespective of any patent issue.
    - A BSD license doesn't cover patents.
    - The patent grant is an additional set of rights, on top of the BSD license. It protects more by being there than by not being present.
    - The PATENT file is generic and present within all Facebook Open-Source projects.

  3. Thanks:

    Cyan (23rd June 2017)

  4. #3
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,532
    Thanks
    755
    Thanked 674 Times in 365 Posts
    Oh, sorry, i see it's already a huge topic. I think we need to ask Chrome developers or Google representative whether they want this file removed or it doesn't matter for them

    I personally think that when you license your software with BSD, this implies that you also allow to use any your patents employed by the software - otherwise BSD claims are meaningless

    This software explicitly states that Facebook doesn't allow you to use it in some circumstances, and this isn't BSD license anymore - "we allow you to make copies as you wish, but don't allow to use them"

    Even if there are no yet patents involved, Facebook can fill the patent later for any part of ZSTD, and this will mean that all your previous investments in ZSTD technology are ruined (or you lose ability to sue FB for breaking of your own patents)

    It may be OK for small developers, but not for large companies.

  5. #4
    Member
    Join Date
    Nov 2013
    Location
    Kraków, Poland
    Posts
    735
    Thanks
    230
    Thanked 231 Times in 142 Posts
    Two questions:
    - does Facebook have any patents concerning zstd? A year has passed, but searching "Facebook compression" doesn't show anything relevant?
    https://www.google.pl/?tbm=pts&gws_r...=pts&tbs=sbd:1

    - if it doesn't have, does this scary "The license granted hereunder will terminate, automatically and without notice (...)" have any legal meaning?

  6. #5
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,532
    Thanks
    755
    Thanked 674 Times in 365 Posts
    I think that it doesn't make any sense now since there are no patents. But it can be patented any later, and this prevent large companies from using it.

    It will be great if FB will just remove "terminate" part of this file. I believe that without it, ZSTD cannot become new compression standard as it was planned

  7. #6
    Member
    Join Date
    Nov 2013
    Location
    Kraków, Poland
    Posts
    735
    Thanks
    230
    Thanked 231 Times in 142 Posts
    US allows to patent up to a year after publication, so I think zstd is completely safe now (?) ... until Yann will add some revolutionary new technology, Facebook will decide to patent - but in such case it could be branched before this addition.

  8. #7
    Member
    Join Date
    Dec 2011
    Location
    Cambridge, UK
    Posts
    486
    Thanks
    167
    Thanked 166 Times in 114 Posts
    As far as I can tell a license, once granted is forever unless explicitly stated by that license. Practically speaking when a product changes license it means newer versions, bug fixes, ports, etc are under the new license and possibly older software is released with the new license *additionally*, but older software can still be used under the license it was released.

    However I'm not sure if the patent file does actually water down the license. Questionable. Either way the concept is pretty toxic even if it's not enforcible.

  9. #8
    Member
    Join Date
    May 2014
    Location
    Canada
    Posts
    137
    Thanks
    62
    Thanked 21 Times in 12 Posts
    Quote Originally Posted by JamesB View Post
    However I'm not sure if the patent file does actually water down the license. Questionable. Either way the concept is pretty toxic even if it's not enforcible.
    As inikep stated, patents are orthogonal to permissive licenses such as BSD and MIT. The license in no way protects the user from patent attacks from the author, or any other patent holder.
    So, in the case of zstd, the PATENT grant offers more protection to the user than vanilla BSD. GPL 3 license offers protection to the user that the authors won't sue them over patents.

    Also, Jarek's point that a year has passed without any zstd patents from Facebook does help reduce the paranoia . But, because a mega-corporation such as Facebook owns
    the code, I still feel in my gut like I would be walking through a mine field by using or extending the library. My 2 cents.

  10. #9
    Member
    Join Date
    Nov 2015
    Location
    ?l?nsk, PL
    Posts
    81
    Thanks
    9
    Thanked 13 Times in 11 Posts
    Patents are not fully orthogonal from a license like BSD. Some lawyers argue that many software licenses, BSD included, contain an implied patent grant. It's up to the court to decide whether they do, really.
    I guess that the patent grant could be interpreted as a clarification of the status patents and thus may remove rights.

  11. #10
    Member
    Join Date
    Dec 2011
    Location
    Cambridge, UK
    Posts
    486
    Thanks
    167
    Thanked 166 Times in 114 Posts
    Quote Originally Posted by boxerab View Post
    Also, Jarek's point that a year has passed without any zstd patents from Facebook does help reduce the paranoia . But, because a mega-corporation such as Facebook owns
    the code, I still feel in my gut like I would be walking through a mine field by using or extending the library. My 2 cents.
    The problem isn't just whether Facebook take out any patents of their own, but also whether they break third party patents and people feel they cannot complain due to risk of losing a license on code they depend on. This is holding people to ransome basically.

    That said, it's all nonsensical. How exactly do you revoke a BSD license, in practice? It has to be the entire world simultaneously. So for example if I sue Facebook over patent infringement and they then invoke this clause and make zstd no longer BSD license, then it impacts on everyone, not just me. Is that *really* what they want? Of course not - their intention is clearly to get everyone using this software and it'd be a huge home goal and they wouldn't want to remove access to everyone just because one person is suing them. If instead they claimed that I personally am not able to use that software but the license still holds for other people then fine - I'll just obtain it from someone else instead! (The right to redistribute is part of the license which has been granted to others.)

    The practical upshot is that it's just an overzealous lawyer that's made something unworkable. I don't think it helps or protects facebook in any way, but it does give them ill will and bad PR. If they really wanted to deal with it properly they should have gone down a road like the Apache style license. I'm confident therefore that this is a (rather dumb) outcome of blindly applying operating procedures in nonsensical fashion rather than implying any intent.

  12. #11
    Member
    Join Date
    Sep 2008
    Location
    France
    Posts
    869
    Thanks
    470
    Thanked 261 Times in 108 Posts
    Quote Originally Posted by JamesB View Post
    How exactly do you revoke a BSD license, in practice?
    You don't :
    https://code.facebook.com/pages/850928938376556

  13. Thanks:

    JamesB (26th June 2017)

  14. #12
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    448
    Thanks
    1
    Thanked 101 Times in 61 Posts
    Quote Originally Posted by Jarek View Post
    US allows to patent up to a year after publication, so I think zstd is completely safe now (?) ...
    Not any more. The US had the "first to invent" policy, but this changed a couple of years ago. It is now "first to file", as in most other countries. What matters is the date of the patent application, no longer a (potentially fictional) date of the invention.

  15. #13
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    448
    Thanks
    1
    Thanked 101 Times in 61 Posts
    Quote Originally Posted by m^3 View Post
    Patents are not fully orthogonal from a license like BSD. Some lawyers argue that many software licenses, BSD included, contain an implied patent grant. It's up to the court to decide whether they do, really. I guess that the patent grant could be interpreted as a clarification of the status patents and thus may remove rights.
    It depends on the license. GPLv3 grands full access to the IPs in the software to their users (or rather, someone slamming a GPLv3 label on his software has also to grand IP rights). BSD makes no such statements, so it is at least questionable whether you get IP with the code. As far as ISO is concerned, they take the position that you do not, i.e. just by having access to a software released under BSD, you do not get any IP rights.

  16. #14
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    448
    Thanks
    1
    Thanked 101 Times in 61 Posts
    Quote Originally Posted by JamesB View Post
    How exactly do you revoke a BSD license, in practice?
    You can't. Once someone downloaded the code, he got the code under a license, so he got what he got. What someone can do is release a new version of the code under a new license, yes.

  17. #15
    Member
    Join Date
    Mar 2013
    Location
    Worldwide
    Posts
    565
    Thanks
    67
    Thanked 198 Times in 147 Posts
    Quote Originally Posted by Cyan View Post
    Does the additional patent grant in the Facebook BSD+Patents license terminate if I sue Facebook for something other than patent
    infringement?
    No

    can be understood that the response for the question "Does ...for patent infringement?" must be "yes".

  18. #16
    Member
    Join Date
    May 2017
    Location
    Slovenia
    Posts
    5
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Quote Originally Posted by thorfdbg View Post
    Not any more. The US had the "first to invent" policy, but this changed a couple of years ago. It is now "first to file", as in most other countries. What matters is the date of the patent application, no longer a (potentially fictional) date of the invention.
    This is not true and was explained in [1] and [2] by derf - lead developer of daala, opus and AV1.

    [1] https://www.reddit.com/r/programming...video/div9sva/
    [2] https://www.reddit.com/r/programming...video/div9jr2/

    relevant quote: "In the US, the person who published it in git has up to one year to file a patent on it. Under first-to-file, a publication immediately counts as prior art for everyone else, so it would be able to invalidate any patent anyone else filed after it was published."

  19. #17
    Member
    Join Date
    May 2014
    Location
    Canada
    Posts
    137
    Thanks
    62
    Thanked 21 Times in 12 Posts
    Quote Originally Posted by dnd View Post
    Does the additional patent grant in the Facebook BSD+Patents license terminate if I sue Facebook for something other than patent
    infringement?
    No

    can be understood that the response for the question "Does ...for patent infringement?" must be "yes".
    Right, so if someone is using zstd, and they have other patents, and Facebook infringes on these patents, then they lose the patent grant from Facebook
    if they sue Facebook for infringement.

  20. #18
    Member
    Join Date
    May 2014
    Location
    Canada
    Posts
    137
    Thanks
    62
    Thanked 21 Times in 12 Posts
    So, BSD license grants you the right to re-distribute the code, and yet you could still be sued by the author for patent infringement if you don't license the patent.

    ''The first thing we do, let's kill all the lawyers"
    Shakespeare

  21. #19
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    448
    Thanks
    1
    Thanked 101 Times in 61 Posts
    Quote Originally Posted by quikee View Post
    relevant quote: "In the US, the person who published it in git has up to one year to file a patent on it. Under first-to-file, a publication immediately counts as prior art for everyone else, so it would be able to invalidate any patent anyone else filed after it was published."
    Are we talking about different things? Of course you cannot patent something somebody else has already published. I do not question this. But you can no longer retro-actively move the priority date to the past as you could years ago.

  22. #20
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    448
    Thanks
    1
    Thanked 101 Times in 61 Posts
    Quote Originally Posted by boxerab View Post
    So, BSD license grants you the right to re-distribute the code, and yet you could still be sued by the author for patent infringement if you don't license the patent.
    You got it. You can look at the code as you like, but as soon as you start using the IPs - probably by selling the code or other software depending on the same IP - you need a license that grants you access to the IPs. IP is not the same as source code.

  23. #21
    Member
    Join Date
    May 2014
    Location
    Canada
    Posts
    137
    Thanks
    62
    Thanked 21 Times in 12 Posts
    Quote Originally Posted by thorfdbg View Post
    You got it. You can look at the code as you like, but as soon as you start using the IPs - probably by selling the code or other software depending on the same IP - you need a license that grants you access to the IPs. IP is not the same as source code.
    Not just looking at the code, but re-distributing is permitted



    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.



    It just seems dishonest to permit someone to redistribute, and then sue them for redistributing

  24. #22
    Member
    Join Date
    Dec 2011
    Location
    Cambridge, UK
    Posts
    486
    Thanks
    167
    Thanked 166 Times in 114 Posts
    Quote Originally Posted by thorfdbg View Post
    Are we talking about different things? Of course you cannot patent something somebody else has already published. I do not question this. But you can no longer retro-actively move the priority date to the past as you could years ago.
    (My bolding.) If only! The US model seems to be patent first and then let the courts decide whether it should have been granted. Sigh.

    As for dates, see https://encode.su/threads/2648-Publi...ll=1#post52750. That's a UK patent, but I think the same may apply elsewhere. The invention is back dated 1 year from filing date. I don't know what that actually means legally, but I question the validity of their dates. (I have no proof, but given the face to face discussions I had with them prior to the filing of the patent they must be exceptional actors if they already had started development by the date they claim!) There doesn't appear to be any burden of proof as far as I can see, but maybe it's a meaningless date too and has no legal meaning?

  25. #23
    Member
    Join Date
    May 2017
    Location
    Slovenia
    Posts
    5
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Quote Originally Posted by thorfdbg View Post
    Are we talking about different things? Of course you cannot patent something somebody else has already published. I do not question this. But you can no longer retro-actively move the priority date to the past as you could years ago.
    Then I don't understand why you said:
    Not any more.
    when Jarek asked:
    US allows to patent up to a year after publication, so I think zstd is completely safe now (?) ...
    They can't move the date into the past now anymore as the date when the patent was filed is relevant, so it is "safe".

  26. #24
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    448
    Thanks
    1
    Thanked 101 Times in 61 Posts
    Quote Originally Posted by JamesB View Post
    (My bolding.) If only! The US model seems to be patent first and then let the courts decide whether it should have been granted. Sigh.
    Well. There is how things should work by the letters of the law, and how it works in practical terms due to limitations in the actual implementation. Yes, certainly, if you file a patent, it is the job of the patent officer to check whether a related invention has already been published, and it is also the duty of the inventor to make such a research. Nevertheless, we know how this works in reality: The patent offices are snowed under by a lot of junk patents, and nobody has the time any more to check them thoroughly. Nor is neither interested. The patent officer gets more patents done per time, the inventor creates more "value" by creating more "inventions" over time, so, ehem "everybody is happy" except if it comes to a conflict, and then its the court that has to decide.
    Quote Originally Posted by JamesB View Post
    That's a UK patent, but I think the same may apply elsewhere. The invention is back dated 1 year from filing date.
    Patents are specific to a country. I do not know how the UK handles patents these days. My own experience is US and Germany, and both have (now) the "first to file" principle, IOWs, the priority date is the date of the filing, and not the (speculative, virtual) date of the invention.
    Quote Originally Posted by JamesB View Post
    There doesn't appear to be any burden of proof as far as I can see, but maybe it's a meaningless date too and has no legal meaning?
    That's how it used to be in the US. You could date back by one year, and there was no burden of proof. Which is, quite frankly, of course nonsense. You can put there anything, and still claim that it is correct. Anyhow. IANAL, so if you need to know definitely, seek counsel with your lawyer of least distrust.

  27. #25
    Member
    Join Date
    Nov 2013
    Location
    Kraków, Poland
    Posts
    735
    Thanks
    230
    Thanked 231 Times in 142 Posts
    Quote Originally Posted by thorfdbg View Post
    (...) it is the job of the patent officer to check whether a related invention has already been published (...)
    Recently we had an excellent example of how it works in practice from the Storelap case: of just rANS+Markov, which was
    - explicitly mentioned in my arxiv, referenced in this patent application,
    - there was James' public implementation o1 rANS, explicitly mentioned in documents published in GB application of the same patent.

    So what did examiner did? He only checked US PATENTS for KEYWORDS - here is the "notice of allowance": https://register.epo.org/documentVie...+150412280JP1+

    So if one puts own new ideas/work on github or arxiv, believing it will make it safe ... someone else can really easily patent it!
    Even consciously searching for such attempts is extremely difficult (e.g. "Markov" vs "order 1"), examiner has nearly no chance to find it within US patents ... and after granted, it is extremely difficult and costly to fight such patent, starting e.g. with ~20k$ reexamination cost.

  28. #26
    Member
    Join Date
    Dec 2011
    Location
    Cambridge, UK
    Posts
    486
    Thanks
    167
    Thanked 166 Times in 114 Posts
    It doesn't help that most patents are written in complete gibberish, deliberately it would appear to make finding them hard! The entire thing is bogus anyway when it comes to software.

    The EU haven't entirely solved this either, but it's better than in the US. The myth is that the EU have banned software patents, but it's more nuanced than that from what I understand.

    I think really all they've done is enforced the "obvious" rule better, which they should have been doing anyway. Taking a piece of maths and implementing it using a computer is obvious. Taking a piece of software that computes something and the output to disk (sorry, "non-volatile media") is also obvious, etc. So publishing an algorithm defeats patents that simply implement that in software. If however you have some very clever and cunning implementation details in writing a piece of software then that could still be the subject of a patent. It's not so much that "software" is being patented here but the implementation details, but it can amount to the same thing in that situation. Whether they're good enough to know that, for example, "using a lookup table" is an obvious implementation detail, I have no clue about.

    We're a bit off topic anyway. Getting back to ZSTD, it's been out there a while and the license is forever, so I don't see any issue with it. I believe the license+patent implementation is misguided, but it's also now an irrelevance too. If they wanted to change things in the future then they could, but it'd just lead to a fork from the BSD variant.

  29. Thanks:

    boxerab (28th June 2017)

  30. #27
    Member
    Join Date
    May 2014
    Location
    Canada
    Posts
    137
    Thanks
    62
    Thanked 21 Times in 12 Posts
    There is some interesting discussion here https://news.ycombinator.com/item?id=14779881
    about the PATENTS grant file for another Facebook project, RocksDB. RocksDB has removed that file,
    after push-back from the Apache foundation.

  31. Thanks:

    Jarek (16th July 2017)

  32. #28
    Member
    Join Date
    May 2014
    Location
    Canada
    Posts
    137
    Thanks
    62
    Thanked 21 Times in 12 Posts
    Paraphrasing one Hacker News comment:

    "If your company sues Facebook over an unrelated software patent, your zstd license is pulled and if your business has any dependency on zstd that part of your business is broken until you can port to something else, or you are in license violation if you keep using it. On the other hand, if Facebook sues you over a software patent that isn't related to zstd , they are still free to do so."

    So, there is a marked asymmetry in this license.

  33. #29
    Member
    Join Date
    May 2014
    Location
    Canada
    Posts
    137
    Thanks
    62
    Thanked 21 Times in 12 Posts
    RocksDB is now dual licensed Apache | GPLv2

  34. #30
    Member
    Join Date
    May 2014
    Location
    Canada
    Posts
    137
    Thanks
    62
    Thanked 21 Times in 12 Posts
    And there is a petition to change the React license as well (very popular javascript framework).

Page 1 of 2 12 LastLast

Similar Threads

  1. LzTurbo vs. Oodle vs. Zstd
    By dnd in forum Data Compression
    Replies: 21
    Last Post: 29th June 2017, 00:30
  2. zstd HC
    By inikep in forum Data Compression
    Replies: 10
    Last Post: 8th November 2015, 00:27
  3. FreeArc 'Next license
    By Bulat Ziganshin in forum Data Compression
    Replies: 42
    Last Post: 19th April 2015, 22:09
  4. Rereleasing packJPG under a different license
    By packDEV in forum The Off-Topic Lounge
    Replies: 8
    Last Post: 28th February 2012, 21:01
  5. On OSS license
    By Cyan in forum Data Compression
    Replies: 12
    Last Post: 27th April 2011, 13:27

Posting Permissions

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