premake-core icon indicating copy to clipboard operation
premake-core copied to clipboard

Policy on console modules

Open redorav opened this issue 7 years ago • 17 comments

I would like to see if I can tackle creating projects for PS4, Xbox One and Switch? I'm finding premake to be fun to work on and I'd like to try and create modules for these. What I don't know is how open the platform holders are. Judging from GENie (the premake fork) ps4 and xbox one didn't seem to need any special care whereas for Nintendo they had to ask for permission.

Any thoughts?

redorav avatar Apr 13 '18 10:04 redorav

I know that Blizzard had a premake module for consoles on their github and I based the one we use on theirs (thanks by the way). However, they either deleted it or passed it private some time ago. Maybe @tvandijck knows why?

I looked at the GENie repo and it seems they contacted Nintendo before adding support and their request was to be contacted for any new implementation to green light them I suppose. I think this is the correct way to go, contacting each constructor and getting their approval.

Do you have such contacts? If not, I can take care of this if needed.

Lastly, I could probably open our console module but I need to check and probably clean it a little.

tdesveauxPKFX avatar Apr 13 '18 12:04 tdesveauxPKFX

I got some flack for it from our legal department, and had to make the repository private. I'm sure it can be shared with licensees, but I don't think it can be done publicly... I know Sony actually has their own extensions for premake for PS4 as well, so it's not like it's impossible, or not done yet. It's just not made public.

I'm not longer with Blizzard, so maybe you can ask @TurkeyMan or @pdoane-blizzard about their module, and see if Blizzard is willing to share their latest with you, and indeed if Sony and Microsoft have no objections, I'd love for all of that work to be made public again.

tvandijck avatar Apr 13 '18 13:04 tvandijck

I know of several such modules, and have written a couple myself, but unfortunately have never been allowed to release them. I'm biased of course, but never could understand how a few tool names and compiler switches could require so much legal protection.

Once upon a time I was able to find some make and project files scattered in open source projects like COLLADA, and base some work on that. But I haven't seen anything like that recently.

starkos avatar Apr 13 '18 14:04 starkos

Thanks for your replies, I see there's a lot of interest and previous work regarding this!

@tdesveauxPKFX At work I've sometimes had contact with people at Sony but never done for an open source project, especially since it's unrelated (at work we integrate these in a different build system instead of premake) so any help in this regard will be appreciated. I will ask around here to see who I should contact and let you know.

It would be amazing if Blizzard could share their code. I guess in the worst case, if they can't for legal reasons we can always write a new one once the permission is obtained? GENie must have gone through a similar process.

As an aside, how did premake obtain permission to do the Xbox 360 module?

redorav avatar Apr 13 '18 17:04 redorav

Since we have (some of) the PS3 and Xbox360 stuff in core, I wouldn't mind seeing those moved into a module too. Probably easier said than done though, but yeah, I'm keen to see the consoles supported in core too!

samsinsane avatar Apr 15 '18 11:04 samsinsane

As a quick update, I've got a working NX module I developed over the weekend. I figured it was a step in the right direction even if Blizzard can share their work since it seemed to me from @tvandijck's comment like they don't have a Switch module. It needs a bit more work but it already compiles, reads flags, has some new APIs, is debuggable, etc. @tdesveauxPKFX I've asked around at work but haven't been able to get direct contacts so if there's any chance of you contacting Nintendo (and the others of course) more directly it would be great.

redorav avatar Apr 16 '18 12:04 redorav

So, I also asked and I should be able to use our contacts but I am waiting the final confirmation about this (which will be tomorrow morning, Paris time).

About sharing our own implementation, I have confirmation that, depending on the constructor approval, I can shared what we have. This includes implementation for Xone, PS4 and Switch.

tdesveauxPKFX avatar Apr 16 '18 13:04 tdesveauxPKFX

That sounds really cool! Thanks for looking into it. I don't mind scrapping (or re-purposing) the stuff I currently have as yours is probably battle-tested and production ready.

redorav avatar Apr 16 '18 13:04 redorav

@redorav said:

As an aside, how did premake obtain permission to do the Xbox 360 module?

It didn't. Those are the bits that I was able to glean from the open source COLLADA project, plus a few additions made by later contributors.

starkos avatar Apr 16 '18 18:04 starkos

So I got the greenlight to contact Microsoft, Sony and Nintendo through our account managers. I will let you know when I have further information.

tdesveauxPKFX avatar Apr 17 '18 09:04 tdesveauxPKFX

This has been a long-desired initiative, thanks for taking the time to contact those parties! If/when you produce modules for those platforms, please include text that demonstrates permission is granted by the platforms holders in the header of the source files?

TurkeyMan avatar Apr 17 '18 18:04 TurkeyMan

@tdesveauxPKFX Just bumping the thread a bit, did this get anywhere in the end?

redorav avatar Aug 02 '18 16:08 redorav

Wow, sorry, I should have given an update.

I had a call with our Nintendo contact to talk about this and the answer I got was that we can't open source our implementation, we would need a private repository which we would give access to confirmed Nintendo Switch developer only. We would also need to maintain and provide support on the module.

Personally, I have several other responsibilities which will keep me busy at least until Feb/March 2019 as far as I can see so I don't feel I have the leeway to provide decent support on this.

I did not receive response from either Sony or Microsoft.

I would have liked to push this further but I really can't at the moment. If you want to take this up, I don't think anyone would be against it and you may have better luck than myself. If a console module ever come to be created, I will gladly share what we have here.

tdesveauxPKFX avatar Aug 02 '18 17:08 tdesveauxPKFX

I was wondering if there's been any progress on this, we would love to move from cmake to premake for our project if it's usable on consoles, but we're not sure if it's that's the case or not

DeltaW0x avatar May 04 '25 02:05 DeltaW0x

We have made no efforts to build console modules. It's enough of a legal headache, and we have had higher priority things pop up. If specific console vendors reach out, we'd definitely evaluate it, but the license agreements are pretty strict last I looked.

nickclark2016 avatar May 04 '25 02:05 nickclark2016

Fair enough, I imagine everything console related is always a pain, we'll see if we can extend premake for ourselves and publish it under an NDA private repo with autorization, at the very least

DeltaW0x avatar May 04 '25 02:05 DeltaW0x

Don't know how relevant they still are but there are some console modules.

https://github.com/Blizzard/premake-consoles https://github.com/redorav/premake-xbox360

tritao avatar May 18 '25 12:05 tritao