As many of you know, Valve Corporation - the creators of the Half-Life franchise and the Steam digital distribution platform - has recently launched a strategy to bring PC gaming to the living room, through console-like devices called "Steam Machines". The Steam Machines, which will be manufactured by a variety of vendors, will run a Debian-based operating system called "SteamOS". More interestingly, perhaps, for game developers, is the fact that the devices will come with a new kind of touch-based controller, designed by Valve, for mouse-like input.
Only some 2000 copies of this "Steam Controller" has been released to beta testers so far, but from what I gather, the device will connect to the host machine as a regular USB HID device - no new kernel-level driver required. By default, the controller will map its right touchpad to mouse movement input and its left touchpad to the WASD set of keys commonly used for player character movement. However - and this is the salient point - games designed specifically against Valve's Steamworks API will be able to take full advantage of the controller in that they may completely rebind the trackpads and buttons of the controller, and inspect its state directly, via the API. But, since the library is proprietary, this API is effectively "forbidden fruit" for free-as-in-freedom games. Linking Valve's binary Steamworks blob with GPL code, for instance, might require anyone distributing the resulting binary to also release the source code for the Steamworks blob under the GPL - something they cannot do since that code is closed-source and owned by Valve. (An open-source attempt to reverse the Steamworks library, called Open Steamworks, do exist, but in my opinion this amounts to little more than a hack: it will be an endless game of catch-up to stay up to date with the changes that keep being made to the official library.)
This leaves free games in a very disadvantageous situation, compared to proprietary games, on SteamOS. Which is ironic, since part of Valve's motivation for launching their SteamOS strategy in the first place has been to offer gamers and developers a platform that is "as open as possible", compared to its Microsoft and Sony counterparts. It also does not sit well with the fact that the vast majority of the SteamOS platform is composed of components developed by upstream projects like the Linux kernel project and Debian - common courtesy would suggest that Valve should strive to give back on terms reciprocal to those it is itself benefiting from.
I am not really calling for a pitchfork-style uprising, however. So far, Valve's approach to this whole project has been decent: back in December, Valve joined the Linux Foundation as a Silver-level member, and just a few days ago they've offered all official Debian developers free access to all past and future Valve-produced games. Thus, what I think would be more constructive, would be to write up some kind of statement, laying out what our issue with Valve's licensing is, and requesting that it be resolved in some manner. The easiest solution would be for them to simple release the source code for the library under a free (and GPL-compatible) license, but there could be issues such as the presence of proprietary code from third-parties in the codebase to take into account, in which case alternatives would need to be agreed upon.
So, what do you think? I'm particularly interested in hearing from the active FOSS game developers in this forum: might you be willing to discuss and potentially undersign such a statement to be sent to Valve?
Thanks.