Announcement

Collapse
No announcement yet.

ZFS On Linux Has Figured Out A Way To Restore SIMD Support On Linux 5.0+

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #41
    Originally posted by audir8 View Post
    the Initial Developer/Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
    You missed the problem. CDDL says Initial Developer and Contributor are two different parties this is not a open mandate on all those who contribute code like patches.

    This is CDDL Contributor section 2.2
    (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: (1) Modifications made by that Contributor (or portions thereof); and (2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
    This is waffle does not effectively grant anything because its undone by point d.

    (d) Notwithstanding Section 2.2(b) above, no patent license is granted: (1) for any code that Contributor has deleted from the Contributor Version; (2) for infringements caused by: (i) third party modifications of Contributor Version, or (ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or (3) under Patent Claims infringed by Covered Software in the absence of Modifications made by that Contributor
    2.2 point d point 1 straight after the clear words "no patent license is granted:". How to say Indian giver. I contribute the code everyone starts using it. I remove the code from my version and then sue you for patent infringement.

    Yes 2.1 point d has the same lethal teeth for the Initial Developer to use against anyone using a CDDL work.

    MPL version following

    [2.1] Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: (...) under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version.
    This is the MPL one is a full blown patent grant covering everyone who submit code like patches so they cannot come back and ruin you because they do some upstream change. GPLv2 implied patent grant also covers all Contributors code no exception there is no take back.

    Originally posted by audir8 View Post
    To say CDDL and MPL (libreoffice) has no patent grant is easily proved false and such claims are pure FUD.
    I did not say MPL does not have a patent grant. Please don't muddy the waters because MPL has a proper patent grant that you cannot take back.

    A part patent grant that CDDL license gives might as well be treated as no patent grant at all because the Initial Developer and Contributor can effectively take back there patents. Lets say Orcale stops providing a ZFS upstream as now legally the Initial Developer due to acquiring sun they can now sue everyone using ZFS using the patents they hold over ZFS. All the contributors can pull the same stunt as well. CDDL has something that kind of looks patent grant buts it a highly conditional patent grant designed in favour of the Initial Developer.

    CDDL has "no patent license is granted:" written twice with a method so those with patents can contribute patented code then take it back and then sue you. CDDL is like Fat file system long filenames where Microsoft published the documentation then sued parties over it.

    Originally posted by audir8 View Post
    Nvidia in the kernel (however tenuous they maybe in Nvidia's case), and EXPORT_SYMBOL is used just as much as EXPORT_SYMBOL_GPL
    Please remember Nvidia driver wrapper code is GPL license. Nvidia does not use EXPORT_SYMBOL_GPL directly from their binary blob. Nvidia uses non derivative work because their binary blob is in fact made for windows.

    ZoL could lose that arguement with upstream ZFS dieing as you don't have solaris any more.
    https://www.cnet.com/news/oracle-app...n-opensolaris/
    This from 2010 in fact took back most of Sun/Oracle Patent coverage from ZFS.

    EXPORT_SYMBOL_GPL is used in three ways
    1) is that it over code that the patent license is only for GPL works.
    2) developer decided to for personal reasons.
    3) code is being deprecated due to other developments with future removal on the cards.

    FPU interface function changing to EXPORT_SYMBOL_GPL is the third one. Now how to address this issue you have to be aware what the hell caused the change. Its Preempt_RT

    OpenAFS is more complex.
    https://www.openafs.org/dl/license10.html
    The license of the module of OpenAFS is IBM public license. It contains a proper patent grant so the tort law argument "tort law has to show harm" could hold for IBM public license where it does not hold for CDDL.

    Next a lot of the EXPORT_SYMBOL_GPL has been set by IBM developers due to the patent grant IBM has done on items like RCU where the patent grant to OIN and others is GPL only of course IBM has the patent holder can break these rules because those are their patents and they can give a patent license with their IBM Public License.

    Does ZFS of Linux have a massive patent pool of items they have granted to the Linux kernel no so is not a IBM. Can ZFS of Linux provide the extra patent licenses to use some of the EXPORT_SYMBOL_GPL the answer is no. Does this mean ZFS of Linux developers have to bare the trouble yes and be forced to use more complex work around to patents because they don't legal access to them because they are under the wrong license.

    Comment


    • #42
      Originally posted by audir8 View Post
      The Linux Foundation could have a committee to decide this, they have the power. The whole ecosystem would be better off for it because of the certainty it would provide. It would likely help with GPL enforcement in other cases too where there clearly is abuse of the GPL happening. RIght now it's basically whatever goes, but it doesn't need to be if this property of the GPL is clearly defined and used in the right cases.
      To define this better with my $.02, the lawyers at the Linux Foundation or kernel maintainers in some committee or not, certainly could provide better certainty on what out-of-tree module can use which provides legal and non-deprecation guarantees if an OOT maintainer steps up to maintain a non-GPL symbol in-tree. This seems to be in the hands of ICs and individual maintainers right now, and I get out-of-tree might as well be in an imaginary universe, but like the AFS example (and the Nvidia example like many other likely closed source OOT modules), there should be a process where the end result is close to a black and white decision, and it's no where close to that right now for ZFS. It works, then it's slow, either support OOT modules or don't.

      Have a vote, set some rules, change them later, etc.. AFS and ZFS users know what risks they're taking.

      Also, RIP that Google Plus link from the lwn article!

      Comment


      • #43
        Originally posted by sa666666 View Post
        if you don't agree with how Linux works, DON'T USE IT. Why waste time coming here and bitching about it. Go use Windows...
        That's what I did. I check in here about once a month to see if Linux is still a trainwreck and... yep. A bunch of autistic people living in a bubble.

        Comment


        • #44
          Originally posted by k1e0x View Post
          I regret ever supporting the GPL or the GNU they are bad for the software industry on the whole. Freedom does not come with a list of restrictions on what you can use and how you use it and only a crazy person. (Stallman) would ever want all software to conform to his idea.
          What could go wrong?

          https://www.youtube.com/watch?v=7t96m2ynKw0

          Comment


          • #45
            Originally posted by audir8 View Post
            To define this better with my $.02, the lawyers at the Linux Foundation or kernel maintainers in some committee or not, certainly could provide better certainty on what out-of-tree module can use which provides legal and non-deprecation guarantees if an OOT maintainer steps up to maintain a non-GPL symbol in-tree. This seems to be in the hands of ICs and individual maintainers right now, and I get out-of-tree might as well be in an imaginary universe, but like the AFS example (and the Nvidia example like many other likely closed source OOT modules), there should be a process where the end result is close to a black and white decision, and it's no where close to that right now for ZFS. It works, then it's slow, either support OOT modules or don't.
            You have not read the Linux kernel documentation have you.
            https://github.com/torvalds/linux/bl...i-nonsense.rst
            What you want is a stable running driver, and you get that only if your driver is in the main kernel tree.
            Out of tree drivers simply are not supported its part of the Linux kernel documentation this is how it been since before 2006 so over a decade latter.

            Kernel changes only need to check themselves against code in the main kernel tree. If a Out of Tree driver gets broken bad luck you they documented it.

            Maintaining a non-GPL symbol in kernel tree also requires the ability to properly test it using only what is contained in the kernel tree.

            kafs done by redhat uses the same functions that openafs uses and openafs developers do at times add features to kafs.
            Nvidia submits code to nouveau to protect functions they must absolutely have.

            Where is ZFS On Linux mainline kernel module they work with to protect the parts they need in mainline kernel. This means ZFS of Linux has no veto rights to changes where openafs and nvidia because they can do a veto to changes as kafs(for openafs) or as nouveau(for Nvidia).

            Hard reality the rules have been like this since before 2006.

            audir8 comparing Nvidia and openafs to ZFS On Linux not not compare apples with apples. Because both Nvidia and openafs have a gpl mainline driver proxy to protect what they need even then it does not work all the time. ZFS On Linux does not have a mainline driver has no rights in the Linux development world because its not doing mainline development.

            Yes the stable api nonsense describes all the technical reasons why you want to be able to change the ABI /API in kernel space..

            This is the hard point if you are not assisting with the Linux kernel development itself why should the mainline Linux kernel developers care about you.

            CDDL is legally problematic due to its points d on for the initial developer and contributor allowing them to take back their patents at any point point in future. We have see Microsoft and other sue android and other major Linux device uses over patents. Mainline Linux is not going to accept any code they think is patent license questionable too many parties have been sued over that stuff. So ZFS on Linux need a proper rewrite to make themselves a proxy in the Linux kernel or accept major limitations.

            Comment


            • #46
              Originally posted by k1e0x View Post
              I regret ever supporting the GPL or the GNU they are bad for the software industry on the whole. Freedom does not come with a list of restrictions on what you can use and how you use it and only a crazy person. (Stallman) would ever want all software to conform to his idea.
              When a license is GPL incompatible more often that not it contains something bad.
              https://opensource.org/licenses/IPL-1.0
              The IBM Public License over openafs has some nasty teeth not patents but different.
              Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
              This puts all the liability on the publisher or distributor of openafs none on the parties who wrote the code. This is not what GPL does.

              Those restrictions you are talking about protect you legal ass in most cases.

              There is no such thing as Full Freedom in the legal world.

              Like I have no problems with people choosing not to use GPL licensed stuff but you have to be aware when you using a license that is GPL incompatible you need to check is closely and locate the incompatibility. There is more often than not a serous issue with the license that could see you on the legal chopping block.

              CDDL the take back patent license meaning it effective does not have any form of patent protection. A plan BSD license without any patent statement is safer legally than CDDL because with BSD license you can argue entrapment/deception. CDDL in 2.1 and 2.2 d section clearly state "no patent license" with a list of conditions to trigger it include upstream developer deleting the patent using code out their tree at this point you have no legal defence you never got a patent license to run version different to the initial developer/contributors most current version. Its these point d that make CDDL majorly GPL incompatible. Lot of ways this is more dangerous than the IBM Public License one.

              IBM Public License one since depending on your country may be pushed on you by consumer protection laws so so places is a no difference.
              CDDL one where you have no patent coverage stated means you have no legal arguement and are left swinging in all countries with software patents.

              CDDL is a very bad license. IBM Public License is not much better.

              GPL and LGPL are both very good license benchmarking tools if license is GPL/LGPL compatible it will not contain legal teeth in it to absolutely screw you over.

              Comment


              • #47
                Originally posted by oiaohm View Post

                When a license is GPL incompatible more often that not it contains something bad.
                Is that what the GNU tells you is it? They would.

                Originally posted by oiaohm View Post
                There is no such thing as Full Freedom in the legal world.
                Freedom is the lack of restrictions. Have you lost your mind? You sound like a dictator. Liberty and freedom are very real things, so is control and conformity. Open your eyes like I did. You are literally promoting a lack of individual freedom. Why should anyone listen to you with that kind of statement?

                Originally posted by oiaohm View Post
                GPL and LGPL are both very good license
                Nah.. you keep it, I'm good. I believe in odd concepts like freedom so I don't think it's for me.
                Last edited by k1e0x; 07-21-2019, 02:21 AM.

                Comment


                • #48
                  1) Any patents issue is separate from an OOT module requiring FPU code. FPU code which was EXPORT_SYMBOL and could be maintained by a ZFS dev if asked. No need to mix the two issues.

                  2) OpenAFS was given an explicit exception by Linus before there was KAFS (https://www.softwarefreedom.org/reso...rnel-cddl.html) so AFS and ZFS is exactly an apples to apple comparison. ZFS just didn't get such an exception.

                  Ultimately, It's up to the kernel devs, IMO if they want to go after real abuse of the GPL with the kernel, they will need to find a way to explicitly agree to certain (non-derivative) exceptions to the GPL that they're willing to make with EXPORT_SYMBOL/_GPL and work with such maintainers, and also explicitly disagree with abuses in order to have the power to stop them. Like on paper. Not going to court is great, but clearly communicating why they won't work with a CDDL project for x and y reasons but they will work with a IPL project for x and y reasons up to z extent is a fair thing to be asking from the legal representatives of Linux devs. This is the core of the problem I have, I don't see an easy solution, other than some vote maybe, though I'm not a lawyer or a kernel dev. There are OOT modules, there are GPL-breaking patches people are using, just have an official position. It might actually have the effect you want.

                  Even the SFC in their opinion say https://sfconservancy.org/blog/2016/...zfs-and-linux/
                  We note that Debian's decision to place source-only ZFS in a relegated area of their archive called contrib, is an innovative solution. Debian fortunately had a long-standing policy that contrib was specifically designed for source code that, while licensed under an acceptable license for Debian's Free Software Guidelines, also has a default use that can cause licensing problems for downstream Debian users. Therefore, Debian communicates clearly to their users that this code is problematic by keeping it out of their main archive. Furthermore, Debian does not distribute any binary form of zfs.ko.
                  So, why take out the FPU code if Debian can work "innovative[ly]" with ZFS in contrib?

                  Comment


                  • #49
                    Originally posted by audir8 View Post
                    1) Any patents issue is separate from an OOT module requiring FPU code. FPU code which was EXPORT_SYMBOL and could be maintained by a ZFS dev if asked. No need to mix the two issues.
                    Patents and FPU changing to EXPORT_SYMBOL_GPL for OOT is not separate and that the problem. To make FPU code in Linux kernel Preempt_RT compatible in kernel space required using functionality that is under IBM and Vmware patents and a few other parties, So a patent nightmare to license to say the least most of those are license for use in GPLv2 with Linus exception for userspace code works only. This is why the change from EXPORT_SYMBOL to EXPORT_SYMBOL_GPL and this is why in the case bypassing it not a highly good idea because this is walking straight into patent infringement by using patents functionality you don't have a license if your code is not GPL. If the EXPORT_SYMBOL_GPL in the Linux kernel patent reason happens to own to your company then you can breach it but you better be very sure its not mixed up with other parties patented techs. So since the EXPORT_SYMBOL_GPL version of FPU protection is now a patent thicket ZFS need to go around by developing own solution or make their code GPL properly.

                    Could the old FPU code maintained going forwards with the integration of Preempt_RT the answer is again no. So no point offering it to the ZFS of Linux developer also it was impossible to offer as I will state next..

                    None of the ZFS on Linux developers have a in Linux mainline tree module or are part of the Linux kernel keyrings for signing so work could not be given to them either. This is another case where Nvidia and OpenAFS are different there are developers working on both of them who do maintain stuff in the Linux kernel mainline so work could be given to them if it was practical.

                    Bpfilter embedded userspace program in .ko module gets around that patent problem cleanly and without causing the Preempt_RT breakages.

                    Originally posted by audir8 View Post
                    2) OpenAFS was given an explicit exception by Linus before there was KAFS (https://www.softwarefreedom.org/reso...rnel-cddl.html)
                    Read your own URL please.

                    Nope. No such exception exists.
                    Those are words of Linus Torvalds 2003. There was no explicit exception give by Linus ever.

                    OpenAFS is made for many platforms "not a derived works" clause and to make sure of this they build drivers for multi different operating systems as part of standard development. But they have in the past been hit with a GPL flagged function that could not be reversed and had to work around the limitation as well.

                    The idea that Nvidia or OpenAFS or anyone else got a special exception is a myth. Due to Linux kernel licensing Linus Torvalds cannot grant an exception even if he wanted to. Getting a exception would require every developer of the Linux kernel to agree on something that never happening.

                    Linus Torvalds cannot give something he legally cannot give.

                    Originally posted by audir8 View Post
                    So, why take out the FPU code if Debian can work "innovative[ly]" with ZFS in contrib?
                    https://github.com/torvalds/linux/bl...i-nonsense.rst
                    1) They have stated there position. If you are out of tree any modification to upstream Linux mainline kenrel that breaks your code is your problem.
                    So it does not matter that ZFS is in contrib or shipped by Ubuntu or anything else. Policy has been stated for over a decade now.
                    2) EXPORT_SYMBOL_GPL most of it locations are not about GPL infringement but about patent infringement because patents have licensed for the Linux kernel to use.

                    3) Being restricted to debian contrib is that there are license issues there.

                    4) not having any members part of main linux kernel development and not having a mainline driver really does limit ZFS On Linux options.

                    Comment


                    • #50
                      Originally posted by k1e0x View Post
                      Is that what the GNU tells you is it? They would.
                      No its not what GNU tells me. I have sat though many legal reviews of licenses.

                      Originally posted by k1e0x View Post
                      Freedom is the lack of restrictions. Have you lost your mind? You sound like a dictator. Liberty and freedom are very real things, so is control and conformity. Open your eyes like I did. You are literally promoting a lack of individual freedom. Why should anyone listen to you with that kind of statement?
                      There is no such thing as a total lack of restrictions. Our legals system does not allow it.
                      https://oll.libertyfund.org/titles/l...-the-law-lf-ed
                      Its about time you read this book from 1961. The legal systems we use today are no better than all the way back then.

                      The reality you have to choose what restrictions you will tolerate.

                      GPL licenses have a set of restrictions to make sure that if you use a GPL program that someone who developed that program cannot cause you trouble in future. This is why it makes a good benchmark to compare other licenses against.

                      Less restricting than GPL you miss stuff like patent protection and copyleft more restricting than GPL will also cause you problems.

                      There has to be a license with the right balance of restriction and grants out there GPL , MPL and apache 2.0 licenses are fairly close to the right point. Items like

                      CDDL might appear less restrictive on one hand but it lacking a restriction around patents so parties can double cross you.

                      Liberty and freedom are very real things,
                      This when you get into law gets horrible. Liberty and freedom mean different things depending what court you are in fact in and the case that is on trial. What will be legal freedom/liberty in one court can be a criminal offence in another in the same country.

                      Liberty and Freedom are ideas/goals neither fully exists under law.

                      I have not lost my mind. I am just aware what is only a idea/goals. Different groups have different ideas what Liberty and Freedom mean as well.

                      Comment

                      Working...
                      X