Closed bvssvni closed 10 years ago
Rust image aims to be a pure-Rust implementation of various popular image formats. Accompanying reading/write support, rust image provides basic imaging processing function. See README.md
for further details.
blur
or invert
Feel free to edit my comment.
Ok should we just release on Sunday? What about the license thing? Is it enough to mentions it in lib.rs
or to we have to add a stub to every file?
I would prefer something simple, for example:
// Copyright 2014 PistonDevelopers (See LICENSE.md)
Personally I don't care about it and would not put such in the source if we don't have to. Since we are using a such permissive license, I care more about crediting the authors in the Cargo.toml if somebody copy code, or giving credit in some other way.
Accordingly to http://stackoverflow.com/questions/40100/apache-license-vs-bsd-vs-mit , we can't use Apache license due to possible patents on image compression. Probably safe to stick with MIT.
I adapted what is on top of the rustc files...ok?
// Copyright 2014 The Piston Developers.
//
// Licensed under the MIT license <LICENSE or http://opensource.org/licenses/MIT>
Ahh whatever…KISS ;)
@bvssvni if there are patent issues with image compression, this code can't be released under any license unless it was written by someone with permission from the patent owner. Presumably you're referring to the GIF patent, which has expired, so it's not an issue. Apache doesn't have any special requirements around that, except that if there is a patent, the author grants a license to it for this code.
If you were to dual-license now you'd need permission from all the contributors to do so, given that it's implicit that their contributions were made available under the terms of the MIT license. (One benefit of the ASL IMO is that it contains a clause stating that contributions are explicitly made available under the ASL, removing any doubt.)
I was thinking of a case where we don't know whether there are patent issues, and if the patent owner has released code under the MIT license and granted a patent license to the distributor of the operating system, we can still use the algorithm, but add a notice that a license to the patent is required to use the code. I am not a lawyer, and don't think software patents does not work anyway (because general computation does not depend on common sense), but to me it seems that if you distribute code under the Apache license when you don't have patent licenses, is breaking the law, and usually laws are written such that you have no excuse that you didn't know whether you are breaking it or not. With all the different patent zones worldwide, I think it safer to use the MIT license for the developers, even if this adds some extra burden on the users. If we get sued we will try to reach an agreement with the patent owner, and if that does not work, we will remove the code that infringes the patent.
It is a good point that in order to dual license now, we would have to contact all the contributors. Personally I think it is fine with MIT license. If people want to dual license, we can use the list of contributors (https://github.com/PistonDevelopers/image/graphs/contributors) subtract those who have not touched any specific algorithm and ask them to confirm the re-license.
I opened up a new issue about dual licensing https://github.com/PistonDevelopers/image/issues/121 and removed it as a task for the 0.1 release.
This can be fixed later, so there is nothing blocking the 0.1 release for now (if the GIF bug has been fixed).
Who is going to make a post on /r/rust? I would like @nwin or @ccgn to do it, because they deserve the credit.
I could do it. I also don't thing that the gif bug is a blocker.
btw: It's really a pitty that you don't get a nice stack trace on failures otherwise this bug would probably already have been fixed.
@nwin You can get backtrace https://github.com/PistonDevelopers/rust-empty/issues/186
@bvssvni Thanks! But I'm afraid I won't fix this issue anytime soon.
The bug is in the LZW decoder and the documentation for LZW is really…brief. This is why I didn't do much on TIFF lately because I also ran into problems with it and couldn't figure out how exactly LZW is supposed to work in detail.
@nwin OK, then we are ready for release.
Tagged, posted. Closed.
This issue will serve as todo list for the preparation of the 0.1 release. Feel free to edit this comment.
Todo list