pyinfra-dev / pyinfra

pyinfra turns Python code into shell commands and runs them on your servers. Execute ad-hoc commands and write declarative operations. Target SSH servers, local machine and Docker containers. Fast and scales from one server to thousands.
https://pyinfra.com
MIT License
3.91k stars 382 forks source link

copy left license? #518

Closed divansantana closed 1 year ago

divansantana commented 3 years ago

Hi,

I think your project is very cool.

Was just wondering on your thoughts on changing the license to be copyleft? Some of the competitors in this field are copyleft (ansible).

In my mind and some others that would benefit the program quite a lot.

This link explains what is copyleft and why one would choose to use it.

https://www.gnu.org/licenses/copyleft.en.html

link2xt commented 3 years ago

One issue I see with this idea is that inventory and deploy files in pyinfra are not just YAML configs, but programs that use parts of pyinfra and can even "monkey patch" it in runtime.

Fizzadar commented 3 years ago

I've been considering moving to the Apache 2.0 license recently for it's more explicit patent related clauses (Salt also uses it).

Regarding copyleft licenses I'm struggling to see any real advantages - I see pyinfra as a hybrid tool & library, and a copyleft license might make it harder to use as such (@link2xt you make an excellent point). For example if someone were to release a version of pyinfra containing proprietary operations/facts/connectors they could bypass any license restrictions by releasing the modules only, and specifying the user install the pyinfra package.

I might have missed something here (please let me know if so!) but I can't think of any additional situations beyond a major rewrite of the whole codebase. If there was to be a pyinfra server or similar I would definitely use the AGPL or similar (note: I have no plans to do this and would rather encourage integration with Rundeck/Jenkins/Terraform/etc).

divansantana commented 3 years ago

Thanks for the input.

To be honest I'm not fully understanding the complexities of the whole license thing.

I suppose the one thing I had in mind was ensuring freedom for the user down and project down the line. And not that developers would contribute to the project only years later, for it to be hijacked or bought out by a big corporation with different interests then the original project had in mind.

Perhaps a more restrictive copy left license avoids a "pro edition" down the road, with additional bells and whistles. If that were true, it would make projects that are copy-left more attractive for users to adopt.

Fizzadar commented 1 year ago

Closing this as a wontchange, not seeing any reason to change this (still considering Apache 2.0 for v3 though).