Hacker News new | ask | show | jobs
by kaslai 1645 days ago
The GPL requires that any derivative work of GPL licensed code must also be licensed under the same (or compatible) license as the original GPL'd code. This is the "viral" aspect of the license. It applies even if the only interface between your code and the GPL code is dynamic linking, and not a single line of the GPL'd code is in your application.

There are acceptable ways to bundle GPL code with closed source software in a single distributable, however it must be made clear which parts of the distribution are licensed under the GPL and the GPL license must be clearly present. Even in the most charitable reading of the situation, TikTok violated this basic requirement.

1 comments

And why is it important for GPL to be honoured in this case? Like.. what protection is GPL providing here and to whom exactly?
It's important to honor the GPL here because these are the terms that the code was licensed to TikTok under. By violating the terms of the license, TikTok forfeits their right to use the code.

This is intended to protect the freedoms of the whole world, more or less. The GPL is intended to make software free and open for everyone, regardless of what their purpose of using the software for is. Free, Libre, Open Source Software is very valuable at this point, and the GPL generally mandates that you contribute back to the pool of FLOSS if you seek to benefit from it, making FLOSS even more valuable for everyone.

There is nothing forcing a company like TikTok to use GPL'd code in their software. Lord knows they have enough money to engineer a similar solution from the ground up, but they chose to use GPL'd code so they need to play by GPL rules.

So that the recipients of the code have the four freedoms defined by the FSF:

https://www.gnu.org/philosophy/free-sw.en.html

    A program is free software if the program's users have the four essential freedoms: [1]

    The freedom to run the program as you wish, for any purpose (freedom 0).
    The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
    The freedom to redistribute copies so you can help others (freedom 2).
    The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.