MatteoBattilana / WeatherView

WeatherView is an Android Library let you make cool weather animations for your app
Apache License 2.0
506 stars 81 forks source link

Use Gradle dependency on Leonids library #7

Closed magneticflux- closed 7 years ago

magneticflux- commented 7 years ago

Instead of including a .jar file, add the dependency in the build.gradle file using this line: compile 'com.plattysoft.leonids:LeonidsLib:1.3.2' This allows better dependency conflict resolution if a newer version of the library is already being used.

magneticflux- commented 7 years ago

Nevermind, I see you're using a modified version of the Leonids library. In that case, the changes need to be stated for redistribution, as per the Apache-2.0 license.

MatteoBattilana commented 7 years ago

I found this in the Leonids library description:

The library is Free Software, you can use it, extended with no requirement to open source your changes. You can also make paid apps using it.

I also found this:

If you don't distribute the modifications (or not outside your company), you don't have to do anything. Copyright licenses only come into play when distributing a program/library.

Why have I to state the changes due to Apache-2.0 license?

magneticflux- commented 7 years ago

On your first point, I believe the copyright stated in the files themselves (unmodified Apache 2.0) takes precedence over any promises made elsewhere. If the author wanted that to apply, they would have chosen the MIT license, which is more similar to that quote.

On your second point, publishing the project on GitHub, the Google Play store, or JitPack all are distributing your modifications. Even though you don't distribute the source, you include your modifications with every version of your library. The first quote I believe pertains to private use only, since there is no requirement to publish changes if they are only for private use. This, however, is not the case for public use, as in this project.

My fork of WeatherView uses my fork of Leonids, where I documented changes similar to the ones included in your custom Leonids jar. I based my changes off of methods WeatherView tries to call that are not included in v1.3.2 of Leonids.