13 ms·
The PS1 Game Spongebob Squarepants: Supersponge Violates the GPL
- happycube 7y agoFunny, I had a feeling foone had posted this even before I clicked on it. Seemed like their sorta thing. :)
- forrestthewoods 7y agoWhen I was in games the moment I saw the letters GPL was the moment I closed the tab. GPL code is too dangerous to even read. Stay far far away and hope no one screws up and poisons your entire codebase.
- klez 7y agoBut that's the point, isn't it? Are you developing free software? By all means use this GPL library! You are developing proprietary software? Well, too bad, you don't get to use this code. Either develop it by yourself or look somewhere else. Not that what I'm saying is contrary to what you said, I'm just pointing out that it's by design.
- cesarb 7y agoWhat the parent poster mentioned is not using a GPL library, but merely looking at its code. The thinking is that once someone reads some piece of code (no matter its license), they're "tainted" forever, and any code they ever write in the future could be treated as "subconscious copying" of that code they had read. If one is afraid of including any code under the GPL (or any other specific license), and one subscribes to that "subconscious copying" theory, it makes sense that one would avoid even getting near code under that license like the plague.
- RickSanchez2600 7y agoDoes this mean they can open source the Spongebob game to port it to different platforms?
- spraak 7y agoHow does using GPL impact a SaaS product?
- bendbro 7y agoI wonder if this will impact game archival efforts. Companies may be less likely to permit release of old source (or more likely to take action against those who do release source) knowing legal issues like this may be inside. Is there a statute of limitations here? Could the owner the violated code sue? What happens it they succeed, monetary compensation?
- autoexec 7y ago> I wonder if this will impact game archival efforts. Just one more area where piracy has our backs.
- dev_dull 7y agoHow does piracy aid in convincing companies to release the source code for games?
- simcop2387 7y agoIt doesn't help in convincing them to release things, but the cracks and other things that the pirates develop help the archival purposes. Because a number of the DRM and other anti-piracy stuff that's bundled, once a company goes out of business it's nearly impossible to run some of these games if they had to call home to verify the copy of the game. People removing these checks helps preserve the game for future use once the company is no more. For a great example of this, take a look at City Of Heroes, and MMORPG that's had a relatively recent revival after someone, somehow getting a hold of the data/code for the server and managing to get it running again. https://www.pcgamer.com/a-fully-functioning-city-of-heroes-private-server-has-somehow-been-kept-secret-for-six-years/ https://www.pcgamer.com/a-fully-functioning-city-of-heroes-p... The company itself went out of business back in 2012, and otherwise the game itself was just gone.
- autoexec 7y agoProblems with licensing can make it impossible to sell an artistic work. Even when it may be possible, it can easily be considered too costly in terms of time, money, and/or effort to be worth it to the company currently holding the copyright. In either case an artistic work and a piece of our culture is locked away forever from anyone who isn't interested in breaking the law. Even in a case like this where copies of a game were already released eventually the existing CDs will all be lost, degraded, broken, or unusable. Piracy solves this problem by maintaining playable copies and making them available so a creative work can delight, offend, and inspire indefinitely. In cases where a released work has to be modified to be legal to sell again and a company is willing to make the effort piracy can preserve the work exactly as the artists originally intended. Pirates can do the same in situations where changes are made for other reasons and only the modified works are officially made available. For a great example of that look at the incredible work fans did to restore the original Star Wars.
- RockmanX 7y agowhat's the consequence if someone's product violates GPL ?
- max76 7y agohttps://en.wikipedia.org/wiki/BusyBox#GPL_lawsuits https://en.wikipedia.org/wiki/BusyBox#GPL_lawsuits The author can sue for damages and receive cash.
- dmm 7y agoIf the copyright-holder of the GPL'd work doesn't do anything, the consequences are... nothing. The owners of lots of GPL'd works such as the GNU project tend to take an approach of quiet negotiation. They will contact the violators and attempt to inform them about their responsibilities when distributing GPL'd software. They want software to be free for examination and modification and many violations are unintentional. GPL violations are extremely common, especially with Linux. For example every ip surveillance camera runs Linux/Busybox/etc and I have never seen one that provides source.
- mooman219 7y agoI believe your last statement is incorrect. Applications written entirely by your developers that merely happen to run on a Linux-based operating system, distributed in conjunction with those works (Linux/Busybox/etc), are separate works within the meaning of copyright law. GPL requires you to provide complete and corresponding source for the GPL’d components and your modifications thereto, but not for independent proprietary applications. For example, programs compiled by gcc (GPL) are not considered derived works and therefore don't need to also hold the GPL license. In the case of the topic, that appears to be a violation as the game can be considered a derived work. Most violations are handled on a case by case basis if there is legal action due to the nature of "derived work".
- dmm 7y ago> I believe your last statement is incorrect. If you distribute binary GPL'd software such as the Linux kernel you also have to provide the exact source used to generate those binaries. Because ip cameras are shipped with binary Linux kernel images they should also provide either the exact source used or an offer of how to get the source. > For example, programs compiled by gcc (GPL) are not considered derived works Yep you're right. We probably just misunderstood each other. I was specifically referring to GPL'd components like Linux & Busybox, not any applications that happen to be running on top of them.
- aidenn0 7y agoMore readable link: https://threadreaderapp.com/thread/1137120829005750272.html https://threadreaderapp.com/thread/1137120829005750272.html
- Wowfunhappy 7y agoDoes this mean that any GPL project could reuse source code from this game, under the logic that it all inherently must be GPL licensed? I'm pretty sure the answer is "no", but I'd like to know why, it makes logical sense...
- dcbadacd 7y agoI'm pretty sure the answer is "yes" if the violation is true and the game has been distributed. Tit for tat.
- codetrotter 7y agoIANAL but I don’t think this is true. A person or company that violated the GPL would void the permission granted to them by violating the license and would be liable for having done so. But it would take a court ruling to decide what that means for the parties involved. For example, the court might give the violating party the choice to either release source, OR to keep the source closed but to financially compensate the copyright holder(s) of the code that they violated the license for. For example. Another possible outcome could be that they could say that the violating party is given the choice between releasing the source OR recall the product and financially compensate the copyright holder(s) of the code that they violated the license for. Like I said though, IANAL.
- dcbadacd 7y agoSo there's two options, either the software is released GPL or they have no right to use the source and it's in violation and has to be resolved?
- klodolph 7y agoEither they distribute the source code under a license compatible with the GPL (not necessarily the GPL itself), OR they are committing copyright infringement and must, - negotiate a license, - pay damages, - some other remedy, OR - nothing at all, if nobody with standing (meaning an author of decides to sue. This last option is by far the most likely.
- mhh__ 7y agoWould this mean that only their changes to the GPL would be forced to be made public or the whole piece of software using it?
- Wowfunhappy 7y agoThe whole thing.
- thrower123 7y agoThis is one reason I hate npm. Who really checks that sprawling byzantine dependency tree to make sure that there isn't some micropackage that has a GPL license that could get included and taint the whole thing? I just have the horrors when I look at the package.json file after the front-end folks have been allowed to run free...
- a_t48 7y agoShouldn't this be something that npm could support checking as a first class feature?
- deleted 7y ago[deleted]
- TheAceOfHearts 7y agoThere's tools [0] to help check the licenses of all your dependencies. I think larger companies build up a whitelist of libraries as they're reviewed and approved. [0] https://github.com/davglass/license-checker https://github.com/davglass/license-checker
- nfriedly 7y agoYep. When I was at IBM, part of releasing something was a review every of dependency and it's license. The stuff I worked on wasn't allowed to include any GPL code. (Or WTFPL, for that matter, but I think that had more to do with curse words than actual license issues.)
- ocdtrekkie 7y agoPart of me wants to express the irritation that people being neurotic about the GPL could cost us access to old games like this. I worry that someone overzealous would take down source for an 18 year old PS1 game over it.
- dcbadacd 7y agoThe archivist in me loses this fight, I feel general adhering to software freedoms is more important and the greater good compared to a single game.
- ocdtrekkie 7y agoA "single game" is unlikely to be affected. Many games are likely violating the GPL, and it's likely that if there are takedowns because of it, there will be a chilling effect on future source code release. Are you really protecting software freedoms if it ends up, in fact, discouraging the process of freeing more software?
- dcbadacd 7y agoWell, it's not freeing software unless they release the game GPL, if they don't then they're just illegally using GPL source code making the source far from anything free.
- pawjs 7y agoYou talk about software freedom, but I think there's no greatest freedom than being able to use whatever software I want to create something humanity will enjoy.
- yjftsjthsd-h 7y agoYes, of course. It's just that if the software you use (well, incorporate) is GPL-licensed then you also get to release the source code for something humanity will enjoy:)
- 7y ago
- Sniffnoy 7y agoNon-mobile link: https://twitter.com/foone/status/1137120829005750272 https://twitter.com/foone/status/1137120829005750272
- microcolonel 7y agoI'm guessing nobody ever asked for the source code, so maybe it wasn't that violating, and now we know it's GPL. ;- )
- saagarjha 7y agoWell, the GPL requires that they have the license text available somewhere.
- peatmoss 7y agoI wonder if there’s an ML approach that could be used to fingerprint binaries compiled from GPL code. Then I wonder if that could be used to justify discovery / win a suit. I have no idea how this would work, but it strikes me as plausible?
- duxup 7y agoThat strikes me as sort of like dmca spam you see from music companies...
- segfaultbuserr 7y ago> fingerprint binaries compiled from GPL code I think it's actually a good idea for discovering GPL violations, but false-positives are a real issue: it's trivial to reuse public-domain or BSD code and relicense them in a GPL program, and it's not uncommon obtain a separate license/exemption from the copyright holder. Also, some things are not even copyrightable (e.g. a lookup table of generic data). Discovering identical code snippets don't always mean a GPL violation. But as long as the threshold is not too low and a real human (instead of a robot) is reviewing them case-by-case, I think it's okay.
- eru 7y agoYou could use it for discovery. To win a suit you still need to get someone with standing to sue in the first place. That's often harder.
- hermitdev 7y agoWhat are the violations? The twitter post just states that GPL was violated, but no evidence offered. Edit: I'm looking at it on mobile, and the only link seems to be a self referential link, not to anything of substance.
- caf 7y agoIf you read the full thread they took the vsprintf() implementation from the Linux kernel circa year 2000.
- NikkiA 7y agoThe proof for that seems to be the existance of 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz I guess this comment is now a) vsprintf and b) a gpl violation, too.
- ignoranceprior 7y agoThe leaked game source code: https://github.com/philosophofee/SBSPSS/blob/5c41694e561de9ce8d763d31ad22bbe595be09ca/source/system/vsprintf.cpp https://github.com/philosophofee/SBSPSS/blob/5c41694e561de9c... The Linux kernel code: https://github.com/zavg/linux-0.01/blob/5839d67d5825265fc665c9dc0ec2e767ff47a6dd/kernel/vsprintf.c https://github.com/zavg/linux-0.01/blob/5839d67d5825265fc665...
- quickthrower2 7y agoSurely your comment isn't a GPL violation! If so then I am going to release a GPL project with every word in the dictionary, so that all comments are GPL violations.
- vortico 7y agoScroll down one tweet.
- xattt 7y agoThere’s a whole thread below the top post.
- AdmiralAsshat 7y agoA page with other prototypes and builds from this company may be seen here: https://hiddenpalace.org/Climax_lot https://hiddenpalace.org/Climax_lot From the looks of it, Climax Group primarily developed licensed games and shovelware. Say what you will about the quality, but from the number of build dates for each game, they clearly had their shit together with respect to version control.
- esaym 7y ago>A page with other prototypes and builds from this company may be seen here: That is an insane amount of data! Very impressive.
- superdisk 7y agoSuper cool that the entire soundtrack is a bunch of FastTracker 2 XM files.
- estebank 7y agoI'm surprised that no comment has extrapolated that since this was a vsprintf implementation copy, the final binary would be non compliant only if the machine code generated for it was distributed, but if it was only used for debugging internal builds (as I would assume), then the original developers didn't run afoul of the license. Am I incorrect in my understanding?
- deleted 7y ago[deleted]
- monocasa 7y agoThe author notes that they were able to find constants that the code uses in the binary, so odds are it was at least partially distributed.
- patmcc 7y agoThe constants mentioned are the following: "01234567890abcdefghijklmnopqrstuvwxyz" and "01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ" It's very possible that separate implementations of this function would use those same constants. It's not as if they're some completely arbitrary strings.
- monocasa 7y agoWhen these constants don't appear elsewhere in the source? And what, they'd have another implementation of this function, but have a different one with their code because... reasons?
- patmcc 7y agoI mean, if you got "the source code" for a project at my work, you might get the raw source for Project A and then a bunch of already compiled libraries we put together for use, some of which could do similar things to existing code. But yah it's probably from Linux, I just don't think the constants alone are a smoking gun.
- 7y ago
- vortico 7y agoHow many KB or lines is the vsprintf implementation they used? Just curious.
- arve0 7y ago227 lines, 4.62 kB. https://github.com/zavg/linux-0.01/blob/5839d67d5825265fc665c9dc0ec2e767ff47a6dd/kernel/vsprintf.c https://github.com/zavg/linux-0.01/blob/5839d67d5825265fc665...
- liveoneggs 7y agohttps://github.com/philosophofee/SBSPSS/blob/master/source/system/vsprintf.cpp https://github.com/philosophofee/SBSPSS/blob/master/source/s... looks like they copied it from a website talking about linux
- deleted 7y ago[deleted]
- Rebelgecko 7y agoIsn't it fine since they've released the source?
- Narishma 7y agoThey didn't release the source.
- icebraining 7y agoPlus that wouldn't be enough, it'd have to be released under a license with the same rights (lots of source out there is just for viewing, and can't be reused).
- colemickens 7y agoLove clicking on twitter links and being completely confused. They've just stopped showing threads and replies on the non-JS page anymore. This is what we see, and this does appear to be a recent change: https://imgur.com/94u95no https://imgur.com/94u95no there's nothing below this, this is the full page.
- spraak 7y agoBut imgur works without JS?
- colemickens 7y agoI don't understand what imgur has to do with Twitter deciding to stop serving content to browsers with JS disabled? I was just trying to explain why some of us were confused -- until I tweaked NoScript, the first tweet is shown by itself and is sort of perplexing without the rest of the thread as context.
- Endy 7y agoThe more we harp on license, the less we can actually save. The problem isn't that it's GPL. The p problem is that GPL is as much a part of the copywrong system as any other license. Three years is inordinately long to support an offline game like that, especially a licensed one. And frankly, I think in the license wars, I have to back Nickelodeon over GNU-GPL folks.
- icebraining 7y agoYou can avoid the requirement to offer it for three years by shipping the source along with the binary. It's one or the other, not both.
- mnd999 7y agoThere are plenty of BSD licensed implementations of this surely. There was no need to use GPLed code in this context.
- tmm84 7y agoI agree but most PS1 games were compiled using GCC. The developers probably got used to using GPLed tools and forgot something like this would change the license of their software (even if it wasn't actively used).
- davb 7y agoI'm less interested in the GPL violation aspect, and mot excited to get an insight into what it was like to work on that team, 20 years ago. Minutiae like how to burn a build to CD https://twitter.com/0xGradius/status/1137123492329951232?s=19 https://twitter.com/0xGradius/status/1137123492329951232?s=1... feels like a window into the past.
- louthy 7y agoBurning a build CD wasn’t anything special, the PS1 dev kits read normal CDs (didn’t have the copy protection). Burning of any CD was flaky back in the day (lack of decent buffering)
- davb 7y agoI remember having an old 2x Traxdata drive with almost no buffer - so I certainly lived through the hassle of early drives. It's just exciting to read about other peoples' work flows.
- frou_dh 7y agoMaybe it's a wake-up call for the contemporary prissy developer blogging about coding font ligatures, to learn that whatever masterpiece games they enjoyed in their youth were made in crappy OS using crappy tools and with dodgy coding styles.
- davb 7y agoAbsolutely - I think we could all benefit from being more pragmatic and not sweating the small stuff.
- scraft 7y agoI hate all this stuff, I wish Google just blocked all GPL code for me so I never had to see any of it. I have committed to many open source projects and have open soured my own projects. Of course I appreciate anyone is free to use what ever license they like but I do find is frustrating that a game (which is a complex piece of software taking lots of development time) gets picked apart because of a string formatting function, which should really have been available in the system libs, but as it wasn't a quick replacement was grabbed, with a small amount of extra time I suspect a replacement could have been found which wasn't GPL. But due to the lack of care, understanding, appreciation, someone could get their meathooks into the developer/publisher and cause harm. The software didn't sell because of this stupid function, the stupid function almost certainly existed, GPL free in many places, the GPL version had no value at all over any other version, yet where the developer cut and pasted from can have such catastrophic consequences. If it makes no difference to the end binary I feel like a dev should just be able to find or write an alternative and say you are right, that slipped through, sorry, we have now replaced it in our code tree with this version, it makes 0 difference to the end product, so building and shipping a new version would make no difference, simply making this change in our source tree effectively resolves the issue.
- jfoster 7y agoIn this particular case it seems fairly unlikely that there will be any significant consequences. At worst, the game source code might now be forced into a GPL license. It's mostly worthless at this point anyway. It is interesting to wonder how this case may have been handled if it was overall more relevant, though. I think a court might assess the actual value of that one function and say that it was something like fair use. Might be a bigger problem if there's a lot more, though.