Results 1 to 13 of 13

Thread: On OSS license

  1. #1
    Member
    Join Date
    Sep 2008
    Location
    France
    Posts
    856
    Thanks
    447
    Thanked 254 Times in 103 Posts

    On OSS license

    Hi @all


    I've recently open-sourced LZ4, which can now be consulted on Google Code :
    http://code.google.com/p/lz4/

    Shortly afterwards, I've received a lot of critical comments regarding the selected license. Since i'm not that fluent in software license, i decided in favor of what i expected to be the most common one, GPLv2.
    Still, it does not seem to please everyone.

    Comment are very welcomed.



    [Edit]
    a few comments are displayed here : http://fastcompression.blogspot.com/....html#comments
    Last edited by Cyan; 25th April 2011 at 13:26.

  2. #2
    Programmer osmanturan's Avatar
    Join Date
    May 2008
    Location
    Mersin, Turkiye
    Posts
    651
    Thanks
    0
    Thanked 0 Times in 0 Posts
    I'm not an expert in this area either. But, if you want to force the people who want to adopt or use your code to put an acknowledge notice about you (actually a copyright notice) in their documents or binaries (i.e. about box), you can go with BSD. But, if you really don't care crediting you, you can select Public Domain. These are the most suitable licenses to allow someone embedding your code into a production (i.e. a mobile device). GPL class licences force developers to open their full source in case of adaptation. So, it's somewhat not an option for proprietary works. In either case, all of your source code is subject to prior art. So, someone who thinks himself genius can't simply patent your works. Well, of course you should write a letter to the patent office in case of someone's attempt.
    BIT Archiver homepage: www.osmanturan.com

  3. #3
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,612
    Thanks
    30
    Thanked 65 Times in 47 Posts
    I agree with this:
    http://www.blogger.com/profile/05547971612651449893
    If you think that closed source software should be prohibited (or want to be paid for letting others use your code in a closed project), use GPL or AGPL.
    If you want let others free as to whether all their code should be FOSS, but want everybody to credit you, use BSD.
    You can also try with public domain, but it's a grey area actually. I.e. in Poland saying "I put this work in public domain" has no legal meaning, because you can't relieve yourself from copyright, only time can do this. This means that supposedly public domain works like 7-zip are not public domain in here and there's still need for a license.
    Because of this burden I suggest that if you put something in public domain, additionally add WTFPL to the code....

    There are also other good choices like LGPL - which means you let others mix your code with closed one, but don't let them modify it w/out opening the modifications.

  4. #4
    Programmer
    Join Date
    May 2008
    Location
    PL
    Posts
    307
    Thanks
    68
    Thanked 166 Times in 63 Posts
    If you want to earn some money on your program, GPL is the best, because nobody can use your code in commercial, closed-source software. In this case he need to contact you for another licence e.g. http://www.quicklz.com/order.html

    I've added LZ4 results here:
    http://encode.ru/threads/1266-In-mem...y)-compressors
    Last edited by inikep; 25th April 2011 at 20:37.

  5. #5
    Expert
    Matt Mahoney's Avatar
    Join Date
    May 2008
    Location
    Melbourne, Florida, USA
    Posts
    3,255
    Thanks
    306
    Thanked 778 Times in 485 Posts
    GPL v3 is the newest version. It closes some loopholes in v2. But I agree with inikep that this is the best way to earn money from your work. People will prefer to compress their code if there is an open source decompresser because they know that support won't go away and they lose their data. A format needs to be open source and well documented to be accepted as a standard (unless you are a huge company like Microsoft).

  6. #6
    Member
    Join Date
    Sep 2008
    Location
    France
    Posts
    856
    Thanks
    447
    Thanked 254 Times in 103 Posts
    Thanks very much for feedbacks. This subject looks more complex than it sounds when digging into it.

    GPL (..) this is the best way to earn money from your work
    Well, although tempting, it seems unlikely to happen any day, since something like snappy is out now, and LZ4 plays in the same category. Differences seem not enough to justify the hassle.
    QuickLZ and LZO are both GPL though.

    Note that it is not necessary to consider closed-source software as "evil" in order to find "morally right" for one's work on a useful piece of software to be fairly compensated/rewarded, especially by companies selling paid-for products and/or services by building on top of said OSS.


    There are also other good choices like LGPL - which means you let others mix your code with closed one, but don't let them modify it w/out opening the modifications.
    I like very much this idea, which looks like a good middle-ground for small codes which are not full-features applications but only designed to be integrated into other's.

    However, i've also received negative comments on this license, on the ground that it is only applicable to "binary library format", such as DLL, something which may not exist on some low-level target systems (such as embedded devices).

    To be fair, I see no such restriction in the LGPL license, since DLL are explicitly mentioned, but there is also a "Combined Work" definition, which seems broad enough to encompass applications built directly with the LGPL source, as long as the interface remains stable.

    Which version is correct ?

  7. #7
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,612
    Thanks
    30
    Thanked 65 Times in 47 Posts
    I used to think that combining with other code is OK, but well...I'm not sure, myself I don't use such restrictive licenses.

  8. #8
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,497
    Thanks
    733
    Thanked 659 Times in 354 Posts
    GPL basically means that anyone should disclose code of their public programs using your library (it's ok, though, to use it for internal projects or even public internet services)

    LGPL means that anyone using your library should put it into separate DLL, so that users will be able to replace it. Any improvements of your code usedin public programs should be published. LGPL also may be converted to GPL

    people criticing you want to use your code free for their commercial projects. i personally consider GPL as the best way to share ideas without sharing my money

  9. #9
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,612
    Thanks
    30
    Thanked 65 Times in 47 Posts
    >>people criticing you want to use your code free for their commercial projects. i personally consider GPL as the best way to share ideas without sharing my money

    Not really. I don't like GPLed programs because I like free software. The more free - the better.

  10. #10
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,497
    Thanks
    733
    Thanked 659 Times in 354 Posts
    GPL means more freedom for you - since software authors are forced to publish their sources

  11. #11
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,612
    Thanks
    30
    Thanked 65 Times in 47 Posts
    No, it's not a freedom for me, I am forced to publish my sources.
    You can't force freedom. It's inconsequential.

  12. #12
    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 guess it depends on what you want. You can publish code using any license you want. I used GPL for PAQ which I think was a good choice. If I had not published source then it would never have gotten to the top of the benchmarks with the help of others making improvements I didn't think of. If I had used a less restrictive license then a lot of those improvements would have been closed source. But sometimes there is good reason to use less restrictive licenses. I am trying to get ZPAQ format accepted as a standard so I made libzpaq public domain so that companies would be encouraged to add it to their commercial products. But if you are just doing research or you want companies to recognize your programming skills and hire you then I think GPL is best.

  13. #13
    Member
    Join Date
    Sep 2008
    Location
    France
    Posts
    856
    Thanks
    447
    Thanked 254 Times in 103 Posts
    Thanks very much for all these advises. They were very helpful.

    I finally decided to go for BSD license.
    There is no intention to create a "standard", rather i wish to confront LZ4 to more use cases, in order to meet more requirements (especially in the embedded area) and learn from them. I hope this license will help that. The availability of other algorithms with permissive licences also makes it much less compelling for users to go for GPL.

    Note that this decision only applies to LZ4. BSD is not my "default" license. MMC for instance will remain GPLv2, since it can be better described as "research" project, as suggested by Matt.

    Regards

Posting Permissions

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