Proposed Open Source License update

Discussions About CyanWorlds.com Engine Client & Plugin
Chogon
Cyantist
Posts: 12
Joined: Mon Dec 22, 2008 5:19 pm

Proposed Open Source License update

Post by Chogon »

HI all,
Cyan Legal has finally approved changes to the CWE open source license. Please read through this new text (below) and make comments. JW will set something up for existing contributors to give permission to change this license. Once we have those permissions then the new license can be released!
Thanks to the efforts of many people, in particular but not limited to: Paradox, JWPlatt, Mac_Fife, Rarified, Hoikas, Branan and Luigi of the Free Software Foundation.

Sorry, it took so long...
Chogon
=========================
The following text will replace the license text in all the source files (except for those source files that are licensed by someone else which the CWE license will be removed). This text will also be repeated in a file in the root directory.

Code: Select all

CyanWorlds.com Engine - MMOG client, server and tools
Copyright (C) 2011 Cyan Worlds, Inc.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

Additional permissions under GNU GPL version 3 section 7

If you modify this Program, or any covered work, by linking or
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
(or a modified version of those libraries),
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
licensors of this Program grant you additional
permission to convey the resulting work. Corresponding Source for a
non-source form of such a combination shall include the source code for
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
work.

You can contact Cyan Worlds, Inc. by email legal@cyan.com
or by snail mail at:
Cyan Worlds, Inc.
14617 N Newport Hwy
Mead, WA
99021

The following text will be in a README.txt file in the root directory that can be used by a shard owners that distribute a client to pull into their own documentation to cover themselves legally.

Code: Select all

/*==README.txt==

About Non-Free Libraries:

This software uses some non-free libraries for which exceptions appear in the
source code license inserts. It is suggested that anyone who thinks of doing
substantial further work on this program should first free it from dependence
on the non-free libraries so that it does the same job without the non-free
libraries. Further introduction of non-free libraries likely would require a
revised license and thus permission from all contributors to the codebase.
That being problematic, any additional non-free libraries are unlikely to be
accepted by Cyan Worlds or the development community.

Acknowledgements:

OPENSSL:

This product includes software developed by the OpenSSL Project for use in
the OpenSSL Toolkit (http://www.openssl.org/). This product includes
cryptographic software written by Eric A. Young (eay@cryptsoft.com). This
product includes software written by Tim J. Hudson (tjh@cryptsoft.com)."

Independent JPEG Group (IJG) JPEG Library:

This software is based in part on the work of the Independent JPEG Group.

Jani Kajala:

Copyright (c) 2001 Jani Kajala

Permission to use, copy, modify, distribute and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting documentation. Jani
Kajala makes no representations about the suitability of this software for
any purpose. It is provided "as is" without express or implied warranty.

*==README==*/

Also, another file CREDITS.txt to be included in the root directory. This is additional text that can be used by a shard owners that distribute a client to pull into their own documentation to cover themselves legally.

Code: Select all

