While you're here, please consider supporting GamingOnLinux on:
Reward Tiers: Patreon. Plain Donations: PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Reward Tiers: Patreon. Plain Donations: PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register
- Valve released the Best of Steam - 2024 showing off the highest earners and most played games
- Fan-made PC port of Star Fox 64 is out now
- Open source evolution sim Thrive v0.8 brings more graphics improvements and new game mechanics
- Proton Experimental updated with fixes for Marvel Rivals on Steam Deck / Linux and other game improvements
- ScummVM 2.9.0 is out now for expanded retro gaming support
- > See more over 30 days here
View PC info
View PC info
That's giving the client a bit too much credit, though; I'd say the thing that forces people in their ecosystem is the DRM, and the breadth of the user base they've built over the years, and that's about it. I don't see why the client couldn't be open source, to talk to an API that remains the interface to the locked down DRM.
... it's not as though the client provides specialized libraries, device drivers, & whatnot, that accomplish the relevant tasks (like streaming, chat, the installer, the storefront) uniquely well. It's a decent front end to a well established/entrenched system.
Other companies have worse clients, not because they're unable to figure out Valve's secret sauce, but because they aren't even trying to improve user experience.
View PC info
Steam has lots of legacy and proprietary Source engine components in it such as VGUI which may deter Valve from wanting to release the code.
Steamworks DRM probably isn't an issue, many Steam games don't use it, and the ones that do are as simple as being able to find a valid steam login session from the steam client. Not even necessarily in online mode either.
Overall, I would be happy if Valve did this, but I'm not holding my breath and I don't really care a lot at the end of the day. The only thing that makes the Steam client special is that it connects to Steam. I would be much more excited if Valve simply had a public and well documented API to allow third party Steam clients to be easily made. All the other stuff Steam does well are not crazy hard to implement, even for inexperienced programmers, its just that the designers working for the competing companies are braindead and don't understand what users want out of their storefronts. Epic, Origin etc could all easily out-do Steam if they put in any effort.
Last edited by bonkmaykr on 23 September 2024 at 2:36 am UTC
Absolutely not.
Valve treats open source like most of the industry.
A power sink.
Making something open source is a great way to make it grow and stop being a threat to the way you do business, so they took the power of their biggest dependency/threat(micro$oft) and threw it down the open source hole.
There's just a lot of it, so they're throwing a lot of power down that hole.
The closest you will get is based on its open source dependencies(the client is just a chromium browser)
Last edited by LoudTechie on 23 September 2024 at 12:27 pm UTC
View PC info
They could release their client software under the GPL or MIT or whatever, and then anyone would be able to make a client just like theirs - but the part that matters is the API and being able to talk to their servers, which is entirely separate from the source code of the client. People could make unofficial clients if Valve allowed it, with no access to the source code of the official client. And even if you had the source code, if Valve didn't want to let your unofficial client connect it wouldn't do shit.
With the server software it is even more laughable. Are all we users of Steam going to host our own stores? With humongous servers and all? Even if someone wanted to, all the games by all the publishers are still in Valve's servers and their agreements are with Valve, you would have a store with no games.
Only other big competitors could really benefit from any of that, by taking whatever good parts and incorporating into their own stuff - which is the biggest reason for Valve to not do it. No user would benefit from the extra freedom, but it would be for the benefit of their competitors with no counterpart. But frankly, that wouldn't even be a big deal, wouldn't make the market more competitive or anything: the companies able to compete in this space, and able to maintain such a humongous infrastructure and code base, are big enough that the software is hardly the bottleneck. They can make their own clients and servers in the way they prefer, many already have. They might lack some features, but the biggest problem with the various clients from the various stores are the anti-features, the shit they intentionally broke to better exploit us.
Free and open source isn't a magic solution. A lot of the most hostile, anti-consumer software is at least partially FOSS - Google built it's dystopian monopoly on top of it. In this case we need interoperability and open standards, accountability and user empowerment, not just source code.
It would mean a lot just not for direct competition.
It would make the life of custom launchers like heroic much easier.
It would allow people to build their own personalized clients(they could write their own recommendation algorithms, spoof data provided by the client to the server, provide more or less of the information the client receives to the user, make it more platform compatible, etc.).
It would allow researchers to run localized tests on the server infrastructure without bothering Valve who actually needs that infrastructure.
It could allow all kinds of existing platforms to integrate steam in their offerings.
View PC info
Yeah but the prerequisite to all of that is a properly documented public API; open sourcing the client *without* offering a documented API would make the developers' job only slightly easier -- they'd still need to reverse engineer how to talk to Steam's servers by reading through the client code, which, for all we know, could be a jumble of uncommented hacks.
If truly publish their source code and they plan on working with it in the future allowing it to be spaghetti code is dumb.
Basically all open source contributing involves hours of looking at the relevant source code with sparse to no docs.
As long the naming is correct and consistent and the code mediocre(or better) written you could extract the api info from it without significant testing and beyond that you could still use it for grey box analysis.
https://github.com/OpenSteamClient/OpenSteamClient/issues/45#issue-2190875182, and the tree of the project that it applies to — https://github.com/OpenSteamClient/OpenSteamClient/tree/c%23-remake — should provide what you describe.