Hacker News new | ask | show | jobs
by stouset 13 days ago
Setting aside for a moment whether or not this specific legislation is a good implementation of the idea, I cannot understand how people don’t comprehend that this only happens because there is currently no obligation to release their server binaries or code.

The second that becomes a legal requirement with associated penalties, developers will stop licensing technology under those kinds of terms.

2 comments

Why would developers stop licensing? They will just tear the middleware out and release as-is, leaving the community to fill the API gaps.
Right, they'll stop licensing proprietary sever code. But that in turn drives up the cost of game development since they'd have to either purchase redistributable licenses or develop their own networking software.

I suspect companies will just scale down the servers to 1 instance with bare minimum support. Technically the online service is still active, thereby eliminating the requirements to distribute source code, even if it can only handle a handful of active players and terrible latency.

Why do people keep bringing up source code? It’s just as much a canard as the stupid “nonredistributable middleware” argument.

The ideal way for a game company to keep their game alive after they have stopped supporting it is to build it with that in mind from the start. A lot of the server–side components, such as monitoring, authentication, database storage, moderation, anti–cheat, etc, etc can all be made optional. It’s a small upfront cost, but set up the build system so that you can build without all of those components, or with simpler versions of them. That includes anything you cannot legally redistribute. If your last game used a middleware component that was critical to the functionality of the game but that you cannot redistribute, then you do need to find a replacement for that specific middleware component for your future games.

Then, when the end of life date of your game approaches you simply build the server binaries one last time, this time turning off all of the optional components, and let your customers download it. You don’t have to give them the source code and you don’t have to violate any license agreements in the process. Your customers can arrange for any necessary hosting of the servers themselves, most likely by simply running the server process on their own computer.

And of course the option remains to simply write a single–player game that runs entirely on the customer’s computer, with no networked components at all. It’s a little bit old–school, but lots of game developers manage to make money that way.

Middleware isn't just things like matchmaking. Crucial components like client-side prediction, state reconciliation, and other netcode is often part of it. Stripping out all the proprietary components would leave the game in a non-functional state. This isn't just source code, the developers often have to pay license for each server instance that uses the middleware.

> And of course the option remains to simply write a single–player game that runs entirely on the customer’s computer, with no networked components at all.

So the solution is to just stop developing multiplayer games? This is just a laughable response.

> Stripping out all the [critical] proprietary components would leave the game in a non-functional state.

Correct. This is why I said that there would be multiple responses depending on the type of component. Many proprietary components are not critical and could easily be stripped out without harming the End–of–life version of the game, like matchmaking. But obviously that still leaves the critical ones. For those the game developer would obviously have to avoid any license agreement that would be unduly burdensome once the game was in the EOL state. Either there are already components without these onerous license terms, the existing components will be relicensed, new ones will be written and made available under less onerous licensing terms, or developers will just write their own. The market will provide.

> So the solution is to just stop developing multiplayer games?

No, not to stop developing multiplayer games but to stop putting networked components into single–player games. Remember that this all started with The Crew, which was purely a single–player game that was killed precisely because it nevertheless wouldn’t run if no server was available. If you don’t choose to make that design decision in the first place then this law has no effect on you at all. Your game is automatically safe from being killed when you stop selling it. You won’t have to do anything extra at all for players to keep playing it as long as they want to.

I think if you have a market where you don't license distribution for your software mostly because "hey, you can sell that for more, maybe", then changing the market so that everybody has to buy distribution should actually force the middleware price down, if anything, because they're no longer able to segment their market on it.