7 ms·
> open source server code if you are going to cease support When I was a senior exec at a big public tech company, there was a product we decided to discontinu
by mrandish 5mo ago
> open source server code if you are going to cease support
When I was a senior exec at a big public tech company, there was a product we decided to discontinue and we thought would be nice to just open source. Somehow I ended up in charge of managing that process and was shocked at how complex, time-consuming and expensive it was in a multi-billion dollar, publicly-traded corp vs some code my friends and I wrote.
Legal had to verify that there was no licensed library code used and that we had clear, valid copyright to everything there. The project had been written over several years, merged with a project we'd acquired with a startup, some key people weren't around any more, the source control had transitioned across multiple platforms, etc. And even once we nailed all that down sufficiently, we didn't get an "all clear" from legal, we just got a formal legal opinion that any liability was probably under $1M. And then we had to convince an SVP to endorse that assumption of $1M potential liability and make a business case for approval to the CEO.
For a public company, the default assumption for any online game would be "the server side code WILL be open sourced" (under threat of prosecution). That means legal would mandate "No commercially licensed libraries can be used, any open source libraries will have to be vetted to ensure the license is compatible and everything else will need to pass IP and compliance audit." That will certainly have an impact on development time frames and economics.
- gbear605 5mo agoThat’s exactly the benefit of a law - it’s a forcing measure to require businesses to invest in processes to understand open sourcing, and to go forward when otherwise no one would make a business case for approval.
- brobdingnagians 5mo agoAnd makes it more expensive. There is the seen benefit and then the unseen cost. Every game released will have to account for the possibility of it, and will create issues for people who really didn't want those issues. After awhile people will forget there are associated issues and costs, but they will still be there.
- sowbug 5mo agoPutting on my Pollyanna hat... Or it could make it a lot cheaper, if the server were developed entirely on open-source infrastructure from the start. Hopefully the actual game logic would be developed entirely in-house, making it easier to audit before releasing.
- jurgenburgen 5mo agoMost likely the engine providers would spin off their server components as OSS for this express purpose so their customers can easily comply. This regulation could be a huge win for making the game industry adopt more OSS.
- fluoridation 5mo agoEvery game released whose developers have chosen to complicate its design with a client-server architecture. It's not like this is going to hurt the little three-man teams making games on shoe-string budgets. Yeah, it's going to make big budget games a little more expensive, just like how cars with seatbelts are a little more expensive to build, and like how it's a little more expensive to do proper waste management instead of dumping sludge into a river.
- hparadiz 5mo agoWhat? This a mandate in law that requires a company to do work in order to comply. Studios will spin out LLCs for a game so that if it fails it doesn't end up as a liability. Unintended consequence: more dead games.
- fluoridation 5mo agoIt's impossible for the law to cause more games to die, because already the default fate of online games is for them to die. If, with the law, a studio chooses to use an LLC to create the game to conditionally release sources once it shuts down, that was a game that without the law would have died anyway because the studio wouldn't have chosen of its own volition to release sources.
- socalgal2 5mo agoYes, an many indie devs will not be able to clear it.
- deleted 5mo ago[deleted]
- duxup 5mo agoSeems like it would it would put smaller developers in a bind / limit what games even bother with server side systems.
- dudul 5mo agoIs your argument that companies would be forced to obey the laws if they are mandated to open source discontinued games? And it's a... bad thing?
- avarun 5mo agoHuh? The point is that game developers would never be able to use commercial libraries again. Thus making all development significantly more expensive.
- wsve 5mo agoBut what commercial software licenses are you using to write backend server architecture for a video game? There's no need for a dependency on FMOD or anything (unless you're doing something very unusual)
- rahkiin 5mo agoBig AAA games have access to Unreal or Unity code and they change the code to fit their needs. They are not able to share the Unity/Unreal code
- account42 5mo agoThey are not able to share that code now because licensing the code in a way that it cannot be shared is currently a viable business model for Unreal and Unity - that would change with the proposed law and the middle ware providers will be forced to adopt different terms if they want to continue existing.
- thombat 5mo agoNot OP, but it's more the warning not to underestimate the cost required for compliance, and apprehension of this cost may deter their creation.
- thombat 5mo agoThe final phase of Symbian OS was becoming the open-source Symbian Foundation. This required the existing codebase, hundreds of thousands of files, to be categorised properly (mostly homegrown, some acquired, some licensed) and where necessary restructured so that each directory only had one kind. Painful, exacting, tedious archaeology which all-but-froze development for weeks. Like a long-deferred merge, the cost to pay for belatedly resolving a mess of licenses is daunting.
- throwaway85825 5mo agoOnly retroactively.
- foresto 5mo agoOf course, it would also create a demand for open-source game server libraries, which would surely appear after a while and make the whole process much easier. So while I believe you about all those difficulties existing today, it's plausible that they would mostly fade away over time. I think temporary growing pains would be an acceptable price for the significant long-term public benefit.
- throwaway85825 5mo agoUnreal is open access but not open source.
- deleted 5mo ago[deleted]
- guelo 5mo agoIf the bill is properly worded open sourcing the code shouldn't imply that all 3rd party libraries also have to be open sourced.
- mrandish 5mo ago> shouldn't imply that all 3rd party libraries also have to be open sourced. That's a very reasonable way to address the issue of 3rd party licensed IP. I expect something like that will get incorporated into the legislation. In fact, I'm confident it will because well-funded lobbyists will ensure that common sense concern and its very reasonable solution are heard. Then Electronic Arts and Microsoft will sell their existing server code to newly formed companies (which they happen to own). Then their captive game studios will start releasing new versions where the publicly released "server source code" is five pages of #IfDefs followed by a call to "Start_Totally_3rd_Party_GameServer" in the new library that's not required to be included in the mandated release. For extra credit, the newly formed 3rd party entity will be incorporated and domiciled in Ireland, Malta or whatever country is currently most tax and currency exchange advantaged. Then the license fees their captive studios have to pay to use the 3rd party library get offshored and tax sheltered - while being large enough amounts to prove this definitely isn't a sham transaction! To be clear, I don't approve of this myself. In fact, I hate it. But I worked at a high level in a top ten publicly traded tech giant long enough to see how the armies of soul-eating MBAs, lawyers, consultants and lobbyists can subvert anything. Fortunately, only half my soul was eaten and some of it has regrown.
- account42 5mo agoIt should if it wants to prevent malicious compliance by spinning out essentially the whole server into a "third party" library.
- Nition 5mo agoNah, you just open source it in a broken state without anything that had separate licensing, so nobody is happy and the law is followed.
- mrandish 5mo ago> so nobody is happy and the law is followed. An outcome so common they invented a word for it: https://en.wikipedia.org/wiki/Malicious_compliance https://en.wikipedia.org/wiki/Malicious_compliance
- JacobKfromIRC 5mo agoThis would be a way better outcome than the current default. I've even seen this suggested before [1]. If game-specific logic is not public, information needed for reverse engineering could be completely missing, but if game-specific logic is available plus the names of the missing libraries, reconstruction of the game should be possible eventually. [1] https://drewdevault.com/blog/Open-sourcing-video-games/ https://drewdevault.com/blog/Open-sourcing-video-games/ (See "What if I don’t completely own my game?")
- account42 5mo agoYes, partial source is still very useful. I don't think the law should allow for it though as companies could intentionally put as much as possible into "proprietary" libraries that they conveniently only license for binary distribution from a totally unrelated company that for no reason at all is owned by the same stakeholders. Much better to just require everything to be there and then have the industry adapt.
- account42 5mo agoThis is already common with source releases for games and it is much much much better than no source release at all. A lot of the proprietary middle ware ends up being not that hard to replace after all.
- whateverboat 5mo agoTo be fair, it was in a time and age where BOM was not that common. I am assuming nowadays, with BOMs being in place, the process should be much easier.
- aaravchen 5mo agoBOMs are used when they're legally required or if the company has a sufficiently mature cyber security stance, but those both tend to focus mostly on shipped client code versus server-onlt code. Usually you end up with a highly fragmented set out different "BOMs" that are only present as language-specific lock files for the proteins of code that support it. Lots of games are written in C++ to this day for example so they can eek out every bit of possible performance no matter the trickery required. I would presume this extends to server side of MMOs etc too. C++ has no standard build system even, it's sort of settled on CMake mostly, which has minimal native (working) support for dependencies even, let alone lock files and/or BOMs.
- IG_Semmelweiss 5mo ago> open source server code if you are going to cease support > Legal had to verify that there was no licensed library code used and that we had clear, valid copyright to everything there. I can tell you the other side of that equation. There's no poison pill -short of outright fraud- that will kill an acquisition of a software company, than open source code embedded deep in the product. I've been in both sides of the table of M&A activity, and in the due dilligence, smart acquirers will always look at the code and libraries in use. If there's anything that even has the hint of open source, that is heavily scrutinized: what is open source by default can't be owned by anyone and if it cannot be owned, it doesn't have IP value. Most deals that ran into this issue would stop dead in their tracks, and it would take a while to spin back up, that is if the deal went thru at all
- Capricorn2481 5mo agoI don't follow. What IP value is there in game server code? I would wager usually none. And I would imagine the amount of games made without open source software somewhere in the stack could be counted on one hand. Open source is a pretty broad umbrella. I doubt a company would say Slay The Spire 2 was poisoned by Godot and that there's no IP value.
- gmane 5mo agoI think you miss how sophisticated some game server code is. Taking fighting games for example: they have entire processes to have both clients predict what the other client will do, and then have the server arbitrate the different client solutions into a "fair" result based on latency, player inputs, etc. There are problems that game servers solve that could have applications in other areas, and have a lot of value.
- Capricorn2481 5mo agoSure, I didn't say server code wasn't important, but that doesn't make it an IP concern. Not in the way OP was suggesting.
- 5mo ago
- umvi 5mo agoBetter to just publish the protocols/APIs and let the community roll their own
- mrgaro 5mo agoOften, especially on competitive games, the server is basically a full client, but just without graphics. The server will often run physics simulations etc, so that it can validate that nobody is cheating. Sure, in some cases you can roll your own server, but often it's impossible.
- account42 5mo agoImpossible is too strong of a word.
- deleted 5mo ago[deleted]
- throwaway85825 5mo agoIf the market is big enough licensed libraries will just change their terms.
- marsbars241 5mo agoI’m curious if you think the law would cause companies to keep better track of these things as development happens. If there was tracking for all the shared libraries from the get go, I’m guessing it would have been an easier transition?
- WalterBright 5mo agoThis difficulty has been greatly reduced by git. With git, you can have the complete provenance of every line of code. Git has ended the accusations people have leveled at me for code theft. (I beat them all back because I had meticulous documentation and the accusers always had nothing. Git just made that easy.) For my work, Git (and Github) have been a godsend.
- JoeAltmaier 5mo agoAI today may be able to streamline that process. Have it read and compare the code with what it knows about open source. Many AI engines can also google that and give a comprehensive list of similarities. Reduces the list of things to check by maybe orders of magnitude and months to days.
- watwut 5mo ago> Legal had to verify that there was no licensed library code used Your company did not tracked libraries licenses in the first place?
- acdha 5mo agoConsider that there might be a difference between knowing which licensed libraries you used and verifying that your usage of them fully complied with the current license terms when releasing the source code. For example, licensing a library for binary distribution might not cover releasing a copy of a header file, modified copy of something you got from support before a bug fix made it into a release, some random utilities used for preprocessing data, etc. even though for years your developers might not have made the distinction because it wasn’t open source when they were actively working on it.
- aaravchen 5mo agoAlso, every company I've ever worked at, including ones producing regulated products like medical or home appliances, uses the beuracracy to take the stance of "Considered Risk". Rather than spending all the tone knowing for sure they comply, they make a "best effort" (the level of which varies a lot by company and industry) and bank on never getting closely questioned about the specifics. Releasing publicly is exactly that "closely questioned about the specifics" though.
- watwut 5mo agoThis is a non problem. We use libraries with standard licenses and there is finite set of them - like 4. And I work on fairly large software. If your company has issue achieving this, then it was simply not complying with those licenses. You can go through all licenses just by checking their list in maven. None of that is hard or expensive.
- acdha 5mo agoWe have considerably more than 4, some of which are custom works of companies which have been selling under their terms since the 80s. No, I don’t think it’s a huge problem but if you have a lawyer who doesn’t at least want to check, you need a better lawyer.
- pjmlp 5mo agoThat is already the case in enterprise projects for many years now. Since around 2010, that in most projects I am involved, the CI/CD pipelines can only talk to internal repos with vetted dependencies. You can still do whatever locally, however the build will break when using non authorised dependencies.
- rcxdude 5mo agoMore likely, those commercially licensed libraries will wind up needing to adjust their terms to allow for this kind of release. (Also, legal will basically never give an 'all clear'. That's not their job, their job is to inform you of the risks, and so it's extremely rare that they will not come up with some)
- deleted 5mo ago[deleted]
- account42 5mo ago> That will certainly have an impact on development time frames and economics. I don't think there would be much of an impact long term as third party frameworks would be forced to adapt their licensing or die. It's not like years old source code is really as valuable as some companies pretend. A lot of the pain you experienced is mainly due to making the decision to open source after the code was already written rather than from the start - its really no different than any other late requirements change.