/*==CREDITS.txt==*

LEGAL
-------
MYST is a registered trademark of Cyan Worlds, Inc. All rights reserved.

NVIDIA (formerly AGEIA)-provider of the PhysX physics engine. AGEIA™ and
PhysX™ are trademarks of AGEIA Technologies, Inc. and are used under license.

Uses Bink Video. Copyright C 1997-2006 by RAD Game Tools, Inc.

FaceGen Modeller 2.1 Singular Inversions, Inc.

Artbeats Digital Film Library Artbeats

This product includes software developed by the OpenSSL Project for use in
the OpenSSL Toolkit (http://www.openssl.org/)

Free Type The FreeType Project is copyright C 1996-2000 by David Turner,

Robert Wilhelm, and Werner Lemberg. All rights reserved.

Python Copyright C 2001, 2002 Python Software Foundation. All rights
reserved.

Boost Copyright C 2002 CrystalClear Software, inc. Permission to use, copy,
modify, distribute and sell this software for any purpose is hereby granted
without fee.

Speex (libspeex) © 2002-2003, Jean-Marc Valin/Xiph.Org Foundation
Ogg (libogg) Copyright (c) 2002, Xiph.org Foundation
Vorbis (libvorbis) Copyright (c) 2002-2008 Xiph.org Foundation

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
• Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
• Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.

•

Neither the name of the Xiph.org Foundation nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

This software is provided by the copyright holders and contributors “as
is” and any express or implied warranties, including, but not limited
to, the implied warranties of merchantability and fitness for a
particular purpose are disclaimed. In no event shall the foundation or
contributors be liable for any direct, indirect, incidental, special,
exemplary, or consequential damages (including, but not limited to,
procurement of substitute goods or services; loss of use, data, or
profits; or business interruption) however caused and on any theory of
liability, whether in contract, strict liability, or tort (including
negligence or otherwise) arising in any way out of the use of this
software, even if advised of the possibility of such damage.

LibJpeg Libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002,
are Copyright C 2000-2002 Glenn Randers-Pehrson

zLib zlib C1995-2002 Jean-loup Gailly and Mark Adler

Expat Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and
Clark Cooper
Expat Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.

Uses OpenAL 3D Audio - http://openal.org

Friends of Sironka Dance Troupe Some sounds and vocal recording provided by
the Friends of Sironka Dance Troupe, nonexclusively licensed by Cyan, used
by permission.

Burn You Up, Burn You Down performed by Peter Gabriel. Written by Peter
Gabriel, Neil Sparkes and Karl Wallinger. Published by Real World Music
Limited/Universal Music Limited. Peter Gabriel appears courtesy of Real
World Records'/ Geffen Records and EMI Records.

*==CREDITS==*/
Whew!
User avatar
branan
Member
Posts: 84
Joined: Wed Apr 06, 2011 11:35 pm

Re: Proposed Open Source License update

Post by branan »

All looks good to me. I still think the content credits should be in their own file, but I suppose that since for now nobody's actually using CWE for anything non-Uru it's just a nitpick.
User avatar
Hoikas
Member
Posts: 344
Joined: Fri Jun 03, 2011 8:38 pm

Re: Proposed Open Source License update

Post by Hoikas »

This looks great to me. Many thanks to Chogon and Cyan Legal.
Image
Christian Walther
Member
Posts: 317
Joined: Sat Dec 13, 2008 10:54 am

Re: Proposed Open Source License update

Post by Christian Walther »

I guess it doesn’t hurt, but is an exception actually needed for the IJG JPEG library? Its license seems to be GPL-compatible (unlike the Intel JPEG library that was used in the originally released code).
User avatar
Mac_Fife
Member
Posts: 1239
Joined: Fri Dec 19, 2008 12:38 am
Location: Scotland
Contact:

Re: Proposed Open Source License update

Post by Mac_Fife »

I think the IJG library is maybe a case of "better to err on the side of caution": While the license terms themselves do seem to be GPL compatible, IJG add in a specific request that they are acknowledged in all binary and source distributions, and that's a bit more than GPL requires.

It might turn out to be overkill, but I don't think anyone wants to go round this particular bouy a second time ;) .
Mac_Fife
OpenUru.org wiki wrangler
kaelisebonrai
Member
Posts: 12
Joined: Tue Dec 23, 2008 10:36 am

Re: Proposed Open Source License update

Post by kaelisebonrai »

This all looks good... But I do agree with branan - content credits should be in a different file.

