How free is OSM

474 views
Skip to first unread message

Gleeb

unread,
Mar 19, 2011, 5:55:16 AM3/19/11
to osmdroid
Hi i would like to create a commercial application that will make use
of OSM, i would like to know if it is completely free in a away that
wont affect my business plan.

thank you.

Julien D.

unread,
Mar 19, 2011, 2:09:58 PM3/19/11
to osmd...@googlegroups.com

Hi,

OSM means OpenStreetMap, the project that "provides free geographic data".

Here is the osmdroid mailing list, the Android library that uses osm data.

If you want to integrate the osmdroid library into your commercial project, the important thing is the licence.

osmdroid is published under the GNU LGPL licence:

http://www.gnu.org/licenses/lgpl.html

That means that you can use it into your commercial project :)

There's few rules to follow:

- do not integrate the osmdroid source code into your main project, it needs to remain an external "link", the jar is perfect for that,

- put attribution about osmdroid somewhere in your app,

- put attribution about the osm tiles on the map.

http://wiki.openstreetmap.org/wiki/Legal_FAQ#I_would_like_to_use_OpenStreetMap_maps._How_should_I_credit_you.3F

That's a good question and someone should create a wiki page in the osmdroid project to explain that.

Cheers,

Julien

Gleeb

unread,
Mar 20, 2011, 3:20:17 AM3/20/11
to osmdroid
Thanks.

That was very helpful and to the point.

On Mar 19, 2:09 pm, "Julien D." <murphy2...@gmail.com> wrote:
> Hi,
>
> OSM means OpenStreetMap, the project that "provides free geographic data".
>
> Here is the osmdroid mailing list, the Android library that uses osm data.
>
> If you want to integrate the osmdroid library into your commercial project,
> the important thing is the licence.
>
> osmdroid is published under the GNU LGPL licence:
>
> http://www.gnu.org/licenses/lgpl.html
>
> That means that you can use it into your commercial project :)
>
> There's few rules to follow:
>
> - do not integrate the osmdroid source code into your main project, it needs
> to remain an external "link", the jar is perfect for that,
>
> - put attribution about osmdroid somewhere in your app,
>
> - put attribution about the osm tiles on the map.
>
> http://wiki.openstreetmap.org/wiki/Legal_FAQ#I_would_like_to_use_Open...

Pete Doyle

unread,
Jan 3, 2012, 2:58:24 PM1/3/12
to osmd...@googlegroups.com
I really appreciate your intent to allow commercial apps.

IANAL, but....  I'm convinced that the LGPL is incompatible with commercial (more specifically: closed-source) apps on Android

The way Android uses dex and puts all classes into a single APK restricts "modification of the portions of the Library [OSMDroid] contained in the Combined Work  [My App] " and impedes "reverse engineering for debugging such modifications".  This is specifically prohibited in Section 4 of the LGPL v3 (or Section 6 in v2.1).
http://www.gnu.org/licenses/lgpl.html.

In addition, I'd like to use ProGuard (mainly to reduce app size), but that also impedes reverse engineering and debugging any OSMDroid modifications the end-user would like to make.

Because of this, it looks like the only way to comply with Section 4 of the LGPL is to:
Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.

This seems to mean I have to supply the source code of my app for people who might like to modify the version of OSMDroid that is shipped in my app.

Alternatively, I might (?) be able to supply my app's compiled classes, my OSMDroid jar, and a build script to re-dex and re-create the APK.  This seems a bit tedious.  Also, I think that means anyone could just build my app without paying for it.

Any chance of another relicense?  I understand the desire to gain modifications, I just wish we could strike section 4 from the LGPL (v3). :-/
Thanks,
Pete

Julien D.

unread,
Jan 6, 2012, 10:37:23 PM1/6/12
to osmd...@googlegroups.com
Hi Pete,

That's a good point.

While searching on how to solve this issue, I found this interesting FAQ:

I just tried and decompiling and recompiling an APK is fairly easy using dex2jar:

Using this tool it's possible to decompile the dex, modify/replace the osmdroid classes, recompile the dex and rebuild the apk.

I'm pretty sure we can even use ProGuard if we specify to not obfuscate the osmdroid files.

What do you think?

Julien

Pete Doyle

unread,
Jan 12, 2012, 5:16:58 PM1/12/12
to osmd...@googlegroups.com
Hi Julien,
Thank you, I hadn't heard of dex2jar before.  It definitely seems like using dex2jar and excluding the OSMDroid classes from Proguard obfuscation should do the job.

I'm not sure how I feel giving legal permission to rip the APK from the device and rip it apart.  It seems so easy to pirate an app.  Though, whether I give legal permission or not, I don't think it would make a difference. :)  I guess I should just get over it.

Thanks for the tips, I'm definitely at the point where LGPL is no longer a non-starter for me.
Thanks,
Pete
Reply all
Reply to author
Forward
0 new messages