andrebaltieri / FluentValidator

Fluent Validator is a fluent way to use Notification Pattern with your entities
122 stars 40 forks source link

Add license to the project #36

Open terremoth opened 3 years ago

terremoth commented 3 years ago

I suggest GPL v3 or AGPL v3 as let this project free-software (as in freedom) compliant.

leonardo-nicolas commented 2 years ago

I think GNU license is heavy to license this project. If license with some GNU license, all another projects that uses this project as third party and its licensed by Apache / MIT / others and, thats uses this lib, must have to license its projects to some GNU license too, because GNU licenses requires all of the code must have open. If some project uses any dependency thats uses GNU license, all project must to have same license GNU from some its dependency...

Example: If you make a final project of your own (a finance manager with MAUI or Blazor) and redistribute it using this project's dependency, then this project will have to be redistributed also under the GNU license and the GNU license forces you to open source this project.

That is, the GNU license "contaminates", mainly the GPL 3.

In that case, I think the Apache 2 license might be a good idea. It is as permissive like MIT, but provides for an express grant of patent rights. Apart from that, for any project under the Apache 2 license, opening the source of the project that uses some library licensed under apache, as a dependency, isn't required!

I think the GNU license is ideal for end user-facing projects. Like GIMP, Linux Kernel and others. I think it! I could be wrong.

I'm not an expert in law, but some things I have a few knowledge!

terremoth commented 2 years ago

"all another projects that uses this project as third party and its licensed by Apache / MIT / others and, thats uses this lib, must have to license its projects to some GNU license too"

Exactly! That is one of the intentions! But you are wrong in one thing: not only GNU licenses can be descended, but Apache License and XFree86 1.1 license are also GPLv3 compatible, Be free and stay free. If you want people use your project then sell/send you back with closed source (and you will eventually have to accept this), then just use any other license like MIT or BSD... GNU GPL makes intentional to make free software (but not necessarily free products). It is important to say that "free software" is not "free beer", it is free meaning freedom. I suggest people use GPL license because its freedom to make free software always, not only "open source" software.

https://www.gnu.org/licenses/quick-guide-gplv3.pt-br.html

quick-guide-gplv3-compatibility