inukshuk / edtf.js

Extended Date Time Format (ISO 8601-2 / EDTF) Parser for JavaScript

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

License acquisition

sportnak opened this issue · comments

Greetings!

Thanks so much for your work on this. I would like to include your module in my production code at work to take EDTF values and get the min/max values for them to display approximate ages. As your code is APGL-3.0 licensed (and not MIT or Apache) I'm uncertain what the restrictions are. My goal is to include this in our bundle which gets minified and uglified. Do you have a process I can go through to acquire a license? Or recommendations on alternatives in the space that might solve the same problems?

Thanks,
Michael

This is an interesting question. I would assume that the above use case would not be allowed under the current license? This would seem like a major limitation of the library.

I'm not certain of how this license works really. It's a much longer and more complicated one than Apache or MIT. I'm not sure how much is different though. It has specifications on modified code, which includes bundling and minification

So some further investigation, AGPL-3.0 is copyleft. This means you can use it freely and modify it so long as you provide the modified product under the same license. I think bundling/minification/uglification altogether results in what's consider a "modification" to the code or "creating a derived work". We don't really open source our production code?

This link helped: https://opensource.stackexchange.com/questions/4303/is-there-any-difference-between-the-gpl-and-agpl-for-code-executed-in-the-browse

Thanks for your interest!

Yes, the AGPL-3.0 is copyleft and means you can use EDTF.js freely with the requirement that if you distribute (commercially or otherwise) a modified version or a derived work it needs to stay open source using the same license. This usually invites the debate as to what constitutes a 'modification' or 'derived work'. This is hard to define in general, without knowing how you use EDTF.js or what your product does, but assuming that we are speaking of a typical web app (and not, for example, a date parser) we definitely do not understand bundling/uglifying as a modification or creating a derived work, nor do we understand requiring and using the library's API in your code as such.

If you want to follow our intentions, please:

  • Add EDTF.js to your bundle; transpile, uglify, etc. as you see fit
  • Require and use it in your code
  • If you notice bugs or want to improve something, please provide your patches to us so that we can incorporate them upstream (and you won't need to 'modify' anything downstream)
  • Include our copyright and license notice with your own and all the other notices of other modules you're likely using (so that users can find the source code)

That's it. You don't have to open source your own code using the AGPL or anything like that (but, hey, why don't you?). If you modify EDTF.js in your code (or if your product could not exist in a substantive way without it) it might be more complicated, but I'm not assuming that's the case here.

Awesome thanks so much! I appreciate the quick response as well.