Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Apply the Spine Runtimes license to the Spine extension #6679

Closed
1 task done
NathanSweet opened this issue Jun 18, 2024 · 6 comments · Fixed by #6701
Closed
1 task done

Apply the Spine Runtimes license to the Spine extension #6679

NathanSweet opened this issue Jun 18, 2024 · 6 comments · Fixed by #6701

Comments

@NathanSweet
Copy link

Is there an existing issue for this?

Describe the bug

Hello! My name is Nate, founder of Spine and Esoteric Software.

I noticed that GDevelop contains pixi-spine in its Spine extension:
https://github.com/4ian/GDevelop/tree/master/Extensions/Spine/pixi-spine

pixi-spine comes from here:
https://github.com/pixijs/spine

pixi-spine uses Esoteric Software's Spine Runtimes and so the Spine Runtimes license applies:
https://esotericsoftware.com/spine-runtimes-license

Will you please add our Spine Runtimes license to your Spine extension?

It is not allowed to discard the Spine Runtimes license from our Spine Runtimes and apply the MIT license instead. GDevelop must apply the Spine Runtimes license to its Spine extension. That means users who publish apps containing the Spine Runtimes (via pixi-spine in the GDevelop Spine extension) need a Spine license.

Also please note in Spine 4.2 we now support an official Pixi runtime:
https://github.com/EsotericSoftware/spine-runtimes/tree/4.2/spine-ts/spine-pixi
You may want to switch to that!

Steps to reproduce

n/a

GDevelop platform

Desktop, Web, Mobile

GDevelop version

all

Platform info

OS (e.g. Windows, Linux, macOS, Android, iOS)

OS Version (e.g. Windows 10, macOS 10.15)

Browser(For Web) (e.g. Chrome, Firefox, Safari)

Device(For Mobile) (e.g. iPhone 12, Samsung Galaxy S21)

Additional context

No response

@4ian
Copy link
Owner

4ian commented Jun 20, 2024

Thanks for reaching out! I'll make sure we fix this by adding the license file and we'll also add to the existing message in the UI a link to your website so that there is no friction for a user searching to know more about Spine/get a license if they want to use the Spine object.

Apologies for not getting this right on the first time.

@NathanSweet
Copy link
Author

Thank you, that sounds perfect!

@NathanSweet
Copy link
Author

BTW, if you're interested in switching from pixi-spine to our official spine-pixi runtime, we just published this documentation today:
https://esotericsoftware.com/spine-pixi
This section talks about the differences between the two runtimes:
https://esotericsoftware.com/spine-pixi#Differences-to-pixi-spine

@4ian
Copy link
Owner

4ian commented Jun 21, 2024

I've made the changes in #6701 @NathanSweet. Let me know if I missed something or if the license should be somewhere else.

Very cool that you maintain your own spine-pixi runtime. I'm pinging @f0nar who built the original Spine extension (not asking you to do if of course, just letting you know).
I guess moving to it would not be super difficult, though this is not an absolute priority (but PR always welcome of course!).

@f0nar
Copy link
Contributor

f0nar commented Jun 21, 2024

Hi all!

You would not belive me if I said I was thinking last week about migration and that it would have been great to check status of official spine pixi repo. Because last time I checked it was in active review state.

As I know it is not so general as unofficial one. It means that you will be able to use it only with specific spine version. I heard about check button to transform output of one spine version to anothet.

Anyway let me check and think more about it. I will share my foundings later.

And sorry for missing license in PR. I did not do it on pupose.

@NathanSweet
Copy link
Author

No worries about the licensing, it's easy to miss and was hopefully easy to fix. It's one of those silly legal things that once it comes to our attention then we have to nag about it, else we could lose our copyright or ability to enforce our license. At any rate, it seems all resolved now, thank you all!

I believe the pixi-spine extension supported loading multiple Spine data versions by including multiple spine-ts runtime versions. This isn't a great idea for a number of reasons. IMO the benefits are not worth the extension complexity and larger runtime size. Also it's usually best not to map all Spine skeleton bones and attachments to scene graph nodes. It's more efficient for a single scene graph node to render the whole skeleton, with some mechanisms to support inserting scene graph nodes into that rendering.

Spine's standard approach for all game toolkits is to require exporting projects using the editor version that matches the runtime version:
http://esotericsoftware.com/spine-versioning#Synchronizing-versions
This simplifies many things, ensuring the runtimes stay lightweight and streamlined. It does mean that users need to re-export their Spine projects when moving to a newer Spine runtime, but with a little organization that should not be onerous. We provide some scripts that can help:
https://github.com/EsotericSoftware/spine-scripts/tree/master/export

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants