In recent days, some discussions popped up about TX stealing licensed code.
Some say Atmosphere is free and could be used in any way because it is open source.
Others state that it is illegal to sell open source software.
Many think "don't know, don't care!"
To put it short: Many users have a misconception about open source software.
So, this thread is to inform users and also discuss about what open source software is.
With the example of TX and Atmosphere I'd like to show how licensing of software affects the distribution of software.
- TX started advertising their modchip SX Pro all the way back in January 2, 2018.
- Development of Atmosphere officially started on January 18, 2018.
- TX released their SX OS "CFW" for free on June 18, 2018.
- On June 27, 2018 hexkyz tweeted a pic of the decrypted SX OS V1.0 source code which contains an easter egg that just so happens to also be in the homebrew launcher used in Atmosphere which is licensed under GPLv2. It should also be worth noting that most of the proof comes from hexkyz, a hacker who is part of ReSwitched. He is the one who supposedly decrypted SX OS in the first place.
- A tweet comparing SX OS V1.2 to V1.3 from July 4, 2018 shows very clear evidence that they knew others found the easter egg when their SX OS was supposedly cracked, so they changed it by obfuscating the original easter egg.
- Here's a tweet from SciresM (one of the main developers behind Atmosphere and a part of ReSwitched) that details another GPL violation. Most of the recent tweets contain more supposed evidence of multiple GPL violations.
- Here is a link to the python script used to decrypt all versions of SX OS (except 1.1) if you want to assure yourself.
Very popular FOSS licenses are GPLv2 (which is explained next) and its siblings LGPLv3 and GPLv3.
GPLv2
- What is GPLv2?
The General Public License (GPL) version 2 is an open source software license. Works based on GPL-based code must be subject to the same terms as the original code. Which means the entire work must be made available in source code form and without license fee obligations. The problem with the GPL is that the license terms are not firmly specified and vague.
- What does that mean?
Anyone is allowed to modify, distribute and even sell GPLv2 licensed software. At the same time, you cannot be held liable and charged for damages which the software may could produce.
To use these rights, there are some obligations, however, which are as follows:
- You must include or give instructions to obtain the original software.
- The source code must be provided alongside the distribution.
- It requires stating significant changes made to software as well as including the full text of the GPLv2.
If you are the copyright holder for the code, you can release it under various different non-exclusive licenses at various times, which means it could be modified and distributed by the copyright holder (e.g. sold as improved product) without providing the source code.
- When does it apply?
GPLv2 is organized into 3 (relevant) sections:
- Section 1 deals with reproduction and distribution of verbatim copies of the Program’s source code.
- Section 2 deals with modifying the source code.
- Section 3 deals with reproduction and distribution of binary code.
Under a plain reading of section 2, if the licensee does not modify the original GPL-licensed program, the Modification Condition and all of its explanatory provisions in section 2 simply do not apply. That leaves sections 1 and 3, governing rights to copy and reproduce in binary or source code forms, neither of which contain any language whatsoever to the effect that merely combining independent works with GPL-licensed code renders the independent works subject to GPL as well.
Even assuming that section 2 regulates the licensee even in the absence of modifications, the GPL's inheritance requirements in section 2 apply only to "works based on the Program".
The GPL defines a “work based on the Program” as “any derivative work under copyright law: that is to say, a work containing the Program or a portion of it ….”
This definition can only sensibly be construed to mean derivative works as defined by applicable copyright law, and not merely collective works or compilations.
Under US law, a derivative work is defined under the US Copyright Act as a work that is:
If the new work contains the program or a copy of it, but nothing more – no modifications, recastings or transformations of that original program – then such work is the functional equivalent of pasting postcard art (linking GPL-licensed code) with ceramic tile (proprietary or non-GPL code).
But if the new code that is added to or linked with the original GPL-licensed code, then the GPL applies to the entire bundle.
Under the assumption that TX used GPLv2 licensed code and modified it (there is enough proof of that), TX has the right to sell copies. It’s part of the definition of free software.
But TX must include a copy of the GPLv2 with the work and provide its source code when someone asks for it (which they obviously have not nor plan to). Also, the GPL states that anyone who receives a copy has the right to redistribute copies, modified or not.
While the dongle and JIG may be legal, the “CFW” called SX OS definitely is not.
The easter egg is only visible in the nx-hbloader repo which is not licensed at all and therefore it’s All Rights Reserved:
Leading to a copyright infringement by TX caused by using nx-hbloader.
Please leave us all comments, queries, and possible suggestions down below. And remember, keep it civil!