image-rs / image

Encoding and decoding images in Rust
Apache License 2.0
4.99k stars 620 forks source link

Release 0.1 #58

Closed bvssvni closed 10 years ago

bvssvni commented 10 years ago

This issue will serve as todo list for the preparation of the 0.1 release. Feel free to edit this comment.

Todo list

nwin commented 10 years ago

Rust Image 0.1 Release Notes

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.

Known issues

Changes

Version 0.1

nwin commented 10 years ago

Feel free to edit my comment.

nwin commented 10 years ago

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?

bvssvni commented 10 years ago

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.

bvssvni commented 10 years ago

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.

nwin commented 10 years ago

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 ;)

emberian commented 10 years ago

@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.)

bvssvni commented 10 years ago

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.

bvssvni commented 10 years ago

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).

bvssvni commented 10 years ago

Who is going to make a post on /r/rust? I would like @nwin or @ccgn to do it, because they deserve the credit.

nwin commented 10 years ago

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.

bvssvni commented 10 years ago

@nwin You can get backtrace https://github.com/PistonDevelopers/rust-empty/issues/186

nwin commented 10 years ago

@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.

bvssvni commented 10 years ago

@nwin OK, then we are ready for release.

nwin commented 10 years ago

Tagged, posted. Closed.