keean / RelationalDB

Relational Algebra API for JavaScript
MIT License
2 stars 1 forks source link

license? #1

Open yathit opened 11 years ago

yathit commented 11 years ago

Thanks for open sourcing wonderful library.

Could you put some license to your code?

Thanks, Kyaw

keean commented 11 years ago

Hi, I have licensed this under LGPL (license.txt now included). I think this is the best compromise as the library can be included in open source and commercial products provided all changes to the library itself are made available open-source. The easiest way to do this is to submit patches back to me.

yathit commented 11 years ago

Thank you. I am working on Apache license open source project https://github.com/yathit/ydn-db

It seems like, we are not compatible, isn't?.

keean commented 11 years ago

My understanding is that providing you submit any changes to the library back to me, you can use it and distribute it with your code under the Apache License (or even a proprietary license).

What else would you want to do with it?

yathit commented 11 years ago

I would like to annotate your code so that it will compile under closure compiler. Also I will need to make the code modular. I will push pull to your codes, however you may find some more work to integrate back to your codes.

I does not use LGPL code to integrate with my project because, because I like my codes to be used anywhere, commercial or close source. My understanding is if I include LGPL code, I have to use LGPL compatible license.

BTW, I like your discussion on w3 web-apps mailing list. Current IndexedDB API is not developer friendly as we see it was not pick up over 2 years. Some query library like yours will be very useful.

I like relational complete query, but developer may find difficult to use as compare to SQL.

keean commented 11 years ago

The easiest thing would be for you to use LGPL.

"I does not use LGPL code to integrate with my project because, because I like my codes to be used anywhere, commercial or close source."

This is not true. LGPL code can be used in commercial and closed source projects. The only restriction is that changes to the library must be LGPL as well. So I could write a commercial closed source application using RelationalDB for its database library - no problem. If I find a bug in the RelationalDB library and fix it (for my commercial closed source program) I must release the fixed RelationalDB library LGPL but not my whole program. This is why I like LGPL, if people use this for commercial closed source projects, they have to give any bug fixes back to open-source.

If you dont want to use LGPL I would suggest the following:

yathit commented 11 years ago

Thanks for great explanation. I think it work out.

Basically I want to maintain permissive license on ydn-db, so that people can use them freely.

How about that?

keean commented 11 years ago

The license you have for ydn-db does not allow people to use more freely. They are just as free to use as they would be with the LGPL. The only significant difference is that bug fixes and changes to the library itself need to get contributed back to open-source. Someone making a commercial closed source application could do exactly the same as you forking a LGPL version of the library (if they need to change it) and keeping the rest of their code closed source. The distinction I am making is that changing the library is not using it, but modifying it.

In any case, what you suggest sounds fine to me.

yathit commented 11 years ago

Thank you.

What do you mean?

The distinction I am making is that changing the library is not using it, but modifying it.

keean commented 11 years ago

All I am saying is that most of the time people use a library like you use a spoon. Modifying a spoon is different from using a spoon.

So when you say "Basically I want to maintain permissive license on ydn-db, so that people can use them freely." you imply that one license is more permissive than the other for users, which is not true. What you meant to say was:

Again, freely is misleading because people are still free to modify libraries for personal use with the LGPL, so more accurately what I think you mean is:

Which means we both allow the library to be used in closed source products, but you allow closed source forks of your library, whereas I do not.

yathit commented 11 years ago

Exactly! Thanks.

Most web developers do not bother to contribute, but they do submit bug report. That is good enough.