genericptr / fpTOML

TOML parser for Free Pascal Compiler.
27 stars 6 forks source link

Question: Switch to permissive License #5

Open Shoozza opened 1 year ago

Shoozza commented 1 year ago

Hello,

would it be possible to move to a permissive license or Dual License?

Mozilla Public License (MPL) version 1.1[1] (which several libraries in FreePascal use) and (maybe?) also PascalScript License[2][3] are incompatible with GPLv2+.

This limits the use of this Library. Is this intentional?

Thanks.

[1] https://www.gnu.org/licenses/license-list.html [2] https://github.com/remobjects/pascalscript/blob/master/LICENSE.md [3] https://en.wikipedia.org/wiki/BSD_licenses#cite_note-FSF-OriginalBSD-4

genericptr commented 1 year ago

I was already asked to add the current license and it appears to be the same one as the Free pascal compiler itself. What's the problem exactly? I know very little about the licenses so please help me understand. :)

Shoozza commented 1 year ago

The FreePascal Compiler is licensed under GPL but the runtime libraries are licensed under LGPL with a static linking exception[1] which means compiled projects don't need to release their source code.

This project however is GPLv2+. Which means linking with it requires the whole project to be released under GPLv2+ and therefore the release of the source code.

If this is not possible due to incompatible licenses (afaik PascalScript library's license is incompatible with GPL) using fpTOML will not be possible.

Additionally any proprietary project will not be able to use fpTOML (but I assume this is the reason you used a strong copyleft license like GPLv2+ instead of weak copy left licenses like MPLv2 or more permissive licenses like MIT, ZLIB or BSD2).[2][3]

I hope it's a bit more understandable now :D

[1] https://wiki.lazarus.freepascal.org/licensing [2] https://en.wikipedia.org/wiki/Copyleft#Strong_and_weak_copyleft [3] https://en.wikipedia.org/wiki/Permissive_software_license

genericptr commented 1 year ago

I made the parser for personal use and for the benefit of any other Pascal programmers so I got the license wrong I guess. So you're saying you want to use it with a commercial project and thus you want to keep the source private? That's fine with me so which license would you recommend?

Shoozza commented 1 year ago

My project is free and open source but due to pascalscript i cannot use gpl licensed libraries in it (afaik).

Anyways about the licenses: Most people would be fine with MIT/Expat License.

However if you want to make sure that changes to your library are made public then Mozilla Public License 2.0 would be also fine.

According to https://opensource.org/licenses/?categories=popular-strong-community%2Cuncategorized both licenses are popular with a strong-community.

nussbaumer-planb commented 2 months ago

Note that I for testing purposes rewrote the project to run under Delphi 10.4. Are there any news regarding the license? By now, it's only a standalone PoC but as giving out the whole source of our software is no option for my company, the license makes the difference between integrating the PoC it as is (MIT/MPL) or creating something similar from the scratch (GPL).

genericptr commented 2 months ago

Sorry I forgot about this. Can I just remove the GPLv2+ part? what modifications can I make to remedy this. I don't want you anyone to be tied into some license scheme to simply use the code. Keeping some headers intact would be nice but that's about all I care about.

Shoozza commented 2 months ago

If you didn't accept any merge requests and wrote all the code yourself, you can change the license since you are the copy right holder and you provided the project under the GPLv2+ to others. If you accepted contributions you need to ask the developers who contributed if they agree with your change or alternatively remove their contributions (and rewrite them on your own without using their code).