Page 1 of 1

Steam group

PostPosted: 22 Apr 2015, 01:19
by dany777
Months ago, i opened a group on Steam for those who like to play STK

I know i sound like advertising, but im looking for Steam players that really can manage a Steam group

Contact me on Steam "Dani The Master Driver" (I might have another name) If you can manage the group well

http://steamcommunity.com/groups/SuperTuxKart

Re: Steam group

PostPosted: 22 Apr 2015, 14:27
by charlie
I just joined (harcile - anagram of charlie).

I have to say, I would like to see STK on Steam. I'd play it more if it were.

Re: Steam group

PostPosted: 24 Apr 2015, 00:49
by hiker
charlie {l Wrote}:I have to say, I would like to see STK on Steam. I'd play it more if it were.


Sorry for a very noobish question - not having used steam myself (embarrassing ;) ): Why would you play it more? Afaik we can't use the steam API (since it is not compatible with GPL), so what other benefits does steam give you?

Thanks!
Joerg

Re: Steam group

PostPosted: 24 Apr 2015, 01:41
by charlie
hiker {l Wrote}:Sorry for a very noobish question - not having used steam myself (embarrassing ;) ): Why would you play it more? Afaik we can't use the steam API (since it is not compatible with GPL), so what other benefits does steam give you?

Thanks!
Joerg

In a word: convenience. I open up Steam, go to my library, play a game. If it's not installed, that gets handled in a couple of clicks. If a game gets updated, Steam updates the game for me. It is painless.

On top of that is Steam cloud, achievements etc. I'm no longer tied to a single PC/laptop.

Is the Steam API really subject to the GPL if a GPL game gets put on Steam? I doubt that very much.

Re: Steam group

PostPosted: 24 Apr 2015, 05:22
by hiker
Hi Charlie,

thanks a lot for your answer!
charlie {l Wrote}:
hiker {l Wrote}:Sorry for a very noobish question - not having used steam myself (embarrassing ;) ): Why would you play it more? Afaik we can't use the steam API (since it is not compatible with GPL), so what other benefits does steam give you?

Thanks!
Joerg

In a word: convenience. I open up Steam, go to my library, play a game. If it's not installed, that gets handled in a couple of clicks. If a game gets updated, Steam updates the game for me. It is painless.

Good reasons. Updating STK in-game is still something I would like to do :)

On top of that is Steam cloud, achievements etc. I'm no longer tied to a single PC/laptop.

Hmm - good point. We have this partially implemented: as long as your local accounts are connected to the same online account, your achievements will be synched. But admittedly not the unlocked tracks/story mode progression (though what would be interesting to do).

Is the Steam API really subject to the GPL if a GPL game gets put on Steam? I doubt that very much.

