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

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

  1. #1
    Member
    Join Date
    Aug 2013
    Location
    France
    Posts
    77
    Thanks
    27
    Thanked 26 Times in 11 Posts

    Post Compression software, which license ? GPL, BSD, or others ?

    Hello everyone,
    Being relatively new to open source and aware that there are quite a few experienced "open sourcers" here I'd like to ask a simple question : which license do you use for your software ?
    Could you say why and what were the specific advantages / caveats (like intellectual property, simplicity to integrate in others' projects) you encountered using that particular license type ?
    Thanks a lot

  2. #2
    Member
    Join Date
    Feb 2012
    Location
    Sweden
    Posts
    59
    Thanks
    4
    Thanked 5 Times in 5 Posts
    There is no right or wrong answer as it's about the conditions _you_ want to set for using _your_ code. That said I think the overall trend in open source licencing is that for stand-alone programs/projects, copyleft (GPL) is primarily used and for libraries / frameworks (basically code written to be included as a component of a larger program), permissive licencing is mainly used.

    From my personal developer standpoint, pros with copyleft is that any enhancements made to your code will be available to you in source code form (which you can then incorporate into your original project), pros with permissive licencing is that anyone can use it which includes proprietary code (depending on your views on proprietary code this may not be a pro).

    Cons with copyleft is that it can't be used with proprietary code at all as it demands that any users be given the source code should they so wish, cons with permissive licencing is that your code may be forked into a proprietary version which will compete with yours and not return any enhancements back to you.

    I think both licence types are great for their respective purposes but mainly the right choice is always that of the developer/owner, it's his/her code after all.

  3. Thanks:

    gpnuma (27th September 2013)

  4. #3
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,569
    Thanks
    777
    Thanked 687 Times in 372 Posts
    i prefer licenses prohibitive for commercial use of my ideas (without paying to me). everything else is fine

  5. #4
    Member
    Join Date
    Feb 2012
    Location
    Sweden
    Posts
    59
    Thanks
    4
    Thanked 5 Times in 5 Posts
    Quote Originally Posted by Bulat Ziganshin View Post
    i prefer licenses prohibitive for commercial use of my ideas (without paying to me). everything else is fine
    Well in that case copyleft is a good option, as such you can also allow someone to pay you for the right to use your code commercially (typically proprietary use).

    The x264 project for example does this, they licence it under GPL but also offer it for commercial closed source use in exchange for money and the freshly started x265 project aims to do the same.

  6. #5
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,569
    Thanks
    777
    Thanked 687 Times in 372 Posts
    yes, GPL is the closest one (and have used it), but not exact - say, ggogle can use GPL sjoftware on their servers. OTOH, GPL defines clear "rules of game". just now i prefer to write something like "All rights reserved. Mail me if you have any questions or want to buy a commercial license for the source code."

  7. #6
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,610
    Thanks
    30
    Thanked 65 Times in 47 Posts
    I don't accept the concept of intellectual pooperty and want my code to be free.
    Therefore - public domain where applicable, WTFPL elsewhere to highlight what a WTF it is to be unable to free yourself from shackles of IP.

  8. #7
    Expert
    Matt Mahoney's Avatar
    Join Date
    May 2008
    Location
    Melbourne, Florida, USA
    Posts
    3,257
    Thanks
    307
    Thanked 796 Times in 488 Posts
    For zpaq I use GPL for the archiver and public domain for libzpaq. GPL keeps it open source, and public domain encourages adoption as a standard.

  9. Thanks:

    PSHUFB (22nd March 2015)

  10. #8
    Member
    Join Date
    Feb 2013
    Location
    San Diego
    Posts
    1,057
    Thanks
    54
    Thanked 72 Times in 56 Posts
    If you don't particularly care about owning the code, and you'd like to encourage people to use it, then the more permissive, the better. Besides public domain, MIT and BSD are the most permissive. Use those if you care most about lots of users and least about control. GPL and LGPL retain more control but discourage users.

  11. #9
    Member
    Join Date
    Aug 2013
    Location
    France
    Posts
    77
    Thanks
    27
    Thanked 26 Times in 11 Posts
    Quote Originally Posted by m^2 View Post
    I don't accept the concept of intellectual pooperty and want my code to be free.
    Therefore - public domain where applicable, WTFPL elsewhere to highlight what a WTF it is to be unable to free yourself from shackles of IP.
    Hello m^2 thanks for your reply, could you elaborate a bit more ? What's wrong in your opinion about intellectual property ?
    I mean in a way it's nice to have some kind of reward / recognition for your ideas after all no ?

  12. #10
    Member
    Join Date
    Aug 2013
    Location
    France
    Posts
    77
    Thanks
    27
    Thanked 26 Times in 11 Posts
    Quote Originally Posted by Matt Mahoney View Post
    For zpaq I use GPL for the archiver and public domain for libzpaq. GPL keeps it open source, and public domain encourages adoption as a standard.
    OK that's quite clever, did you encounter any problems with that model ? For example if commercial applications use libzpaq without your consent, what is your reaction ?

  13. #11
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,610
    Thanks
    30
    Thanked 65 Times in 47 Posts
    Quote Originally Posted by gpnuma View Post
    Hello m^2 thanks for your reply, could you elaborate a bit more ? What's wrong in your opinion about intellectual property ?
    I mean in a way it's nice to have some kind of reward / recognition for your ideas after all no ?
    It sure is. But IP doesn't provide it. Please tell me, when the last time did you look at the license and took a close attention of who is the licensor? Personally when I like some code and want to know the creator, I search the net for them. When I want to know the legalities, I look for the license. These are two distinctive uses.

    If you do good stuff, you don't need IP to promote yourself. If you don't, it won't help.
    In fact, IP can get counterproductive. How many people know Chris Martelock? Sami Runsas? Bulat Zinganshin? How many know Igor Pavlow? Igor got famous only because LZMA got popular. It wouldn't if there were significant restrictions on use. Igor dropped them down to public domain.
    There are many ways to success, but when it comes to popularity, copyright is nothing but a friction.
    Obviously, popularity is not the only measure of success. If you're after money, things get more complex and copyright can be either useful or not, depending on domain and the way you use it.

    That's about usefulness. But for me it doesn't matter. I just don't feel morally entitled to keep people away from knowledge.

  14. Thanks (2):

    Bloax (27th September 2013),gpnuma (27th September 2013)

  15. #12
    Member
    Join Date
    Aug 2013
    Location
    France
    Posts
    77
    Thanks
    27
    Thanked 26 Times in 11 Posts
    Quote Originally Posted by m^2 View Post
    It sure is. But IP doesn't provide it. Please tell me, when the last time did you look at the license and took a close attention of who is the licensor? Personally when I like some code and want to know the creator, I search the net for them. When I want to know the legalities, I look for the license. These are two distinctive uses.

    If you do good stuff, you don't need IP to promote yourself. If you don't, it won't help.
    In fact, IP can get counterproductive. How many people know Chris Martelock? Sami Runsas? Bulat Zinganshin? How many know Igor Pavlow? Igor got famous only because LZMA got popular. It wouldn't if there were significant restrictions on use. Igor dropped them down to public domain.
    There are many ways to success, but when it comes to popularity, copyright is nothing but a friction.
    Obviously, popularity is not the only measure of success. If you're after money, things get more complex and copyright can be either useful or not, depending on domain and the way you use it.

    That's about usefulness. But for me it doesn't matter. I just don't feel morally entitled to keep people away from knowledge.
    Your point of view is indeed very interesting.

  16. #13
    Expert
    Matt Mahoney's Avatar
    Join Date
    May 2008
    Location
    Melbourne, Florida, USA
    Posts
    3,257
    Thanks
    307
    Thanked 796 Times in 488 Posts
    I don't mind if commercial applications use libzpaq. I would encourage them to. The only problem I have is that not enough people are using it. Peazip can extract streaming mode, but that is about it. But I think that is more of a technical problem than one of licensing. libzpaq does not support journaling format or any of the fast compression modes (lz77, bwt) without a lot of extra work. Adding this stuff while keeping a clean API is not an easy problem.

  17. #14
    Member
    Join Date
    Jul 2013
    Location
    United States
    Posts
    194
    Thanks
    44
    Thanked 140 Times in 69 Posts
    Quote Originally Posted by gpnuma View Post
    Hello everyone,
    Being relatively new to open source and aware that there are quite a few experienced "open sourcers" here I'd like to ask a simple question : which license do you use for your software ?
    I generally prefer MIT or LGPL, thoug I think zlib is pretty nice too.

    Quote Originally Posted by gpnuma View Post
    Could you say why and what were the specific advantages / caveats (like intellectual property, simplicity to integrate in others' projects) you encountered using that particular license type ?
    Thanks a lot
    In a lot of cases its hard to say whether something is an advantage or a disadvantage. It's a difference and, like binarysoup said, it's about what you want for your code. For example, lots of people see the "viral" part of the GPL as a disadvantage, but lots of people see it as an advantage.

    IANAL. That said, as someone with a pretty good amount of experience with open source:

    Public Domain

    My understanding is that placing works in the public domain isn't easy to get right from a legal perspective, especially in a jurisdiction-agnostic way. Of all the attempts at a public domain dedication I've seen, I like SQLite's the best:

    The author or authors of this code dedicate any and all copyright interest in this code to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this code under copyright law.
    That makes it pretty clear that the authors understand the ramifications of their decision. Still, though, I don't see much of a reason to go this route instead of a permissive license like MIT.

    MIT

    This is basically the most permissive license there is. If you just want to let as many people as possible use your software for any purpose, this is generally the way to go.

    The nice thing about MIT is that it's really easy to integrate it into virtually any project. Trying to integrate even permissively licensed (like BSD) code into an MIT project can be a bit more troublesome, since those licenses tend to add some extra conditions which people have to comply with.

    BSD

    There are several different versions of this license. It's permissive, but not as permissive as MIT. Some versions also have annoying restrictions (i.e., the advertising clause, which sucks for open source because for a successful project there can be a *lot* of authors, plus it's not GPL-compatible).

    The main difference compared to something like BSD is that people have to include a blurb in their documentation when they use BSD software.

    GPL

    If you distribute something which uses GPL code you have to make the source code for everything available. If you want to insist that every user of your software is also open-source this is the way to go. If you use this license you're basically giving the finger to proprietary software (which is most people's intent when they do it), but keep in mind also that more permissively licensed open-source software can't really make use of it either. For example, if someone writes a permissively licensed database library they can't really use GPL compression software because those restrictions get passed along to people consuming the database library as well.

    Another thing to keep in mind with GPL for compression software is that there is a lot of competition in the field. Using the GPL isn't likely to push someone who is interested in using your software into using an open-source license, it is likely to push them into using other compression software. You have to ask yourself whether your software is really better than everyone else's by enough of a margin that you think a proprietary program wouldn't just use something else (LZ4, LZMA, ZPAQ, bzip2, zlib, etc.).

    People also like to offer software under a GPL or, for a fee, a proprietary license. Again, you have to ask yourself it it is better than the competition by enough to justify the expenditure, both financial and in effort, of acquiring a license. Furthermore, you can't really accept contributions from the community anymore without some sort of contributor license agreement which either assigns their copyright to you or allows you to relicense their work at your discretion. That's going to irritate people and dissuade a lot of contributions.

    LGPL

    Basicaly the GPL, only you're allowed to link to an LGPL library from anywhere, including proprietary code. In practice this tends to strike a pretty good balance?people making changes to your library have to provide the source code for those changes, but they're still allowed to use whatever license they want for their library.

    Affero GPL

    One limitation to the GPL is that the requirements for sharing code are linked to distribution. If you never distribute the code you can do whatever you want with it, like developing proprietary web services. The Affero GPL adds a clause which means anyone who interacts with AGPL software over a network must be able to get a copy of the code.

    WTFPL

    This seems to be getting popular, but I think it is a *terrible* license. It doesn't explicitly allow you to do anything in particular, it just says "do what the fuck you want". It's not hard to imagine an implicit "so I can sue you for copyright infringement once your software gets popular and you start making money off it."

    Again, IANAL, but I certainly don't feel comfortable about using code licensed under WTFPL. IMHO if you want serious projects to use your software you should stay away from this. In practice, MIT is basically a better-written WTFPL without the snark; use that instead.

    Apache 2

    A long, fairly permissive license. Its main attraction is the patent grant, which IMHO doesn't go far enough; all it protects against is people contributing code which they know violates their own patents in hopes that they can turn around and sue everyone using the software later on. Nothing about patents owned by third-parties which are not licensable by the contributor.

    The main drawback is GPL compatibility (or lack thereof).

    zlib

    Slightly less permissive than MIT, but nothing onerous. Basically, you can't misrepresent the origin of the software.
    Last edited by nemequ; 27th September 2013 at 20:40. Reason: WTFPL section needed some work

  18. Thanks (3):

    Bulat Ziganshin (30th November 2013),gpnuma (27th September 2013),PSHUFB (22nd March 2015)

  19. #15
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,610
    Thanks
    30
    Thanked 65 Times in 47 Posts
    If you distribute something which uses GPL code you have to make the source code for everything available. If you want to insist that every user of your software is also open-source this is the way to go. If you use this license you're basically giving the finger to proprietary software
    You're giving the finger to non-GPL software. Anybody with a license different from GPL (regardless if it's open or closed source) by incorporating GPLed code makes their own code effectively GPL.

  20. #16
    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
    You're giving the finger to non-GPL software. Anybody with a license different from GPL (regardless if it's open or closed source) by incorporating GPLed code makes their own code effectively GPL.
    No, you can continue to distribute YOUR part of the code under any other licence you wish aswell, which means dual-licencing.

    So if you incorporate GPL licenced code into your project you indeed need to release the whole project as per the GPL conditions (which includes source code availability and as such can't be used in proprietary projects), but any code which is permissively licenced remains available under the permissive licence aswell as GPL.

  21. #17
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,610
    Thanks
    30
    Thanked 65 Times in 47 Posts
    Quote Originally Posted by binarysoup View Post
    No, you can continue to distribute YOUR part of the code under any other licence you wish aswell, which means dual-licencing.

    So if you incorporate GPL licenced code into your project you indeed need to release the whole project as per the GPL conditions (which includes source code availability and as such can't be used in proprietary projects), but any code which is permissively licenced remains available under the permissive licence aswell as GPL.
    True. But the project as a whole becoming GPLed is the key point. If you use GPLed code in your project, your project is GPLed and screw anybody who doesn't want it to happen. That's exactly showing the finger that I talked about.

    There is a fine line, if one's policies are GPL-compatible, they may try to use GPLed code in a way that's separable from the base. But too keep it really separable is to keep it away as far as possible. And it benefits only users who can use GPL. And if you need to tweak the GPLed code, the only practical way is to keep the changes GPLed. And so on. This is not a clean cut, but I don't expect to ever see GPLed code playing a major role in a GPL-free project.

    ADDED:
    Except for closed source ones that violate GPL.
    Last edited by m^2; 27th September 2013 at 21:59.

  22. #18
    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
    True. But the project as a whole becoming GPLed is the key point. If you use GPLed code in your project, your project is GPLed and screw anybody who doesn't want it to happen. That's exactly showing the finger that I talked about.
    I totally disagree, setting conditions for using your code is not 'showing the finger'. You dont' HAVE to use GPL licenced code, if you use someone else's code then you are bound by their conditions, be it GPL or something else, and GPL's conditions is that you pass along the same benefits you recieved when adopting GPL code onto your recipients, which I think is a perfectly valid condition and hardly 'showing the finger'.

    Quote Originally Posted by m^2 View Post
    There is a fine line, if one's policies are GPL-compatible, they may try to use GPLed code in a way that's separable from the base.
    Not really following this, who are 'they' and what situation is it you are trying to describe? No one can come and take _your_ code and make it GPL licenced.

    Quote Originally Posted by m^2 View Post
    This is not a clean cut, but I don't expect to ever see GPLed code playing a major role in a GPL-free project.
    Eeh? If it's GPL-free then of course it won't contain GPL licenced code, I'm sorry, don't understand what you are trying to say here?

  23. #19
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,610
    Thanks
    30
    Thanked 65 Times in 47 Posts
    Quote Originally Posted by binarysoup View Post
    Not really following this, who are 'they' and what situation is it you are trying to describe? No one can come and take _your_ code and make it GPL licenced.
    Eeh? If it's GPL-free then of course it won't contain GPL licenced code, I'm sorry, don't understand what you are trying to say here?
    I spoke my mind poorly. Hope to get it better this time.
    There's a fine line on the level of GPL-encumbrance (or in general: restriction-encumbrance):
    * GPL-only project
    * Large amounts of GPL in the core, inseparable and hard to rewrite
    * Small, somewhat separable or rewritable amounts of GPL
    * GPL as a compile-time option
    * GPL as a runtime-loaded extension kept in a separate source tree
    and everything in between.
    The closer you integrate some code, the more benefits you can get from it, GPL or not; the less cost you have to pay for using / maintaining it. There are great benefits of being able to make integration close. But if using some code means your project's license looses some important freedom, is it worth it? [The main trouble is that the question is being asked at all, w/out copyright your projects would never have to compromise their values to benefit from other ones. But I digress...]
    All projects that I've seen, when they dealt with a license they didn't want to be forced to use, they kept the code no closer than as a compile time option. Example: CDDL in FreeBSD kernel. Many view this as still too close. Example that I've had in mind while writing the previous answer is the gold plugin to LLVM. It's quite distant. I'm not aware of any major user of LLVM to build gold by default; including Linuces.
    Keeping it away is the only way to maintain their values.

    Is forcing other people to either surrender their values or keep your code away sharing with them? You answer.
    Quote Originally Posted by binarysoup View Post
    I totally disagree, setting conditions for using your code is not 'showing the finger'. You dont' HAVE to use GPL licenced code, if you use someone else's code then you are bound by their conditions, be it GPL or something else, and GPL's conditions is that you pass along the same benefits you recieved when adopting GPL code onto your recipients, which I think is a perfectly valid condition and hardly 'showing the finger'.
    I think that the previous chapter nearly answers this one as well. Either your within the GPL club or else........

  24. #20
    Member
    Join Date
    Feb 2013
    Location
    San Diego
    Posts
    1,057
    Thanks
    54
    Thanked 72 Times in 56 Posts
    The GPL has worked well for Linux, and Linus has said he has no regrets. Linux is not most software, though. If you make your project GPL and you lose interest in working on it yourself, there's a real chance it could shrivel and die, due to the GPL making the code radioactive, rather than get incorporated into something else. Most projects are probably never successful enough to deal with this problem. But you'd probably want to think carefully before going with GPL.

  25. #21
    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
    Is forcing other people to either surrender their values or keep your code away sharing with them? You answer.
    There's no forcing involved, there is a set of conditions for using code, if you want to use that code you abide with the conditions or you don't use the code, that's true for all licenced code. You may have your preference regarding conditions but that doesn't mean you get the right to decide what conditions other people set for THEIR code, I defend the right for a developer to say 'here is my code, if you want to use it you need to licence your code under the same or a compatible licence'.

    Now if you want to use or not use that code is entirely up to you, and if you don't want to (which typically is in order to cater for proprietary needs, as otherwise you can still keep _your_ part of project's code permissive) then that just means that you'll have to look for other code or write your own. No developer owes you free code written in your particular preferred licence, you come across as feeling 'entitled' to me in this discussion.

    Quote Originally Posted by m^2 View Post
    I think that the previous chapter nearly answers this one as well. Either your within the GPL club or else........
    Well obviously either your project is compatible with GPL or you can't use GPL licenced code.

    As for why GPL has more conditions than permissive licencing, it's because GPL was crafted to protect 'end user rights', which includes the right to the source code, the right to make any number of copies and hand them out to anyone, the right to modify, build, run and distribute modified versions. The only way the preserve those rights for downstream end users is of course to make them conditions of the licence.

    Now it's perfectly fine if you don't like these conditions, GPL licenced code is just an option, no-one is forcing you to use GPL-licenced code. If you do however, as with all licences, you are bound by it's conditions, conditions which were placed there by the owner of the actual code in question, as is their right, just as it's your right to licence YOUR code any way you please.

    I think copyleft (GPL, LGPL, CDDL, etc) and permissive (MIT, BSD etc) all have their strengths and weaknesses and it's up to the code owner to decide which licence best adhere to their values/expectations, and I see no reason to second-guess their choices.

    Again, no developer owes you free code provided under YOUR preferred licence, if you come across such code then by thankful, but to expect it or practically demand it makes you a little more than a douche bag.

  26. #22
    Member
    Join Date
    Feb 2012
    Location
    Sweden
    Posts
    59
    Thanks
    4
    Thanked 5 Times in 5 Posts
    Quote Originally Posted by nburns View Post
    The GPL has worked well for Linux, and Linus has said he has no regrets. Linux is not most software, though. If you make your project GPL and you lose interest in working on it yourself, there's a real chance it could shrivel and die, due to the GPL making the code radioactive, rather than get incorporated into something else. Most projects are probably never successful enough to deal with this problem. But you'd probably want to think carefully before going with GPL.
    As I described in an earlier post, looking at open source licencing in general I find that the overall pattern is copyleft being dominant in standalone style projects and permissive licencing in component/framework style projects.

    Practically all open source desktop software I've come across use copyleft, meanwhile most libraries/components/frameworks I come across are permissively licenced or LGPL. As such it seems to me that there is a somewhat overall consensus amongst open source developers as to where they think copyleft and permissive licencing best applies.

    If I were to make yet another observation I'd say that for larger cooperatively developed projects GPL is popular as each and every member of the project is legally bound to submit their modifications in source code form which can then be included in the main project. This creates a level playing ground for all participants which means that the project developes much faster than if some participants could choose to keep some enhancements to themselves (as in proprietary forks).

    Linux as the largest open source project in the world with more developers by far than any other project is of course the obvious reference, but looking at key open source desktop software projects out there I find that practically all of them are copyleft licenced. Again this enforces my belief that copyleft is mostly favoured in 'stand-alone' projects, cooperatively developed in particular, while permissive licencing is generally used for component style code which is primarily to be used as a part of a larger code body.

    Obviously I'm generalising here, but I think there is a clear trend of stand-alone application-style projects favoring copyleft and that GPL being the most used open source licence is mainly a reflection of this.

    Again there is no universal 'correct' licence, the 'right' licence is the one the code owner chooses for THEIR code.

  27. #23
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,610
    Thanks
    30
    Thanked 65 Times in 47 Posts
    Quote Originally Posted by binarysoup View Post
    There's no forcing involved, there is a set of conditions for using code, if you want to use that code you abide with the conditions or you don't use the code, that's true for all licenced code. You may have your preference regarding conditions but that doesn't mean you get the right to decide what conditions other people set for THEIR code, I defend the right for a developer to say 'here is my code, if you want to use it you need to licence your code under the same or a compatible licence'.

    Now if you want to use or not use that code is entirely up to you, and if you don't want to (which typically is in order to cater for proprietary needs, as otherwise you can still keep _your_ part of project's code permissive) then that just means that you'll have to look for other code or write your own. No developer owes you free code written in your particular preferred licence, you come across as feeling 'entitled' to me in this discussion.


    Well obviously either your project is compatible with GPL or you can't use GPL licenced code.

    As for why GPL has more conditions than permissive licencing, it's because GPL was crafted to protect 'end user rights', which includes the right to the source code, the right to make any number of copies and hand them out to anyone, the right to modify, build, run and distribute modified versions. The only way the preserve those rights for downstream end users is of course to make them conditions of the licence.

    Now it's perfectly fine if you don't like these conditions, GPL licenced code is just an option, no-one is forcing you to use GPL-licenced code. If you do however, as with all licences, you are bound by it's conditions, conditions which were placed there by the owner of the actual code in question, as is their right, just as it's your right to licence YOUR code any way you please.

    I think copyleft (GPL, LGPL, CDDL, etc) and permissive (MIT, BSD etc) all have their strengths and weaknesses and it's up to the code owner to decide which licence best adhere to their values/expectations, and I see no reason to second-guess their choices.

    Again, no developer owes you free code provided under YOUR preferred licence, if you come across such code then by thankful, but to expect it or practically demand it makes you a little more than a douche bag.
    There is no active force, but setting rules happens from a position of force. You're telling others how act, you have means to enforce it and everyone knows that you do.
    I think that the biggest difference in our opinions is the way we think about knowledge (code included). For you, if you created it, it's yours. For me, if it's in my head, it's mine. I find telling me how to process information an offence, regardless if the rules cover only actions that are externally visible (which is common) or not (which happens too, but rarely).

  28. #24
    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
    There is no active force, but setting rules happens from a position of force. You're telling others how act
    Only when using things that are _mine_, like when my neighbor comes and wants to borrow my lawnmover, I say sure but you have to clean it afterwards and bring it back here. Or maybe I say sure but then I want to borrow your leaf blower etc. Setting conditions for someone else using something that is yours is something that I believe is a right one should have. Be it your material property, your source code, paintings you've made, music you've composed, etc. Atleast unless the world suddenly becomes this perfect place where everyone shares everything and no-one tries to rip anyone off.

    GPL doesn't set rules with any 'more force' than permissive licences (which also have rules), it does however set _more_ 'rules' (conditions for use). The reason it sets more rules ties in with the reason for which it was created, to ensure end user rights of software. The most important part of these rights is that of getting the source code, this is so that you as an end user can examine the code to make sure that it doesn't do anything that is against your interests, aswell as modify the code according to your interests. You don't have to like these conditions and as such choose not to use GPL licenced code, but you saying someone else choosing these conditions for THEIR code is the same as 'giving you the finger'... seriously?

    Quote Originally Posted by m^2 View Post
    I think that the biggest difference in our opinions is the way we think about knowledge (code included). For you, if you created it,
    Not at all, the 'knowledge' isn't mine, however the specific source code implementation of that knowledge is mine. I have no love for 'intellectual property' covering 'ideas', I do however agree to the right to own the copyright of your particular implementation of an idea, this includes non-code subjects as art and music aswell. That said I think copyright lasts FAR too long which in turn is due to extensive lobbying (bribing) by large companies who makes tons of money off 'perpetual copyrights'.

    The idea and discussion of a world without any ownership is certainly interesting (sadly it only works if everyone agrees on it, good luck convincing the greed-fueled sociopathic capitalists), but I don't think this is the place for it.

  29. #25
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,610
    Thanks
    30
    Thanked 65 Times in 47 Posts
    Quote Originally Posted by binarysoup View Post
    Only when using things that are _mine_, like when my neighbor comes and wants to borrow my lawnmover, I say sure but you have to clean it afterwards and bring it back here. Or maybe I say sure but then I want to borrow your leaf blower etc. Setting conditions for someone else using something that is yours is something that I believe is a right one should have. Be it your material property, your source code, paintings you've made, music you've composed, etc. Atleast unless the world suddenly becomes this perfect place where everyone shares everything and no-one tries to rip anyone off.

    GPL doesn't set rules with any 'more force' than permissive licences (which also have rules), it does however set _more_ 'rules' (conditions for use). The reason it sets more rules ties in with the reason for which it was created, to ensure end user rights of software. The most important part of these rights is that of getting the source code, this is so that you as an end user can examine the code to make sure that it doesn't do anything that is against your interests, aswell as modify the code according to your interests. You don't have to like these conditions and as such choose not to use GPL licenced code, but you saying someone else choosing these conditions for THEIR code is the same as 'giving you the finger'... seriously?
    You're confusing 2 very different things. The lawnmower that you refer to is a concurrent good. There's limited number of people who can use it at the time (to be precise: limited to 1). With such kinds of goods, to resolve access conflicts, groups of people set rules. Among the common ones there's granting a monopoly to use the good to a single entity. Such rule is called 'property' and the fact that your society gave you such right over 'the lawnmower' makes you able to call it 'your lawnmower'.
    But with knowledge there's no concurrency. Everyone can use the exact same piece of knowledge at the same time. There are no access conflicts and so there is no reason for the society to use a mechanism for resolving them. Property has many great features like ease of management or scalability and that's why most or all large groups of people ever have used various notions of it, but it just doesn't fit the model of abundant goods. That's why you gave an example from a concurrent domain - trying to talk about lending knowledge would make you sound ridiculous. Because it is ridiculous.

    And I don't oppose to one ruling their code as they please, exactly the opposite. It's just that my meaning of 'their' is different from yours.

    Quote Originally Posted by binarysoup View Post
    GPL doesn't set rules with any 'more force' than permissive licences (which also have rules), it does however set _more_ 'rules' (conditions for use).
    Indeed.

    Quote Originally Posted by binarysoup View Post
    Not at all, the 'knowledge' isn't mine, however the specific source code implementation of that knowledge is mine. I have no love for 'intellectual property' covering 'ideas', I do however agree to the right to own the copyright of your particular implementation of an idea, this includes non-code subjects as art and music aswell. That said I think copyright lasts FAR too long which in turn is due to extensive lobbying (bribing) by large companies who makes tons of money off 'perpetual copyrights'..
    How do you tell idea from implementation? What is the general structure of the code? What is the exact structure of the code? What is naming a variable in a particular way? What is code style? What are exact documentation statements?
    With some forms of art it's easier to separate ideas out because there's no perfect reproducibility. But with discrete ones (like poetry) there are exactly the same boundary issues.

    Quote Originally Posted by binarysoup View Post
    The idea and discussion of a world without any ownership is certainly interesting (sadly it only works if everyone agrees on it, good luck convincing the greed-fueled sociopathic capitalists), but I don't think this is the place for it.
    I didn't want to start such discussion either. And if you think I'd like to see such world, you're overinterpreting my words - I wouldn't.

  30. #26
    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 lawnmower that you refer to is a concurrent good. There's limited number of people who can use it at the time (to be precise: limited to 1).
    The 'lawnmover' example was just a 'real-world' example of setting conditions for someone using something that is yours, the question of limited use of material things is another discussion entirely, for this purpose we can say that the neighbor could only lend it when I'm not using it if that makes you feel better.

    Quote Originally Posted by m^2 View Post
    That's why you gave an example from a concurrent domain - trying to talk about lending knowledge would make you sound ridiculous. Because it is ridiculous.
    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.

    Quote Originally Posted by m^2 View Post
    And I don't oppose to one ruling their code as they please, exactly the opposite. It's just that my meaning of 'their' is different from yours.
    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.

    Quote Originally Posted by m^2 View Post
    How do you tell idea from implementation? What is the general structure of the code? What is the exact structure of the code? What is naming a variable in a particular way? What is code style? What are exact documentation statements?
    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.

    Now copyleft relies on copyright, which as the name implies ONLY relates to the 'right to copy'. As such it does NOT involve the copyright of ideas, but instead a very specific implementation of an idea/methodology.

    As to what constitutes as a copyrightable body of work that is harder to say in a definitive manner, but we can agree that it will have to be something quite substantial.

    An example would be Oracle's failure to sue Google over a trivial (9 lines) piece of code which was shot down by the presiding judge (who also was a hobby programmer).

    I'd say that as long as you are not copying verbatim it would be hard to be subject of copyright infringement, still the safest thing is to not look at someone else's copyrighted source code at all if you are implementing the same idea under different conditions than the original (for example a different incompatible licence).

    I have first hand experience with the latter as I've done clean-room reverse engineering from source code at two occasions in my career, which meant that a colleague would examine the source code of a program and write down an abstract description of it's functionality while I and two other developers wrote a program which functioned the same way based upon that description without ever looking at the original source code.

  31. #27
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    448
    Thanks
    1
    Thanked 101 Times in 61 Posts
    There's probably one thing that has not yet been said about the GPL, at least GPLv3: This license also requires you to provide the IP rights on the software to the user. This might sound harmless, but it also implies that in case you write software that touches IPs of third parties (even without knowing), you're - under this license - likely responsible for the IPs. Which might come very expensive. I personally would stay away from this unless you're a with a huge company that can defend these rights. BSD is nice in so far as it doesn't make any claims regarding IP, but it also means that everyone can use this code for whatever purpose.

  32. Thanks:

    gpnuma (30th September 2013)

  33. #28
    Member
    Join Date
    Feb 2012
    Location
    Sweden
    Posts
    59
    Thanks
    4
    Thanked 5 Times in 5 Posts
    Quote Originally Posted by thorfdbg View Post
    This might sound harmless, but it also implies that in case you write software that touches IPs of third parties (even without knowing), you're - under this license - likely responsible for the IPs.
    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?

    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.

    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?

    What GPLv3 DOES say is that you may not enforce YOUR patents upon any recipients or contributors of a GPLv3 licenced project to which YOU have contributed or distributed. That includes other parts of the project source than to which you have contributed (if you've done so).

    This is a 'good thing' in my book as it offers better protection from patent suits to contributors and downstream users alike, as any entity which contributes to a project will be unable to turn around and sue the project for patent infringement on any of their patents.

    Obviously patent-aggressive companies like Apple shuns the GPLv3 for this very reason, as just a small piece of GPLv3 licenced code in one of their projects means that they can't sue end users for any software patents they hold in that code base.

    As a staunch opposer of software patents I applaud this amendment to the GPL, it gives increased protection to both downstream users and contributors from patent suits.

    I'm not surprised that you find this to be a negative thing based upon our previous discussions regarding IP.

    Quote Originally Posted by thorfdbg View Post
    BSD is nice in so far as it doesn't make any claims regarding IP, but it also means that everyone can use this code for whatever purpose.
    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.

    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.

  34. #29
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,569
    Thanks
    777
    Thanked 687 Times in 372 Posts
    Quote Originally Posted by binarysoup View Post
    I'd say that as long as you are not copying verbatim it would be hard to be subject of copyright infringement, still the safest thing is to not look at someone else's copyrighted source code at all if you are implementing the same idea under different conditions than the original (for example a different incompatible licence).
    i think that primary copyright object is the idea, not mplementation. just look at all those famous Apple patents - are yoiu think that samsung&others are sued for verbatim copying of apple's code?

  35. #30
    Member
    Join Date
    Feb 2012
    Location
    Sweden
    Posts
    59
    Thanks
    4
    Thanked 5 Times in 5 Posts
    Quote Originally Posted by Bulat Ziganshin View Post
    i think that primary copyright object is the idea, not mplementation. just look at all those famous Apple patents - are yoiu think that samsung&others are sued for verbatim copying of apple's code?
    Apple did not sue Samsung over copyright, they sued Samsung over patents (and trade-dress concering rounded corners), I don't undertand what it is you are trying to say here, sorry.

    A software patent is a temporary monopoly on a method to do something, now if you use another method to do the same thing then you are not in breach of said patent.

    However to prevent someone from from solving the same problem in a different way and of course also to be able to collect on patent-licences, patent-seeking entities try very hard to make their patents as broad and unprecise as possible so as to encapsulate other methods which could solve the same problem.

    And given that the US patent office basically grants any software patent regardless of obviousness and 'prior art' this problem just keeps escalating.

Page 1 of 2 12 LastLast

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, 20: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, 04: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
  •