Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Licensing when porting to a different language #36

Closed
JuanPotato opened this issue Feb 5, 2018 · 9 comments
Closed

Licensing when porting to a different language #36

JuanPotato opened this issue Feb 5, 2018 · 9 comments

Comments

@JuanPotato
Copy link

Hi, I want to port this library to Rust. As far as I can tell, the Boost license you are using requires any derivative works (my port) to also be under the Boost license. I thought I might come and ask if you would allow me to re-license the port under MPL v2.0

@isopen
Copy link
Contributor

isopen commented Feb 5, 2018

I join the question. Is it possible to change the license type or clone your license necessarily?

@arseny30
Copy link
Contributor

arseny30 commented Feb 5, 2018

If you are are using tdlib as a library, then you can publish your work under any license you want.
Or not publish at all.

If you are going to make changes in our code, then you probably have to keep the license.
But why is that a problem?

@isopen
Copy link
Contributor

isopen commented Feb 5, 2018

It's not a problem. You have an excellent license! Thank.

@JuanPotato
Copy link
Author

It's more of a personal preference. MPL 2.0 is a pretty nice license, it let's you use the library in whatever project, and you only have to release changes you've made to the library (not the entire project). So it's a nice way to get back contributions without being a hindrance for who can use the library

@levlam
Copy link
Contributor

levlam commented Feb 5, 2018

Boost license is one of the most permissive licenses and is one of the best licenses a library can have. Where have you found any restriction imposed on derivative works?

@JuanPotato
Copy link
Author

This issue isn't because I've found some, but because I would prefer it and I figured I'd give it a shot to get permission. But it's fine too if you don't

@JuanPotato
Copy link
Author

Ok, beyond this, since I intend to try to port this project to Rust, where to you suggest I start? This is a big project

@levlam
Copy link
Contributor

levlam commented Feb 6, 2018

There is no need to port the whole project to Rust, you can use the library from a Rust app easily. If you don't mind to use JSON objects for interaction with the library than you only need to make Rust bindings to C functions from td_json_client.h and td_log.h. You can look for an example of such binding in our Python example. In Rust the binding can be created even simpler: https://doc.rust-lang.org/beta/nomicon/ffi.html.

@JuanPotato
Copy link
Author

JuanPotato commented Feb 6, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants