jondewoo / UnitySlippyMap

A slippy map implementation written in C# for Unity3D
304 stars 110 forks source link

License requires unity projects to be LGPL if published to anywhere other than on PC #20

Closed Max9403 closed 8 years ago

Max9403 commented 8 years ago

Doing some research on LGPL I have found that any unity projects that bundles the plugin into a singular program, like projects build for console, web and/or mobile would force those projects to be LGPL as well since it is not possible to supply an alternative version of the compiled library by the user.

(I'm assuming that it is not intended to restrict those platforms, that's why I opened an issue about this)

[1]http://answers.unity3d.com/questions/367198/using-a-plugin-library-having-lgpl-license.html [2]http://forum.unity3d.com/threads/legal-question-unity3d-webgames-and-gpl-code.37692/#post-1096098

pirou commented 8 years ago

Hi, i just discovered this plugin, run it on my unity to try and it seems really nice. I don't know much myself regarding license agreements but a colleague of mine looked into this issue for another LGPL 3.0 licensed plugin with other people. Wether it is for personal use or commercial use, it seems you can use it under some circumstances. I am using an AR SDK called ARToolKit which is LGPL 3.0. You can also look into this link https://artoolkit.org/artoolkit-licensing to get more informations as it may be easier to find information for this plugin specifically as it is more famous. Cheers.

jondewoo commented 8 years ago

As far as I understand, the LGPL is aimed at providing a licence to protect open-source code without being 'contagious' outside of its scope. Feel free to seek legal council if you have any doubts in regards to the specifics of your project.

More infos: https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License https://tldrlegal.com/license/gnu-lesser-general-public-license-v3-(lgpl-3)

Max9403 commented 8 years ago

@pirou Was that on PC where DLLs or SOs files can be swapped, or on a platform where a user cannot access the program them self and modify the dependencies, as in the second link posted there was a reference to a company who used LGPL code and was then forced to make their source public since files could no be substituted by the user.

@jderrough That might be it's intent, which is why I created this issue as it does not allow for that in a "controlled" environment like console, web or mobile. An exert from Wikipedia points this as well "A standalone executable that dynamically links to a library through a .so, .dll, or similar medium is generally accepted as not being a derivative work as defined by the LGPL", when published through Untiy they become bundled into a single program. And an exert from TldrLegal "If you distribute this library in an executable, you must make the source available for 3 years."

The issue comes from 4.d in LGPL license that you can see in the repo:

   d) Do one of the following:

   0) Convey the Minimal Corresponding Source under the terms of this
   License, and the Corresponding Application Code in a form
   suitable for, and under terms that permit, the user to
   recombine or relink the Application with a modified version of
   the Linked Version to produce a modified Combined Work, in the
   manner specified by section 6 of the GNU GPL for conveying
   Corresponding Source.

   1) Use a suitable shared library mechanism for linking with the
   Library.  A suitable mechanism is one that (a) uses at run time
   a copy of the Library already present on the user's computer
   system, and (b) will operate properly with a modified version
   of the Library that is interface-compatible with the Linked
   Version.

As such a user cannot supply a modified version of the library on console, web or mobile it means that the project that uses this project targeting one of those platforms will be forced to release their source under LGPL as well

jondewoo commented 8 years ago

I get your point. I'll look into other licensing options.

Max9403 commented 8 years ago

Picking a license is never easy, especially an open source one, I wish you good luck

Zenopheus commented 7 years ago

@jderrough Could you reopen this issue? I would love to use this in my project but the license is a no starter. LGPL3 isn't compatible with Unity because it compiles your source directly into the executable. I know it's been a year but could you switch over to MIT? Keeping it LGPL3 is dangerous to your user base since they may not realize they LGPL3 their code the instant they dropped your asset in. How many users aren't even aware of this? A lot of people could loose their job over making this kind of mistake.

jondewoo commented 7 years ago

@Zenopheus The license changed has been made in 99ab13626bbc167365c8e0e7710a1467cb4d9568

Zenopheus commented 7 years ago

That's great! Thank you for this and your work!

On Fri, Sep 1, 2017 at 4:03 AM, Jonathan Derrough notifications@github.com wrote:

@Zenopheus https://github.com/zenopheus The license changed has been made in 99ab136 https://github.com/jderrough/UnitySlippyMap/commit/99ab13626bbc167365c8e0e7710a1467cb4d9568

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jderrough/UnitySlippyMap/issues/20#issuecomment-326517114, or mute the thread https://github.com/notifications/unsubscribe-auth/AEUWpzaUHzESnDed_59prlVTAkoRfq7yks5sd7pKgaJpZM4JQMdf .