4

I have some python projects which I release on GitHub.
Some of them binds actions to some DLLs, and some are purely reinventing the wheel.
I choose MIT license for these kind of projects, then I found BSD licenses which seems appropriate too.

Now, I have a bigger project, dealing with a lot of conversions. I plan to make some graphical interfaces too when the low level will be up & working. Yet, this package could be used as a library in higher level projects.

I can mention that I only use numpy in this package (which is licensed under BSD-3).

I'm somewhat lost in choosing a proper license for this kind of project.
GPL seems too constraining in my taste, as MIT or BSD seems a little too permissive.

Are there some licenses that falls in between?

Also, I found that there is Python Software Foundation License. It seems this license is for contributing to Python itself, but I'm not totally sure what it means and implies.
Does anyone have some pieces of answers regarding this matter too?

2

I'm somewhat lost in choosing a proper license for this kind of project. GPL seems too constraining in my taste, as MIT or BSD seems a little too permissive.

Are there some licenses that falls in between?

While there isn't really a linear scale of permissiveness, you might be looking for the weak-copyleft class of licenses. In short, they require modifications to your software to remain under the same license but still allow combining it with software of different licenses, including proprietary. MPL (Mozilla Public License 2.0) could be a good choice if that's what you're looking for. You could also have a look at LGPL, but imo MPL is a bit more user friendly.

If you don't care about copyleft at all you'll need to be more specific on what you find lacking in MIT and BSD.

Also, I found that there is Python Software Foundation License. It seems this license is for contributing to Python itself, but I'm not totally sure what it means and implies.
Does anyone have some pieces of answers regarding this matter too?

That's the license the Python distribution is released under. It's a permissive license that requires you to briefly explain what you have changed in case you want to release a derivative work. This license only comes into play if you want to release something based on the source code in the Python distribution, not if you release a program written in the python language and depending on the Python distribution.

  • I'll have a look at MPL; I want my code to be (re)usable, but under the same license (roughly). Thanks for the clarifications about PSFL, that's what I thought, thus it's nice to get a better understanding of it. Thank you very much for your answer on the matter! – SMFSW Mar 12 '17 at 16:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.