Personally, I don't expect open source games to become common any time soon. Here's why.
Making your code open source is feasible when:
- You don't write it to get paid.
- Your software is tied to hardware (which you either sell (automated tools) or own (servers)).
- Your software is something which is expected to be continuously developed (so people pay you to keep improving it).
Games have been and still mostly are a piece of software which is developed until it is done and then sold as it is. Releasing the code would mean that anyone, who is a bit computer savvy or can at least follow a guide, can compile the game and play it for free. There would be no reason to buy the game except to support the developers, which would mean that instead of salary they are fed by donations.
And I can't imagine that majority of game developers would decide to rely on donations.
In case of multiplayer games with servers, developers can compensate this by running the servers, which costs money and would allow for a subscribtion system even when anyone can get the game for free.
Of course if your game is already free to play, there is no reason not to have it open source except that the code uses software with restrictive licenses. Theoretically you could give out only the part you wrote and leave it to users to obtain license for engine etc. on which the game runs so they can build it, but that only moves the problem. Although for software used by many games, like engines, it is less probable that they would get lost.
Lastly, if I'm not missing something, all you need to preserve a game is a working compiled copy and access to environment in which it will run. The source code is still there, the computer can read the instructions and developers should be able to reconstruct source code based on it. It would be a crazy amount of work but it should be possible.
Having the source code accessible would of course be the ideal situation. At best I could see some law which would make game companies hand over code to an archiving institution which could then make it accessible after X years goes by.