Keep in mind, as well (as much as I shouldn't have to say this - we have had this mess happen due to unfamiliarity with the gpl, so it is possible that this could be overlooked, as well...) that any and /all/ contributors to the code used by Cyan and any of the forks will have to approve of the license before it can be changed. Obviously, I'd imagine that's the responsibility of Cyan to seek out those people, for their code. OU for their's... and H'uru for our's.

Cyan has accepted code from... (and this is by no means a complete list, but just the people I can think of off the top my head..) Branan (I think), Hoikas (I think, again), Yootay (Some of the code in build 902's python security fixes are his), dragossh ("Bevin -> Hood", maybe more). They'll need to get each of these individual's approval before they can change the license at all.

Lets do this properly, this time, please?

EDIT: Also, why is bink in the credits? Bink should only apply if the developer of the build in question has licensed Bink seperately - and at which point, I'd hope they are intelligent enough to include those credits themselves. Most open source builds will not include bink as it is very costly...

EDIT2: Oh, right, I believe Paradox has some code in there, too =)
User avatar
JWPlatt
Member
Posts: 1137
Joined: Sun Dec 07, 2008 7:32 pm
Location: Everywhere, all at once

Re: Proposed Open Source License update

Post by JWPlatt »

In our proposal to Cyan, I have these contributors listed for CWE and the CWE-ou fork: a'moaca', cjkelly, mystler, dragossh, D'Lanor, Paradox, Branan and the “Gray Hats” (as listed in the changeset). I need to know who, specifically, worked on that security patch. I suspect it was limited to Hoikas and Branan, but please confirm. I'll be along later with the actual mechanism to submit these permissions.

Cyan and OU need only be concerned with obtaining permission from the above contributors. Theoretically, any other fork could remain with their current license, though that is obviously not desirable in this case. So each fork is responsible for obtaining their own permissions to revise the license beyond those changesets we share in common. Our changeset will contain the revised licenses and permissions, so pulling it and applying it to your own forks covers that. In others words, the h'uru fork will need permission from authors not covered in our contributor list.
Mac_Fife wrote:...the key point is that we only need permissions for the code that Cyan have "adopted" and is present in their "official" code. Downstrean forks we/Cyan don't necessarily know about, can't control and are on their own, management wise.
About Bink, we also cover the 3ds Max SDK. Is that not at least similar?
Perfect speed is being there.
User avatar
Hoikas
Member
Posts: 344
Joined: Fri Jun 03, 2011 8:38 pm

Re: Proposed Open Source License update

Post by Hoikas »

The security patch present in build 902 was prepared by Branan and Yootay. I crafted a fix for the Jalak column regression after the fact (said fix can be found in the H-uru repository).
Image
Paradox
Member
Posts: 15
Joined: Sun Jul 10, 2011 10:37 pm

Re: Proposed Open Source License update

Post by Paradox »

This licence looks good to me.

I've opened an issue on GitHub for our contributors to approve relicensing: https://github.com/H-uru/Plasma/issues/81
There's a separate issue for Python contributions (since it's a different repository with different contributors): https://github.com/H-uru/moul-scripts/issues/14

@JWPlatt: My approval as posted in those issues also extends to any code that has been pulled into OU/Cyan.
User avatar
JWPlatt
Member
Posts: 1137
Joined: Sun Dec 07, 2008 7:32 pm
Location: Everywhere, all at once

Re: Proposed Open Source License update

Post by JWPlatt »

There are a few questions in your issue about the order of relicensing and permissions. Here's the plan, which should satisfy those asking:

1. Introduce the proposed text and get comments.
2. If there are no objections or corrections from the public, the text will be final.
3. Once the text is considered final, we will request permissions.
4. Once permission to relicense has been given to us from contributors, the relicensed source files will be provided in a zip file and pushed to our repos.

What this means is that if there are no complaints or corrections, the text will be final, and any permission already given remains relevant. If we made a mistake that needs correction, permissions will have to restart. Permissions are relevant only to COPYING.txt, the text with the exceptions, as it will appear in the root and inserted into the sources.

In addition to obtaining permissions online via the issue tracker, which is nice, I'd recommend something more formal such as email.

Finally, we have been considering using a Contributor License Agreement to protect against protégés of Daryl McBride, the delusional CEO of SCO who claimed rights to Linux because he believed Linux was a copy of Unix. We are not entirely convinced it is necessary. We would enjoy any comments, pro or con, on CLAs.
Perfect speed is being there.
Post Reply

Return to “CyanWorlds.com Engine - Client & Plugin”