Hacker News new | past | comments | ask | show | jobs | submit login
Blender-OSM Add-on: Current state and ongoing development (osarch.org)
54 points by app4soft 11 days ago | hide | past | favorite | 23 comments

A decade ago or more I played a lot of action quake and I remember when I travelled to Europe how awesome some of the locations would be as levels.

A future fun FPS mod would be to take the output from a project like this and randomly throw you in various small parts of the world for team competitions.

People could play their whole lives and learn every major city’s layout. :)

I can see the headlines already:

> Satanic video game trains children on how to shoot up their neighborhoods

It could probably be done with Cesium for Unreal, although I question weather it's a good idea to provide shooter games in real locations. Perhaps a less violent sandbox game would be a better idea.


Shooter games are just paintball wars for the brain.

That's more or less what was done in Overwatch from Blizzard. Each map is based on a real location/city and uses its local architecture, typical layout... (However it's not 1:1 with reality. For example the map Rialto is obviously based on Venice, but you won't recognise any particular street or place).

Thread on Twitter.[0]

JFTR, Blender-OSM Add-on source code is under GNU GPL.[1]

[0] https://twitter.com/OSArchOrg/status/1400826200986165251

[1] https://github.com/vvoovv/blender-osm/issues/42

> If you share or publish Python scripts they have to be made available compliant to the GNU GPL as well, if they use Blender Python API calls.

Is it actually possible to put constraints on scripts that make calls to an API like this?

If I remember correctly that depends a lot on the interpretation of the word linking in the GPL. A lot of the license language only works reliably for C code and expectations around it, and things tend to break down in more dynamic languages.

> A lot of the license language only works reliably for C

Few years ago Ton Roosendaal clarified Blender licensing in a long thread on Twitter:

> Blender is Free Software. It's free to use for everyone. Free to use for any purpose, also commercially. Blender is free to share with others, free to study its sources and free make new versions. Blender is free, forever. #b3d[0]

> This freedom is what makes the GNU GPL license so powerful and it's why it's much more than "open source". The license simply prevents anyone to put restrictions on Blender. That protects users as well as everyone who contribute to Blender.[1]

> If you decide to contribute to Blender, whether as Python script or as C++ code, you have to agree on this freedom. You can keep all rights of your own work, but if you publish or sell or share Blender code, you do it just as Free as Blender is.[2]

> Blender add-ons work, look and feel like Blender features. And as for any other Blender feature that means - it has to be free, free and free forever! Paying for an add-on just means access to the add-on download service... offering it to you as GNU GPL. Your freedom guaranteed.[3]

[0] https://twitter.com/tonroosendaal/status/1135229214607773696

[1] https://twitter.com/tonroosendaal/status/1135229215761195009

[2] https://twitter.com/tonroosendaal/status/1135229217040474113

[3] https://twitter.com/tonroosendaal/status/1135229221838761984

That seems odd to me. Are they arguing that the API calls themselves are under copyright, and so the GPL applies? That sounds like a similar situation to the Google vs Oracle lawsuit - which ruled that the API usage was fair use.

If I write a Python script which a user can use to interact with Blender, and I share it without sharing a copy of Blender, why does the GPL apply?

Taking this to its conclusion - if I write a Python script on Linux which uses any system APIs, those APIs are also licensed under the GPL. By that reasoning every Python script which runs on Linux must be GPL.

That's obviously not the case - which suggests that maybe the Blender declaration is also unenforceable.

It's not strictly the API definition that's protected, it's the linking to the GPLed software that is (with Python imports considered equivalent to linking). The Linux APIs have an explicit exception in the license allowing this. Blender does not.

That's interesting to learn about the Linux APIs - not something I knew.

I'm still not sure about the GPL claims though. Imagine I write a Python script which is entirely my own - the only reference it has to a GPLd piece of software is an import statement and a few calls to some APIs.

The Google vs Oracle case made it clear that API usage (and even re-implementation) falls under fair use. The rest of that script is entirely written by me, and therefore I own its copyright. I could even develop the script entirely without running (or even having on my computer) any GPLd software at all - relying just on published documentation of APIs, the usage of which has been established to be fair use.

If I send you just the script. I'm not distributing a GPLd work. Maybe you could choose to run it on your computer, at which point it would resolve my "import x" statement as pointing to some GPLd software. It's only at that point that there's any linking. If you had a different PYTHONPATH setup, the same module might be a different, proprietary implementation, or a mock.

What basis does the copyright owner of the GPLd software have to come after me? I haven't accepted their license. The only person they could possibly have a case against is the end user of the script - who has violated the GPL by linking my non-free script with their GPL software. But if they're not themselves distributing the combined work, is there a case of copyright violation?

Your argument makes sense when you provide another implementation of that interface. That's what Google did with Android.

I am not a lawyer and the opinions expressed herein are my own.

The argument is not that the API itself is protected by copyright. This wouldn't work anyway, as APIs aren't protected by copyright under EU law. From my understanding the argument is that the implementation of the API is protected by copyright. If the script/add-on for Blender depends on the `bpy` package (Blender's implementation of the API) and is not being able to function without out it, then it should be considered a "single program" based on the interpretation of the FSF provided in their FAQ [0]. Thus the script/add-on is derivative work and subject to the GPL license. This assumes that the interpretation the FSFs provides in their FAQ would hold up in court.

[0] https://www.gnu.org/licenses/gpl-faq.en.html#GPLPlugins

It has been held that a module that uses the gpl only symbols in the Linux kernel needs to be gpl licensed.

In contrast the Oracle suit was more about reimplementing the api.

Why link to that old issue instead of just the LICENSE file? https://github.com/vvoovv/blender-osm/blob/dev/LICENSE

> Why link to that old issue instead of just the LICENSE file?

Because until linked issue thread was started there was NO branches with a source and `LICENSE` file — as on 2017 in add-on repo there was only one branch with a single file (`README.md`) without any metnions of GNU GPL licensing.

See this comment[0].

BTW, Only in early 2020 branches with a source and `LICENSE` file was added into repo.[1]

[0] https://github.com/vvoovv/blender-osm/issues/42#issuecomment...

[1] https://github.com/vvoovv/blender-osm/issues/42#issuecomment...

I'm patiently waiting for a game which lets you play in real-life environments. Like an FPS or racing or sim game that lets me play in my favorite cities, or better yet, my favorite towns.

Doesn't even have to be accurate, although it probably needs to look realistic. Like I really only need the aesthetics, not the specific placement / distance of buildings. As long as I get the "feel" of familiar cities / nature that would be awesome.

Geoguessr is already a popular game, and all you do is travel around a location and guess where it is.

Doesn't the newest flight simulator already do this?

> Doesn't the newest flight simulator already do this?

Latest FlightGear already supports OpenStreetMap's OSM Data to be used as scenery source.[0]

> Like an FPS or racing or sim game that lets me play in my favorite cities, or better yet, my favorite towns.

In most cases you could convert OSM Data of your town[2] using Blender into scenery for such games, which supports import user created scenery. May be some additional export add-ons for Blender would be required to instal for specific game file formats.

[0] https://wiki.flightgear.org/OpenStreetMap

[1] https://wiki.openstreetmap.org/wiki/FlightGear

[2] https://wiki.openstreetmap.org/wiki/Export

Yes, MSFS uses satellite/aerial imagery and OSM data for buildings:


Yes! The only issue is that it takes a beefy GPU on a PC. Which I guess would happen on most games like this, but it still means it's unplayable for me.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact