Page 2 of 2 FirstFirst 12
Results 31 to 47 of 47

Thread: Compression software, which license ? GPL, BSD, or others ?

  1. #31
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    437
    Thanks
    1
    Thanked 96 Times in 57 Posts
    Quote Originally Posted by binarysoup View Post
    How would this come about? You are no more liable when treading on someone else's patents with GPLv3 then with any other licence, what's your reasoning behind this statement?
    I suggest you read paragraph 11 very carefully. It states that you are responsible for patents you "knowingly" depend on. IOW, you would have to proof in court that you "did not know" a patent. Now, proving a negative statement is kind of hard to do, at least I wouldn't know how to do that.

    Quote Originally Posted by binarysoup View Post
    There's nothing in GPLv3 which forces you to indemnify end users for other entities patents, if you think there is please point me to that part of the licence.
    The very same paragraph I described above requires(!) the author of a GPLv3 program to arrange licenses for downstream clients under the conditions that a patent right is "knowingly" infringed. Now, please tell me how I am supposed to do that. That is, I must at least provide patent research (which can be quite elaborate) of patents my work may depend on. And even if I find nothing, I need to proof that I did not know. How can this possibly work? A company can take a risk, and has money to protect their products, and can invest the time to make a careful research. I personally don't, neither do I have the time to make myself aware of patents that would be in my way. But my interest is also something different than to provide a product. I'm interested in the research part.


    Quote Originally Posted by binarysoup View Post
    If you submit code patented by someone else under GPLv3, why would you be worse off than if you submitted the same code under any other open source software licence?
    In the sense that if I publish under BSD or an older GPL, I *as the software author* am out of the equation. It's of course worse for the consumers. IOW, you pass the problem "downstream". Better for the author, worse for the client. Given that the original question was which license to choose *as an author* of a compression software, I would rather say that *I personally* wouldn't want to carry a risk.

    Quote Originally Posted by binarysoup View Post
    Unlike with GPLv3 there's no patent protection at all with BSD, should you step on someone's software patents you are potentially worse off.
    There is a difference between IP and software copyright you need to understand. If I publish *source code*, the source code is protected by copyright that I may give out of hands by the BSD license. But that does *not* mean, just by providing the sources, that you provide also the IPs to your clients to actually *use* the source as a product. The entire risk of doing so is passed on. Yes, that is worse for the user. In principle, it means the only thing a client may be able is to copy the source, read it, but not use a program compiled from it...


    Quote Originally Posted by binarysoup View Post
    Also someone could potentially release code under a BSD licence to which they hold a patent and then turn around and sue which is something GPLv3 explicitly prevents.
    That can certainly be done. As I already said, BSD is in this sense better for the author as they can protect the IPs. It's worse for the client. But that was the question to begin with, as I read it. It's a difference between a company (that wants to sell products and hence has an interest that customers can actually use their programs, and receives money for it), and a private person, who wants to program for fun and just wants other people to look at the code, without actually turning this work into a product that would require IP rights.

  2. #32
    Member
    Join Date
    Feb 2012
    Location
    Sweden
    Posts
    59
    Thanks
    4
    Thanked 5 Times in 5 Posts
    Quote Originally Posted by thorfdbg View Post
    I suggest you read paragraph 11 very carefully. It states that you are responsible for patents you "knowingly" depend on. IOW, you would have to proof in court that you "did not know" a patent. Now, proving a negative statement is kind of hard to do, at least I wouldn't know how to do that.
    What's this nonsense? You do not have to PROVE that you didn't know, the burden of proof is upon the accuser who has to prove that you DID know.

    Unless something fundamental has changed in law while I slept tonight your are not 'guilty until proven innocent', you are 'innocent until proven guilty'.

    Quote Originally Posted by thorfdbg View Post
    The very same paragraph I described above requires(!) the author of a GPLv3 program to arrange licenses for downstream clients under the conditions that a patent right is "knowingly" infringed.
    Again if you KNOWINGLY infringed upon a patent, you are being desperate here,

    Quote Originally Posted by thorfdbg View Post
    Now, please tell me how I am supposed to do that.
    By NOT KNOWINGLY infringing on a patent.

    Quote Originally Posted by thorfdbg View Post
    That is, I must at least provide patent research (which can be quite elaborate) of patents my work may depend on.
    No you don't, in fact the safest road would be not to research existing patents at all, which is what is often suggested as the damages for patent infringement will be higher if you were aware of the patent in question.

    Quote Originally Posted by thorfdbg View Post
    And even if I find nothing, I need to proof that I did not know.
    Again you don't need proof of not knowing, your accuser needs to prove that you did indeed know, please stop this ridicoulus charade.

    Quote Originally Posted by thorfdbg View Post
    In the sense that if I publish under BSD or an older GPL, I *as the software author* am out of the equation. It's of course worse for the consumers. IOW, you pass the problem "downstream".
    The second you distribute source code (as a software author) you are at risk of patent infringement and certainly not 'out of the equation'. What ever made you think that software authors are excempt?

    That they (software authors) take no responsibility for downstream problems with infringement doesn't insulate themselves in any way from distributing patent infringing source code which you can indeed be sued for.

    Quote Originally Posted by thorfdbg View Post
    Better for the author, worse for the client. Given that the original question was which license to choose *as an author* of a compression software, I would rather say that *I personally* wouldn't want to carry a risk.
    The only possible added risk with GPLv3 is if it can be proven that you KNOWINGLY infringed on software patents.

    The added protection GPLv3 provides is that no contributor can add their patented code and then sue you or other contributors/recipients.

    I'd say that from a 'patent-threat' standpoint you are better off with GPLv3 or Apache than any of the licences.

  3. #33
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,612
    Thanks
    30
    Thanked 65 Times in 47 Posts
    Quote Originally Posted by binarysoup View Post
    You are still confusing knowledge or ideas with specific implementations of such knowledge or ideas, which is what this discussion is about given that this is what software licences like copyleft and permissive deal with.

    Because you keep trying to make this about 'knowledge' rather than 'implementation', either out of ignorance or because you have painted yourself into a corner.

    How can you not understand the fundamental difference between idea and implementation?

    I'll explain it from a software standpoint, an 'idea' doesn't imply any source code or implementation whatsoever, it can be and often is a very abstract description of how something is supposed to work, or even just what it is supposed to do.

    Example of this would be the trainwreck of a software patent system we have today.

    An implementation is when you take that (often abstract/generalised) idea and turn it into something that actually works, in the world of software that would be compilable source code. Unless the idea is trivial, this step is the most difficult part, actually realising the idea.
    No, I really don't see the cut. I can find cases that are clearly ideas. I can't find one that would be clearly an implementation.
    Which design decisions of an algorithm are ideas and which implementation? For me all are ideas and so they are according to your definition. But if I replicated each and every one of them, I would be sued. Let's pretend for a while that a suit would be dubious (really, I don't know if it would be). What about an idea to use a particular vocabulary to explain some algorithm? What if I added it to the mix? The problem is that if I replicated all ideas contained in a particular piece of code (or another replicable form of creativity), I would end up with the same result. If you replicate some of them, you'll end up with a similar result, possibly similar enough to be considered a derivative implementation.
    Last edited by m^2; 30th September 2013 at 23:33.

  4. #34
    Member
    Join Date
    Feb 2012
    Location
    Sweden
    Posts
    59
    Thanks
    4
    Thanked 5 Times in 5 Posts
    [QUOTE=m^2;34828]No, I really don't see the cut. I can find cases that are clearly ideas. I can't find one that would be clearly an implementation.


    Quote Originally Posted by m^2 View Post
    Which design decisions of an algorithm are ideas and which implementation?
    For software the implementation of an algorithm (which can be described in an abstract or detailed way) would be source code which _implements_ the algorithm.

    Now for a clear-cut case of copyright infringement you would have to copy the source code verbatim, as in identical. Open source licence copyright does not deal with the abstract or detailed description of an algorithm, it deals with a specific implementation, as in a specific arrangement of code to implement that algorithm.

    Again make note of the term 'specific'. As such unless it's a clear-cut copy (1:1 or close to that), it can be hard to claim copyright infringement on code. Also the code in question can't be trivial or obvious, you can't copyright a for-loop using the variable i and n. It has to be a substantial piece of work where it's quite impossible that an independant implementation could have ended up identical or near-so.

    I don't think I can explain it better, you seem to continually confuse copyright with 'knowledge' or an algorithm. Again copyright in software licence terms relate to the right of copying the specific source code in question, it does not prevent you from doing you own implementation of the same functionality/algorithm as in the copyrighted source code.

  5. #35
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,612
    Thanks
    30
    Thanked 65 Times in 47 Posts
    [QUOTE=binarysoup;34829]
    Quote Originally Posted by m^2 View Post
    No, I really don't see the cut. I can find cases that are clearly ideas. I can't find one that would be clearly an implementation.



    For software the implementation of an algorithm (which can be described in an abstract or detailed way) would be source code which _implements_ the algorithm.

    Now for a clear-cut case of copyright infringement you would have to copy the source code verbatim, as in identical. Open source licence copyright does not deal with the abstract or detailed description of an algorithm, it deals with a specific implementation, as in a specific arrangement of code to implement that algorithm.

    Again make note of the term 'specific'. As such unless it's a clear-cut copy (1:1 or close to that), it can be hard to claim copyright infringement on code. Also the code in question can't be trivial or obvious, you can't copyright a for-loop using the variable i and n. It has to be a substantial piece of work where it's quite impossible that an independant implementation could have ended up identical or near-so.

    I don't think I can explain it better, you seem to continually confuse copyright with 'knowledge' or an algorithm. Again copyright in software licence terms relate to the right of copying the specific source code in question, it does not prevent you from doing you own implementation of the same functionality/algorithm as in the copyrighted source code.
    The main problem is that a copy is indistinguishable from accurate reimplementation - both at practical and conceptual level.

    EDIT: I went too far. There's one case where things can be distinguished - mechanical copying. But being exactly the same does not make some code a copy of implementation.
    Last edited by m^2; 30th September 2013 at 23:53.

  6. #36
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    437
    Thanks
    1
    Thanked 96 Times in 57 Posts
    Quote Originally Posted by binarysoup View Post
    No you don't, in fact the safest road would be not to research existing patents at all, which is what is often suggested as the damages for patent infringement will be higher if you were aware of the patent in question.
    Wait a minute. Are you really suggesting that by completely ignoring patents, that is by refusing to read any patents, I can write any software I like and publish it under GPLv3 as I wish? You surely must be joking. Actually, the word "patent" implies that it is a "published"(!) description of an apparatus and thus everybody will know. That is actually the very purpose of a patent in first place. I'm not saying that the whole system became perverted in the recent history, that's just another story...

  7. #37
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    437
    Thanks
    1
    Thanked 96 Times in 57 Posts
    Quote Originally Posted by binarysoup View Post
    The second you distribute source code (as a software author) you are at risk of patent infringement and certainly not 'out of the equation'. What ever made you think that software authors are excempt?
    For being out of the equation it does not matter whether I'm the author or not indeed, but rather whether I run the code or not. There is a difference between the source code per se (which is protected by copyright) and the IP it is based on (which may be protected by patents). You can write software as you like. As long as you don't compile and don't use it, it's fine becaue you don't create any effect that interacts with nature (and that is what is required by every patent, mandatory). The risk is then at the users, which clearly want to compile and use the software. As soon as you create a business case of this, you're in trouble because there's money to make by sueing you.
    Quote Originally Posted by binarysoup View Post
    The only possible added risk with GPLv3 is if it can be proven that you KNOWINGLY infringed on software patents.
    Which is something in case of doubt you cannot defend against, exactly. A patent is a publication, and thus available for everybody. That's in general proof enough that everybody did know - it's the very purpose of patents to make everybody aware of it so you *cannot* copy the invention without infringing the IP. It is what patents were made for, to advance technology. That today it's more a question of how to stop technology from advancing is a sad story indeed, but something else.
    Quote Originally Posted by binarysoup View Post
    I'd say that from a 'patent-threat' standpoint you are better off with GPLv3 or Apache than any of the licences.
    I hardly doubt that. As an author, I'm better of stating that "take the source as you like, but be noted that it may infringe third party rights I'm not aware of. If you don't want to take the risk, don't use it.". As a private person using such code, I possibly wouldn't bother much as nobody can sue big money from me, but as a company using this code, I should better make sure that I have all IPs before selling it.

  8. #38
    Member
    Join Date
    Feb 2012
    Location
    Sweden
    Posts
    59
    Thanks
    4
    Thanked 5 Times in 5 Posts
    Quote Originally Posted by thorfdbg View Post
    Wait a minute. Are you really suggesting that by completely ignoring patents, that is by refusing to read any patents, I can write any software I like and publish it under GPLv3 as I wish? You surely must be joking.
    No I never suggested that, which you well know. What I said is pretty much industry praxis for developers no matter what licence they use or if it's proprietary, which I'd assume you'd know (have you ever worked as one?).

    I as a developer is typically not allowed by my company to examine software patents which could potentially cover code I'm working on (actually they don't want me looking at software patents at all), since if I were to write code which infringes upon someone else's patent and we're taken to court, I may be forced to testify under oath that I did indeed know about this patent, or there may be company correspondance which shows me knowing about this patent, 'hey boss, I think this code might infringe upon...' etc, at which point the damages for infringing on a patent will be much higher than if the company infringed upon it unknowingly.

    This holds true for open source developers aswell, and since you in all seriousness can't possible examine enough software patents to ensure any kind of reasonable safety given that they're intentionally broad and vague and that there's a gazillion of them, I'd say you are no worse off by not spending your time chasing potential patent infringements in your code because the chance that you could 'cover your arse' is microscopic.

    And if you do examine patents and your accuser can somehow prove that you did know about a specific patent you've infringed (although this would be extremely hard) then you'd be worse off as damages would increase.

  9. #39
    Member
    Join Date
    Feb 2012
    Location
    Sweden
    Posts
    59
    Thanks
    4
    Thanked 5 Times in 5 Posts
    Quote Originally Posted by thorfdbg View Post
    You can write software as you like. As long as you don't compile and don't use it, it's fine becaue you don't create any effect that interacts with nature (and that is what is required by every patent, mandatory).
    You can be sued for patent infringement by distributing souce code which infringes on patents, doesn't matter if you compile it and distribute binaries or not. The reason it basically doesn't happen is because there's no money to be made by suing open source projects, and of course that it would look very bad if you as a company have a public image to uphold.

    Quote Originally Posted by thorfdbg View Post
    Which is something in case of doubt you cannot defend against, exactly. That's in general proof enough that everybody did know - it's the very purpose of patents to make everybody aware of it so you *cannot* copy the invention without infringing the IP. It is what patents were made for, to advance technology.
    We're talking about the GPLv3 licence here, which states that if you KNOWINGLY implemented patented code then you are bound by the licence to shield downstream users. It does not say that if THERE IS A PATENT which your code infringes upon.

    That you are suable for patent infringement even if you didn't know of the patent in question has nothing to do with this condition set by GPLv3, which again are that you KNOWINGLY implemented patent-infringing code.

    This section is obviously added to try and prevent someone from maliciously implementing patent-infringing code for which the project can then be sued, how effective it is can be discussed as again it would be VERY hard to prove.

  10. #40
    Member
    Join Date
    Feb 2012
    Location
    Sweden
    Posts
    59
    Thanks
    4
    Thanked 5 Times in 5 Posts
    Quote Originally Posted by m^2 View Post
    The main problem is that a copy is indistinguishable from accurate reimplementation - both at practical and conceptual level.
    Yawn, no.

    Are you a programmer? Else this discussion is truly pointless as you seem incapable to grasp the concept of implementation, I'll give it one final shot:

    Let's say you and I are tasked at re-implementing... Space Invaders in C source code. We will both have a video of Space Invaders playing to work from, this would be the 'idea', now we are to separately implement this idea in source code form.

    We will likely (if we are similarly proficient) solve the problems in very much the same way, however even for something as simple as this, if we work without any shared source code reference, we will still create source code which is sufficiently different from eachothers to not impose on eachothers copyright. In other words it's hard to accidentally do so, in a large body of code it's practically impossible. And again this is only what copyright relates to, a VERY specific implementation.

    A 'accurate' implementation if one such exists can still either be implemented in so many variations that it won't infringe on someone else's copyright, or it's simply too trivial or obvious to benefit from copyright protection in the first place.

    PLEASE say you understand, PLEEEAAASEEEE

  11. #41
    Member
    Join Date
    Aug 2013
    Location
    France
    Posts
    77
    Thanks
    27
    Thanked 26 Times in 11 Posts
    Just for everyone's interest I also found this link http://lucumr.pocoo.org/2009/2/12/ar...nt-to-use-gpl/ .
    It is concise, well written but rather on the pro-BSD side.
    As a personal note I find it clearly annoying that you can't integrate a GPL library in a BSD project ... After all the whole point of a library is to be made universally available, isn't it ? On the other side GPL seems to be more "real-world-proof" as it covers explicitly all the usages allowed.
    I also wondered how many potential projects would not be able to use a GPL library. I checked this website : http://www.blackducksoftware.com/res...ource-licenses for some stats, and it shows that approximately 50% of all open source projects are not GPL, therefore can't use GPL libraries. That's not negligible !

  12. #42
    Member
    Join Date
    Feb 2012
    Location
    Sweden
    Posts
    59
    Thanks
    4
    Thanked 5 Times in 5 Posts
    Well you can but then the library when distributed will be GPL licenced, that doesn't mean however that the BSD licenced parts become GPL licenced.

    You can still use the BSD licenced parts in other permissive projects without the GPL licenced part(s).

    Now GPL generally isn't used for libraries, they are mostly permissively licenced or LGPL (a limited form of copyleft). GPL is typically the choice for stand-alone/self-contained projects, like applications.

  13. #43
    Member
    Join Date
    Aug 2013
    Location
    France
    Posts
    77
    Thanks
    27
    Thanked 26 Times in 11 Posts
    Quote Originally Posted by binarysoup View Post
    Well you can but then the library when distributed will be GPL licenced, that doesn't mean however that the BSD licenced parts become GPL licenced.

    You can still use the BSD licenced parts in other permissive projects without the GPL licenced part(s).
    Yes but it means that you "force" a possibly much bigger project than yours to change their licensing right ? Which will probably end up in them using somebody else's more permissive library I guess ?

    I found the Mac OSX example quite striking according to the previous cited link :
    BSD is GPL compatible, but GPL does not permit the use of GPL licensed code in non-GPL code. This is especially annoying if important libraries users expect are GPL. For example the very popular readline library is GPL licensed. Users of OS X will know that, because interactive shells of Python and other non GPL applications sucks there. People tried to rewrite readline to get rid of the GPL problem but the alternatives are not as well maintained as the original one.
    As of today is there a workaround for that ?

  14. #44
    Member
    Join Date
    Feb 2012
    Location
    Sweden
    Posts
    59
    Thanks
    4
    Thanked 5 Times in 5 Posts
    Quote Originally Posted by gpnuma View Post
    Yes but it means that you "force" a possibly much bigger project than yours to change their licensing right ?
    No you can't "force" any project to change their licencing to GPL since you can't "force" a project to use GPL licenced code. Just like I can't force you to buy my old car for $5000, you have to choose to by my old car for $5000.

    Quote Originally Posted by gpnuma View Post
    As of today is there a workaround for that ?
    How could there be a 'workaround' for that?

    The original authors in this example set specific conditions for using their code, GPL. In order to use the code you need to comply with those conditions (which is true for all licences), the conditions include that any code in which GPL licenced code is included and distributed will also fall under GPL licence conditions. The reason for this is that GPL exists to grant and preserve certain end user rights, which include the right to the source code, to copy, modify, distribute etc.

  15. #45
    Member
    Join Date
    Aug 2013
    Location
    France
    Posts
    77
    Thanks
    27
    Thanked 26 Times in 11 Posts
    Quote Originally Posted by binarysoup View Post
    How could there be a 'workaround' for that?

    The original authors in this example set specific conditions for using their code, GPL. In order to use the code you need to comply with those conditions (which is true for all licences), the conditions include that any code in which GPL licenced code is included and distributed will also fall under GPL licence conditions. The reason for this is that GPL exists to grant and preserve certain end user rights, which include the right to the source code, to copy, modify, distribute etc.
    Sorry I was unclear by "workaround" I meant a license which is not as "viral" as GPL but retains some of the GPL assets : that is obviously LGPL which seems better suited for libraries.

  16. #46
    Member
    Join Date
    Feb 2012
    Location
    Sweden
    Posts
    59
    Thanks
    4
    Thanked 5 Times in 5 Posts
    Quote Originally Posted by gpnuma View Post
    Sorry I was unclear by "workaround" I meant a license which is not as "viral" as GPL but retains some of the GPL assets : that is obviously LGPL which seems better suited for libraries.
    Or you could write your own licence which exactly corresponds to the conditions you want to set. Licence profileration is often frowned upon due to potentially increased incompabilities/fragmentation but I personally think everyone should have the right to set whatever conditions they want for their code without being second-guessed.

  17. #47
    Expert
    Matt Mahoney's Avatar
    Join Date
    May 2008
    Location
    Melbourne, Florida, USA
    Posts
    3,255
    Thanks
    306
    Thanked 778 Times in 485 Posts
    I agree that licensing libraries under GPL is a bad idea. That is why I made zpaq GPLv3 and libzpaq public domain.

    Also, section 11 on patents is interesting. http://www.gnu.org/copyleft/gpl.html

    If I had patented any part of zpaq (it is not covered by any patents as far as I know), then in order to use GPL I have to grant everyone that uses the code a royalty free license to do so, and that right would extend to anyone you distribute the code to. Likewise, if I had licensed another patent that the code used, then I would have to do so under the same conditions or else I could not use GPL. For example, if I had implemented a patented algorithm like CTW or the sort transform (I didn't), then I would have to get a license from the patent holders that allowed all users to use it freely without royalties or other restrictions. The same rules would apply to you if you modified zpaq to use a patented algorithm and wanted to distribute it.

    This does not protect against others making patent claims that I don't know about. But I don't know of any software license that could do that.

Page 2 of 2 FirstFirst 12

Similar Threads

  1. PerfectCompress, a new file compression software.
    By moisesmcardona in forum Data Compression
    Replies: 148
    Last Post: 21st May 2018, 03:16
  2. Hardware compression without software
    By BetaTester in forum Data Compression
    Replies: 0
    Last Post: 23rd January 2013, 21:05
  3. Replies: 5
    Last Post: 23rd July 2012, 16:44
  4. packJPG v2.5 released under GPL v3
    By packDEV in forum Data Compression
    Replies: 16
    Last Post: 9th February 2012, 05:47
  5. On OSS license
    By Cyan in forum Data Compression
    Replies: 12
    Last Post: 27th April 2011, 12:27

Tags for this Thread

Posting Permissions

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