• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Site › dolphin-emu.org articles v
« Previous 1 2

Relicensing Dolphin: The long road to GPLv2+
View New Posts | View Today's Posts

Pages (5): « Previous 1 2 3 4 5 Next »
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Relicensing Dolphin: The long road to GPLv2+
05-30-2015, 06:22 AM
#11
Aleron Ives Offline
Senior Member
****
Posts: 663
Threads: 7
Joined: Apr 2014
AFAIK the main reason Dolphin needs to be GPLv3 is so that the Android version can continue to grow. If Dolphin stayed strictly GPLv2, then Android development would have to stop.

As for what the GPLv3 brings to the table that the GPLv2 doesn't have, AFAIK the main reason for the GPLv3 was to prevent "TiVoization" of software, which is so named because TiVo managed to use a loophole to violate the spirit of the GPLv2 without breaking the letter of the licence.

In short, the GPL says that if you use GPL software in your product, you can modify the software, but you must release the source code for any changes you make. TiVo uses Linux in its DVR firmware, so TiVo was required to release the source code for its DVR firmware (which it did); however, doing this potentially posed a problem for TiVo: if the source code for the TiVo firmware was available, then people could modify it to create custom TiVo firmware (e.g. to disable the requirement for having an active TiVo subscription) and then run that firmware on their TiVos. In order to prevent this, TiVo used special hardware restrictions in every DVR so that if a user tried to run unsanctioned firware, the TiVo would reject it. In this way, TiVo was able to technically respect the GPLv2 by releasing the source code for its firmware, but the company managed to prevent people from actually doing anything with that source code by making sure that no TiVo unit would let you run modified firmware that you built from the source code yourself.

The GPLv3 was devised to explicitly say that releasing the source code to your software isn't enough; you also can't employ hardware restrictions to prevent people from using your GPLv3 software.
Find
Reply
05-30-2015, 10:47 AM
#12
AnyOldName3 Offline
First Random post over 9000
*******
Posts: 3,418
Threads: 1
Joined: Feb 2012
So were I to make custom HD Wiis which were an x86-64 PC which you had to pay a subscription to use which ran a Dolphin derivative, but made the device self destruct if the compiled software didn't hash to one specific value, and release the source code for this self-destructing subscription Dolphin, how allowable would this be now? I'm getting the impression that a couple of weeks ago, this would have been fine, as we were GPLv2, and with just GPLv3 it wouldn't be okay, but with GPLv2+, do I have to adhere with the stricter or least strict licence? I don't fully see how we can make everyone happy - either we've just added new restrictions, or we've not gained the ability to link to software which doesn't want to end up as a dependency of kamikaze ransom Dolphin.
OS: Windows 10 64 bit Professional
CPU: Intel i5 4670K @3.4GHz... for now @4.6GHz with a quick and dirty (yet stable) OC. May get faster in a bit before the end of time.
RAM: 16GB (Down from 24 GB after some was given to siblings)
GPU: Radeon Vega 56
Find
Reply
05-30-2015, 01:44 PM
#13
Fiora Offline
x86 JIT Princess
**********
Developers (Some Administrators and Super Moderators)
Posts: 238
Threads: 0
Joined: Aug 2014
GPLv2+ means you can pick whichever you want.
Website Find
Reply
05-30-2015, 01:59 PM
#14
MayImilae Offline
Princess of Optimism
**********
Administrators
Posts: 3,984
Threads: 110
Joined: Mar 2011
Just to clarify, Dolphin moved to GPLv2+, not GPLv3.
[Image: RPvlSEt.png]
Windows 10 x64 | Core i9-9900k | NVIDIA GeForce RTX 2080Ti FE (x2)| 32GB DDR4-3000 | Asus Xonar Essence STX on Logitech Z-2300 | Logitech G500
MacBook Pro 13in mid-2018 with Touch Bar | macOS 10.14 | Core i7-8559U @ 4.5ghz | Intel Iris Plus Graphics 655 | 16GB 2133MHz LPDDR3
Find
Reply
05-30-2015, 04:16 PM
#15
ssakash Offline
Bositman's slave
**
Posts: 19
Threads: 0
Joined: Jan 2015
(05-30-2015, 06:22 AM)Aleron Ives Wrote: AFAIK the main reason Dolphin needs to be GPLv3 is so that the Android version can continue to grow. If Dolphin stayed strictly GPLv2, then Android development would have to stop.

