Yes, another license question. I know.
I quite like using LGPL to cover my libraries, as I really don't care what users do with the library; however, I do care about the users sharing any improvements they have with the public.
And I was under the assumption that if a user does use my library:
- The rest of the code isn't affected by the License.
- If a user "distributes" their code with a modified version of the library, they need to make the source of the modified library available.
However, I've been recently made aware that LGPL's "distribution" (or rather, v3 uses the language "convey" but same difference) only covers cases where the software built with the LGPL'd bits is distributed directly to the end user (whether it be a compiled application or a simple tarball), NOT necessarily a case where the LGPL'd bit is used to provide a service over the network.
And given that most of my (npm) libraries are really geared towards web applications, it would mean that the "hey please make your modifications available" bit really wouldn't apply to people who use one of my libraries in their web app, which kinda ruins the whole point I went with LGPL.
And obviously, yes, the AGPL covers this specific use case; however, as I've said above, I really don't care what the users do with this library (i.e. the rest of the code that imports this library). I don't care if they commercialize it, license the rest of the code in restrictive terms, whatever. I just want the improvements to the software to be available to everybody.
I've seen discussions on HN where people have expressed similar needs, and they've discussed a potential "ALGPL"-like license (i.e. LGPL, but also covers the web app use case); however, there was no specific recommendations about such a license.
So my question is, does there exist a license where you basically let people do whatever with the code that imports your library, with copyleft just for the library (and doesn't affect the rest of the code) and a requirement to make available the changes/source code to the modified library and the modified library only?
As far as I can tell, none of the "popular" open source licenses cover this, and I really haven't seen much discussion about such a license.
(On browsing choosealicense.com, I have found "Open Software License" and "European Union Public License" which do cover the "network use counts as distribution" bit; however, I'm not an expert at reading legalese - I've tried - and there really isn't much online discussion about these licenses so I'm not sure whether these are appropriate for my use case and don't contain any "surprises")