←back to thread

431 points dangle1 | 1 comments | | HN request time: 0s | source
Show context
fsflover ◴[] No.41861478[source]
Related: https://news.ycombinator.com/item?id=41662105

Winamp contained modified GPL code, violating the GPL (github.com/winampdesktop)

18 points by mepian 19 days ago | 6 comments

replies(2): >>41861657 #>>41861961 #
bscphil ◴[] No.41861961[source]
I can't see the original issue, but it's interesting that the title chooses to highlight the fact that the GPL code was modified. Actually, under the GPL, this fact is immaterial. If the Winamp player contained any GPL code at all, modified or not, then it is a derivative work of that GPL code and anyone receiving a copy of Winamp is entitled to demand the full corresponding source be provided under a GPL license.
replies(4): >>41862254 #>>41862325 #>>41863354 #>>41864002 #
1. hinkley ◴[] No.41863354[source]
Winamp came onto the scene about the time I was learning to really code and there were a few projects I didn’t start because the wisdom at the time was of a poison pill/ship of Theseus variety: if you use code you didn’t write as scaffolding to write a new system, even once you’ve replaced all of the sections of the code you borrowed with completely new code, you are still stuck with the old license.

One of the reasons libraries are useful. You can replace the library in one go and if you do it right (ie, don’t replace it by the same modification process described above) the license is moot.

I worked for a company that did sales in Europe and we ran afoul of a public domain library. At the time the EU didn’t recognize PD release as a legal act. One library was easy enough to replace with a similar one, the other had no suitable peer. Luckily the library we used was small and we didn’t use much of it, but that use was important.

I wrote a bunch more unit and functional tests in our code to serve as pinning tests, then asked a lead dev on another team to write a library to replace it without referring back to the existing code. I’d stepped through it enough I could practically rewrite it from memory. I knew that wouldn’t stand up legally, but he had no reason to obsess about that part of the code. Nearly took me longer to explain the gambit to him than it did for him to complete the task once he understood it.