As for what the GPLv3 brings to the table that the GPLv2 doesn't have, AFAIK the main reason for the GPLv3 was to prevent "TiVoization" of software, which is so named because TiVo managed to use a loophole to violate the spirit of the GPLv2 without breaking the letter of the licence.

In short, the GPL says that if you use GPL software in your product, you can modify the software, but you must release the source code for any changes you make. TiVo uses Linux in its DVR firmware, so TiVo was required to release the source code for its DVR firmware (which it did); however, doing this potentially posed a problem for TiVo: if the source code for the TiVo firmware was available, then people could modify it to create custom TiVo firmware (e.g. to disable the requirement for having an active TiVo subscription) and then run that firmware on their TiVos. In order to prevent this, TiVo used special hardware restrictions in every DVR so that if a user tried to run unsanctioned firware, the TiVo would reject it. In this way, TiVo was able to technically respect the GPLv2 by releasing the source code for its firmware, but the company managed to prevent people from actually doing anything with that source code by making sure that no TiVo unit would let you run modified firmware that you built from the source code yourself.

The GPLv3 was devised to explicitly say that releasing the source code to your software isn't enough; you also can't employ hardware restrictions to prevent people from using your GPLv3 software.

Thanks for the Information. Is this the only benefit GPLv3 has over GPLv2 ? though I don't see how this is critical enough to stop development on the Android side.
Find
Reply
05-30-2015, 04:25 PM
#16
JMC47 Offline
Content Producer
*******
Content Creators (Moderators)
Posts: 6,394
Threads: 28
Joined: Feb 2013
Because it was breaking the license to continue working on the android port. I don't see how that is complicated.
Find
Reply
05-30-2015, 04:48 PM (This post was last modified: 05-30-2015, 04:49 PM by tueidj.)
#17
tueidj Offline
Senior Member
****
Posts: 555
Threads: 0
Joined: Apr 2013
The windows port links with several APIs which are not GPL, why is it considered unacceptable for the android port to do the same?
Find
Reply
05-30-2015, 06:22 PM
#18
mbc07 Offline
Wiki Caretaker
*******
Content Creators (Moderators)
Posts: 2,979
Threads: 26
Joined: Dec 2010
Some of them are Apache licensed and there's something in that license that prevent GPLv2 projects to link against them, I think...
HP ENVY dv6t-7300 Notebook PC              ASRock Z97M OC Formula
CPU: Intel Core i7-3630QM @ 2.4GHz         Intel Pentium G3258 @ 4.2GHz (OC)
GPU: NVIDIA GeForce GT 635M @ 2GB DDR3     NVIDIA GeForce GT 440 @ 1GB DDR3
RAM: 12GB @ DDR3-1600 (4+8GB)              16GB @ DDR3-1600 (4x4GB)
OS:  Windows 10 (Insider Preview)          Windows 10 (version 1909)
Find
Reply
05-30-2015, 10:04 PM
#19
delroth Offline
Making the world a better place through reverse engineered DSP firmwares
**********
Developers (Some Administrators and Super Moderators)
Posts: 1,356
Threads: 63
Joined: Aug 2011
tueidj: system provided libraries are an exception to the GPL. In general it's widely accepted that stuff like msvcrt or d3d are system provided, and there is a wide range of precedent for that. Random Android libraries that we want to use in Dolphin are not in the same situation (note, however, that the same situation would apply to us using the standard Android SDK/NDK, from my understanding of the situation).

In the future this license change will also allow us to integrate with OSVR, which is licensed under Apache 2.0.
Pierre "delroth" Bourdon - @delroth_ - Blog

<@neobrain> that looks sophisticated enough to not be a totally dumb thing to do
Website Find
Reply
05-30-2015, 10:31 PM (This post was last modified: 05-30-2015, 10:37 PM by Armada.)
#20
Armada Offline
Head of Depth Perception
**********
Developers (Some Administrators and Super Moderators)
Posts: 152
Threads: 4
Joined: Jul 2009
(05-30-2015, 04:48 PM)tueidj Wrote: The windows port links with several APIs which are not GPL, why is it considered unacceptable for the android port to do the same?

From what I understand the GPL exempts you from having to provide the source code for those libraries, but you are still not allowed to link to those libraries if the licenses on them would affect your rights given under the GPL.

In other words, the System Library Exception exempts those libraries from the "infection" of GPL, but it does not allow those system libraries to infect the GPL.
Find
Reply
« Next Oldest | Next Newest »
Pages (5): « Previous 1 2 3 4 5 Next »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode