Closed coballast closed 3 years ago
I'm dropping the issue, it's plenty reasonable.
Just if you were curious - the short answer is that yes, it was a deliberate choice based on a certain amount of research/deliberation. It seemed like a reasonable compromise between allowing freedom of use and encouraging contribution, but I'd certainly like to hear about any cases where the MPL causes problems.
For the benefit of anyone else who finds this issue in the future, note that my understanding is that the MPL generally only applies to existing source files - there are basically no meaningful restrictions placed on code that links to/uses MPL-licensed code (you can distribute the result commercially, no requirement to provide source or allow LGPL-style relinking, etc.). The only real requirement is that if you make changes to an elm-geometry
source file itself (e.g. Point3d.elm
) and then distribute a piece of software using that modification, you have to make that modification public.
If you want to add something like Point3d.mySuperSecretFunction
and don't want to publish it, then you can do something like create a new Point3d.SecretSauce
module of your own...
module Point3d.SecretSauce exposing (mySuperSecretFunction)
mySuperSecretFunction : Point3d units coordinates -> Point3d units coordinates
mySuperSecretFunction point =
...
...which you can then 'merge' with the main Point3d
module when importing it:
import Point3d
import Point3d.SecretSauce as Point3d
-- go ahead and use Point3d.rotateAround and Point3d.mySuperSecretFunction
-- as if they were both in the main Point3d module
This way you get basically all the advantages of having a fully integrated elm-geometry
function, but without the requirement to publish your code (since they're in a source file of your own, not as a modification to an elm-geometry
source file).
For anyone that is not into reading legalize, what @ianmackenzie said (I am not a lawyer!) in my judgement is an accurate summary. Thank you.
Is it intended for this to be licensed under the Mozilla Public License? I would be happy to help contribute, but I would also like the freedom to add my own secret sauce if I so chose. Would you be willing to change it to the BSD 3-Clause or Apache License?