Licence violations and incompatibilities

Announcements and discussion regarding any projects related to Cyan Worlds' Plasma Engine including (but not limited to) CyanWorlds.com Engine, Drizzle, OfflineKI, PyPRP, and libHSPlasma.

Licence violations and incompatibilities

Postby Paradox » Mon Aug 01, 2011 2:46 pm

(Note: Originally posted at http://mystonline.com/forums/viewtopic.php?t=24900. Cyan has locked all their open-source forums, which feels a bit like they have no intention of actively participating (or resolving these issues). This has also been brought up for discussion on OpenUru: http://forums.openuru.org/viewtopic.php?f=91&t=614)

With Plasma released under a plain GPLv3 licence, there are a few problems that need to be addressed. Sooner is better, especially since Microsoft might not be too happy about having some of their code inadvertently released as GPL.

The first part of the problem is where Cyan used 3rd party code in Plasma under a licence like the MIT licence, but then copy-pasted a GPLv3 header on all the files when the code was released.
In particular, PubUtilLib/plWinStrBlock/strblock.h and PubUtilLib/plWinStrBlock/strblock.cpp are copyright by Microsoft.
Also the files in FeatureLib/pfStackTrace (such as pfStackTrace.cpp, pfPrintStackTrace.cpp, and pfMapFile.h) are copyright by Jani Kajala, who also demands that the copyright notice be made visible in all supporting documentation.

There's also two classes in PubUtilLib/plWndCtrls (basewnd and webhost) that have the following comment:
Stolen from: http://www.mvps.org/user32/webhost.cab
No copyright notices, so I assume it's public domain -Colin



I'm entirely sure that Cyan had no intention of violating these licences when they released the code (and as far as I know, both licences allow the code to be used in GPL software). The problem is that they've pasted the GPL licence on top of the existing licences. It's always best to be careful around the GPL, as it has caused problems in the past for companies (like the infamous DLink case).


The next issue in licensing is that Cyan didn't add provisions for linking against PhysX or the 3DS Max SDK. It's also a bit unclear whether a special clause is needed for linking against OpenSSL (on Linux I don't believe it is, but for Windows it might be).
Without these provisions, nobody can (legally) distribute a compiled binary. Of course, it's very unlikely that anyone would try to stop you, since that would be entirely against Cyan's interest in open-sourcing the code. But technically, it is still a violation of copyright to distribute any compiled Plasma code.

This was originally mentioned months ago, when the code was first released. The problem now is that in order to change the licence to add these provisions, Cyan needs the permission of everyone who has contributed code to the project. That number is starting to grow, as can be seen on the contributors list for the GoW fork.

At this point, it seems more likely that PhysX will be stripped out and replaced with Bullet before Cyan has a chance to update the licence. This solves the problem for the client, but the Max plugin is still a problem because it links against the Max SDK.
"And one day I woke to find the future held no place for me. I was unwanted in a world, that with my hands I'd helped to build. Where once was honesty and pride, I now stand broken and alone."
Paradox
 
Posts: 1261
Joined: Fri Sep 28, 2007 6:48 pm
Location: Canada

Re: Licence violations and incompatibilities

Postby Aloys » Tue Aug 02, 2011 5:21 am

While I do agree that on the principle it is a problem, as you rightfully suggest it sounds unlikely that Cyan will spend more time on OS matters for the foreseable future.. And since it also sounds very unlikely that MS or anyone else will go lawyer crazy on us for anything done here. (as long as it's not commercial)
Then is it possible that developpers here should totally not care about this, and overlook the whole issue and release code & binaries anyway?
I'm all for doing things right, but it seems clear that is not practical; and the only way to move forward is to do as we see fit or else things are stuck in a dead end.
Hasn't this pretty much been the only viable way of working for these last 6 years?..
User avatar
Aloys
 
Posts: 1860
Joined: Sun Oct 21, 2007 7:57 pm
Location: France (GMT +1)

Re: Licence violations and incompatibilities

Postby diafero » Tue Aug 02, 2011 8:34 am

I agree, Aloys, that the PhysX/Max exception can probably be just ignored - sure, it's not entirely correct, but then... I am distributing Cyan files since I run a Shard, and nobody cares either ;-) .

Regarding fieles that may not have been licensed correctly by Cyan: If someone merges https://github.com/H-uru/Plasma/pull/67, we already got rid of the Microsoft and "probably public domain" part. That code is unused anyway.
This only leaves pfStackTrace. The original license is quite permissive. If we move it at the top, below Cyan's license, in my naive world that would be okay... the original license is fulfilled as the notice is preserved, and we can do what we want with the rest. And Cyan's changes to that code are under GPL. Or doesn't that work?
I prefer e-mails to "diafero arcor de" (after adding the at and the dot) over PMs.

"Many people's horizon is a circle with a radius of zero. They call it their point of view."

Deep Island Shard | Offline KI
diafero
Deep Island Admin
 
Posts: 2821
Joined: Mon May 05, 2008 5:50 am
Location: Germany

Re: Licence violations and incompatibilities

Postby Branan » Tue Aug 02, 2011 11:46 am

That should work fine for any more-permissive GPL-compatible license
Image
Your friendly neighborhood shard admin
User avatar
Branan
Gehn Shard Admin
 
Posts: 694
Joined: Fri Nov 16, 2007 9:45 pm
Location: Portland, OR

Re: Licence violations and incompatibilities

Postby Tsar Hoikas » Tue Aug 02, 2011 3:27 pm

I'd rather not find myself on the GPL shame lists or sued by nvidia/M$/Autodesk if I were to release a CWE binary.
Image
User avatar
Tsar Hoikas
Councilor of Technical Direction
 
Posts: 1891
Joined: Fri Nov 16, 2007 9:45 pm
Location: South Georgia

Re: Licence violations and incompatibilities

Postby diafero » Wed Aug 03, 2011 4:16 am

NVidia and Autodesk can't sue you for the missing exception, only Cyan can as it's their code that's, against the GPL, distributed with binary-only content. And concerning Microsoft, their code is not even compiled, so it can't get part of the binary. It can easily be removed entirely, see above.
I prefer e-mails to "diafero arcor de" (after adding the at and the dot) over PMs.

"Many people's horizon is a circle with a radius of zero. They call it their point of view."

Deep Island Shard | Offline KI
diafero
Deep Island Admin
 
Posts: 2821
Joined: Mon May 05, 2008 5:50 am
Location: Germany

Re: Licence violations and incompatibilities

Postby diafero » Thu Aug 04, 2011 4:48 am

Branan wrote:That should work fine for any more-permissive GPL-compatible license

Hoikas merged my removal request, thanks. Now, is any action required for the remaining issue? I am not sure what exactly you are referring to with "That" - just keeping it as is, or moving the license header to the top, just below Cyan's.
I prefer e-mails to "diafero arcor de" (after adding the at and the dot) over PMs.

"Many people's horizon is a circle with a radius of zero. They call it their point of view."

Deep Island Shard | Offline KI
diafero
Deep Island Admin
 
Posts: 2821
Joined: Mon May 05, 2008 5:50 am
Location: Germany

Re: Licence violations and incompatibilities

Postby Tsar Hoikas » Thu Aug 04, 2011 10:32 pm

Nvidia can sue

PhysX SDK EULA wrote:5. Restrictions. You will not, and will not permit others to: (a) modify, translate, decompile, bootleg, reverse engineer, disassemble, or extract the inner workings of any portion of the PhysX SDK except the Sample Code and PhysX Extensions (which include Vehicle and Character Controllers), (b) copy the look-and-feel or functionality of any portion of the PhysX SDK except the Sample Code; (c) remove any proprietary notices, marks, labels, or logos from the PhysX SDK or any portion thereof; (d) rent, transfer or use as a service bureau all or some of the PhysX SDK without NVIDIA’s prior written consent, except in the form of Physics Applications and subject to the requirements of this Agreement; (e) utilize any computer software or hardware which is designed to defeat any copy protection device, should the PhysX SDK be equipped with such a protection device; or (f) use the PhysX SDK in any manner that would cause the PhysX SDK to become subject to an Open Source License. "Open Source License" includes, without limitation, a software license that requires as a condition of use, modification, and/or distribution of such software that the PhysX SDK be (i) disclosed or distributed in source code form; (ii) be licensed for the purpose of making derivative works; or (iii) be redistributable at no charge. Unauthorized copying of the PhysX SDK, or failure to comply with any of the provisions of this Agreement, will result in automatic termination of this license.
Image
User avatar
Tsar Hoikas
Councilor of Technical Direction
 
Posts: 1891
Joined: Fri Nov 16, 2007 9:45 pm
Location: South Georgia

Re: Licence violations and incompatibilities

Postby diafero » Fri Aug 05, 2011 4:27 am

But PhysX is not derived work of CWE, so it does not become subject of the GPL. From all I heard, the only ones that could have anything against using a closed-source library in an open-source application are the authors of that application, as their code is shipped with code not licensed correctly. If they add an exception to their license, all is fine.

If what you say is true, Hoikas, a license exception by Cyan would not gain us anything at all - after allit wouldn't change the fact that PhysX is used in a GPL application.
I prefer e-mails to "diafero arcor de" (after adding the at and the dot) over PMs.

"Many people's horizon is a circle with a radius of zero. They call it their point of view."

Deep Island Shard | Offline KI
diafero
Deep Island Admin
 
Posts: 2821
Joined: Mon May 05, 2008 5:50 am
Location: Germany

Re: Licence violations and incompatibilities

Postby Trylon » Fri Aug 05, 2011 10:34 am

Just a stupid idea here, but what about just putting in the exception (probably wise to do it on an experimental basis at first), and don't bother until complains about it?
It's not like there's anyone who has a really good reason to file a complaint against that, right.... I mean, it seems like the lesser of two evils... There's jsut Cyan and some fans who like to see a binary release on the one side, and NVidea who doesn't care about the engine on the other side...
One day I ran through the cleft for the fiftieth time, and found that uru held no peace for me anymore.
User avatar
Trylon
 
Posts: 1446
Joined: Fri Sep 28, 2007 11:08 pm
Location: Gone from Uru

Next

Return to Plasma Development

Who is online

Users browsing this forum: No registered users and 1 guest

cron