contribsys / faktory

Language-agnostic persistent background job server
https://contribsys.com/faktory/
Other
5.72k stars 227 forks source link

License Question #327

Closed benbjohnson closed 3 years ago

benbjohnson commented 3 years ago

Hi Mike,

I'm not sure if this is the appropriate venue for this question, but why did you choose GPL for Faktory vs. LGPL for Sidekiq? Is it to avoid linking with proprietary software, or were there other benefits too?

Thanks!

mperham commented 3 years ago

Heya Ben, good to eSee you again. 😎 This is an appropriate venue for any Faktory-related question. 👍🏼

I default to the strongest possible GNU license which does not impose itself on the application developer. That is, my aim is to protect and keep my projects as open source as possible without forcing user applications to go open source.

Faktory is distributed as a packaged server daemon, where the user's code is not expected to be compiled into Faktory. This makes GPL possible, there's no risk of "tainting" the user's application code.

Sidekiq (and faktory_worker_ruby!) are licensed LGPL because they do link (in Ruby, "require") the user's code in-process. If I licensed Sidekiq as GPL, any developers which distributed Sidekiq would also be required to open source their Sidekiq jobs because the in-process linking triggers the GPL but the LGPL exempts linking user code.

benbjohnson commented 3 years ago

Thanks for the quick response, Mike. Good to e-see you again too! 🕺

That makes sense. I'm working on an open source project that's a standalone application so I'm re-evaluating all the licenses again.