Now, IANAL, but the GPL section 1states (https://www.gnu.org/copyleft/gpl.html):
For example, Corresponding Source includes ... the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.

So, the moment we use the API, we would exchange data, and would be required to distribute the sources of the steam API implementation. There is a system library exception ("..kernel, window system, and so on...")., but I doubt that one could seriously argue that this applies to steamworks.

The same argument was raised by xonotic (http://xonotic.org/posts/2013/about-xonotic-and-steam/);
Although, Valve doesn’t force a game to use Steamworks, but then we’ll loose the ability to integrate Xonotic into the Steam infrastructure, track statistics, let users earn achievements etc.


So, from my understanding:we can certainly put STK on steam, but are not able to use any of the steamwork features (authentication, friends, achievements, ...). In order to do that, we would need to dual license STK - which is probably impossible given the long history of STK :(

Cheers,
Joerg

Re: Steam group

PostPosted: 24 Apr 2015, 07:34
by Akien
hiker {l Wrote}:
Although, Valve doesn’t force a game to use Steamworks, but then we’ll loose the ability to integrate Xonotic into the Steam infrastructure, track statistics, let users earn achievements etc.


So, from my understanding:we can certainly put STK on steam, but are not able to use any of the steamwork features (authentication, friends, achievements, ...). In order to do that, we would need to dual license STK - which is probably impossible given the long history of STK :(


Tales of Maj'Eyal is distributed on Steam, and it's GPLv3+. I don't know to which extent it makes uses of the Steam API though, but you could probably discuss it with DarkGod, the lead developer (te4.org).

Re: Steam group

PostPosted: 24 Apr 2015, 07:45
by deve
If you are dynamically linking non-free library to your GPL application, is this really illegal? I think that it is at least debatable.

And still you can create new non-free application, for example "stk-steam", which will use steam api. And then communicate between "supertuxkart" and "stk-steam" using sendto/recvfrom or system events...

Though still I don't know what is so good in steam that people want to have it :P

Re: Steam group

PostPosted: 24 Apr 2015, 08:34
by charlie
I think you guys are misunderstanding the language of the GPL.

The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.

Emphasis mine.

If Steam requires your source for its source, and the Steam libraries run against your code, then the GPL is designed to require Steam to be GPL. That's not the case. Your code is interacting with Steam; it is the other way around. The question is not whether your GPL code will infect Steam, but whether the Steam libs are licensed in a way that will not compromise STK by linking against them.

IANAL but I like to think I have a half-decent grasp on the licensing issues.

What you have described could be a way that ANY application could be FORCED to be GPL by a 'user' program. "Hey mate, my GPL app links against yours, time for you to open source mate!" If it sounds that daft, that's because it is daft - and not true.

Re: Steam group

PostPosted: 24 Apr 2015, 15:17
by hiker
charlie {l Wrote}:I think you guys are misunderstanding the language of the GPL.
...
If Steam requires your source for its source, and the Steam libraries run against your code, then the GPL is designed to require Steam to be GPL. That's not the case. Your code is interacting with Steam; it is the other way around. The question is not whether your GPL code will infect Steam, but whether the Steam libs are licensed in a way that will not compromise STK by linking against them.

Hmm - I had another, somewhat longer look (though perhaps still not long enough), and while I know nothing about the steamworks libs, you are (probably - ianal) right with your statement, but it doesn't help us much. I found the following GPL FAQ (https://www.gnu.org/licenses/gpl-faq.ht ... atibleLibs) item:
If you want your program to link against a library not covered by the system library exception, you need to provide permission to do that.
...
Only the copyright holders for the program can legally release their software under these terms. If you wrote the whole program yourself, then assuming your employer or school does not claim the copyright, you are the copyright holder—so you can authorize the exception. But if you want to use parts of other GPL-covered programs by other authors in your code, you cannot authorize the exception for them. You have to get the approval of the copyright holders of those programs.

Again my (rather quick) interpretation: it appears indeed ok to link against non GPL libs, but if we release that version, we need to apply an exception to the GPL, for which all copyright holders need to agree (plus from my understanding the rights holder of any other GPL license lib we might be using) - which leaves us with pretty much the same problem :(

Another web page which seem to confirm this (http://blog.milkingthegnu.org/2008/04/g ... mmies.html):
GPL program + PROPRIETARY library?
...
YES IF the library is really a system library (in the GPL sense) then you can distribute w/o the source of the PROPRIETARY lib
YES IF the library is not a system library then you must provide an exception to the GPL license (described in the FAQ above) in order to distribute w/o the lib source: this does mean you have gotten the authorization of all of the authors if you need to introduce the exception (works just fine if you're the sole author).
YES IF all of the authors (maybe you only if you're the sole author) of the GPL program agree to relicense the program under a permissive license like the X/MIT for instance

(though imho that web page provides an incorrect link to the GPL FAQ).
...
What you have described could be a way that ANY application could be FORCED to be GPL by a 'user' program. "Hey mate, my GPL app links against yours, time for you to open source mate!" If it sounds that daft, that's because it is daft - and not true.

True enough (though I thought more along the line that you would not be allowed to distribute a GPL'ed program linked against a non-GPL lib - which is not as daft ;).

Maybe I should start looking at the list of contributors ;)

Thanks a lot!
Joerg

Re: Steam group

PostPosted: 24 Apr 2015, 19:33
by vlj
charlie {l Wrote}:I think you guys are misunderstanding the language of the GPL.

The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.

Emphasis mine.

If Steam requires your source for its source, and the Steam libraries run against your code, then the GPL is designed to require Steam to be GPL. That's not the case. Your code is interacting with Steam; it is the other way around. The question is not whether your GPL code will infect Steam, but whether the Steam libs are licensed in a way that will not compromise STK by linking against them.

IANAL but I like to think I have a half-decent grasp on the licensing issues.

What you have described could be a way that ANY application could be FORCED to be GPL by a 'user' program. "Hey mate, my GPL app links against yours, time for you to open source mate!" If it sounds that daft, that's because it is daft - and not true.


Actually the GPL allows users to redistribute the program in binary form, ie with the libs it links against. So the users must be allowed to redistribute Steam's DLLs which have their own licence. I don't know if Valve allows these dlls to be redistribued outside of Steam.
You don't need Steam's dlls to be GPLed but you need them to be redistribuable with GPL programs.

Re: Steam group

PostPosted: 24 Apr 2015, 19:41
by vlj
Additionnaly Steamworks API requires to sign an NDA before accessing the libs, it's unlikely they'll provide redistribuable lib for it.

Re: Steam group

PostPosted: 25 Apr 2015, 00:33
by samuncle
Hi

I don't think we need steamwork. GPL programs are allowed in steam but they can't use steamwork. Steamwork is mainly used for stats and stuff like that. We have our own api to get stats.

I think we could go to greenlight and then if we feel the need to have steamwork figuring out how to do it, eventually contacting all previous people who contributed asking them if they are okay to put their code into a dual license etc.

Sam

Re: Steam group

PostPosted: 07 Jun 2015, 13:10
by capricom45
Is this still going? because a dual license can help (like a engine change)