The X Project (Foundry)

CyanWorlds.com Engine Project Management
User avatar
JWPlatt
Member
Posts: 1137
Joined: Sun Dec 07, 2008 7:32 pm
Location: Everywhere, all at once

The X Project (Foundry)

Post by JWPlatt »

Rarified asked for a temporary project name to set up and test the CyanWorlds.com Engine on the Foundry's Atlassian tools. I offered "Banana Cream" or "Pellet Pie" and that its project prefix would ultimately be "CWE". He went with a much simple temporary code name, saying, "I 'spose I'll just call it X while weaving it together." I can hear him whistling the X-Files theme... I guess that makes us "The X Team."

I'm going to summarize below, kind of like minutes, some remaining topics from our PMs relating to setting up CWE builds on the Foundry. This thread can be used for continued Foundry build setup discussion.

Rarified asked about third party libraries. He pointed out that Nvidia currently offers a redistributable for PhysX (binaries) and asked if the source be "built" without the third party components. He asked about Bink. He offered assistance with Mercurial, having experience using it for a large project spread worldwide.

a'moaca' point out the PhysX SDK is free and that Bink is only used in the intro video. Mac_Fife added that Andy Legate had found that it was possible to apply a Bink video as a texture.

I saw some news a while back that reverse-engineered Bink decoding is now being done in open source by FFmpeg. That is surely an option. Also, I can confrim that Mark told me directly during work on MQO that Bink videos can be appled to any Plasma surface.

We need to keep all work invisible until Cyan Worlds announces open source. The timing of that depends upon when our team is ready with its respective portions of the project.
Perfect speed is being there.
a'moaca'
Member
Posts: 163
Joined: Sat Dec 13, 2008 11:22 pm

Re: The X Project (Foundry)

Post by a'moaca' »

I'm not worried about the part where Bink can be applied to any surface, if none of Cyan's stuff uses it. (Well, aside from the fact the intro videos are presumably applied to a flat surface on top.) If the community wants that feature for user ages, let the community do the porting work. It can't be too hard to temporarily comment out playing the intro videos so that there's no video support at all.

I say this because I think we should get the CWE source out with the least possible fiddling on our part during this stage. Even if the original source is downloadable, I think announcing with the least changed version is most transparent (not to mention fastest). Technically we don't even need to make it build, but I suspect pretty much everyone involved would much prefer that (including me). Especially since we can do a full-system test that way.

Of course, I may be wrong and the expectation is to announce a version that can play the intro videos before release. Note I'll be holed up with my own problems for the next while. :)
User avatar
JWPlatt
Member
Posts: 1137
Joined: Sun Dec 07, 2008 7:32 pm
Location: Everywhere, all at once

Re: The X Project (Foundry)

Post by JWPlatt »

Agreed.

I have some questions for Mark. Once I get as many of them answered as he has time for, and once Cyan opens their own JIRA account here, and once the repo is ready, I'll make the initial commit so we can all see what needs attention. That way, everyone can get a head start when the project opens. I'm hoping we can get all that done this week so we can see where the holes are, exactly.

There are numerous empty Win32 SDK folders, but at least the folders are there to tell us what's missing without a compile log. Obviously, Bink and PhysX are among them. But so is OpenSSL, the BSD license of which is incompatible with the GPL. What I've read recommends GnuTLS instead in this case. Oggvorbis is also empty, but I'm not sure why as it is public domain.

Other empty folders are DX9, EAX, expat, freetype, Intel JPG, Max 7 (desperately needs upgrade anyway), MySQL (perhaps used on original servers before MOUL, but would be nice to support again), OpenAL (not sure why as it's GPL), Win32 Platform, QTW, WMSDK.

Scintilla, Speex and UnicoWS are there.

In the cross platform folders, Cyan Python is there, expat is there (maybe the Win32 SDK was legacy?), as are png and zlib. Empty are jpeg and OCI (Oracle Call Interface - yeah, go figure). I'd really like to see MySQL/Postgre support. And with the significant reliance on Windows SDKs, maybe some more cross platform stuff would be advisable.

As expected, there are no content files, such as the wave emote that was already released.

This looks like it really took some quality legal and grunt time to figure out what could stay, what had to go, do the trimming, insert licensing, and leave a few text file breadcrumbs. This also suggests the Cyan devs were well organized in how things were structured. Except for the documentation; they must have stored all of it on the Riven Age.
Perfect speed is being there.
User avatar
rarified
Member
Posts: 1061
Joined: Tue Dec 16, 2008 10:48 pm
Location: Colorado, US

Re: The X Project (Foundry)

Post by rarified »

I would not worry about the BSD license to OpenSSL. It (IMHO, IANAL) seems to be more liberal than GPL (you can do basically anything as long as you leave copyright and attributions intact).

_R
One of the OpenUru toolsmiths... a bookbinder.
User avatar
JWPlatt
Member
Posts: 1137
Joined: Sun Dec 07, 2008 7:32 pm
Location: Everywhere, all at once

Re: The X Project (Foundry)

Post by JWPlatt »

Gnu.org wrote:The license of OpenSSL is a conjunction of two licenses, one of them being the license of SSLeay. You must follow both. The combination results in a copyleft free software license that is incompatible with the GNU GPL.
http://www.gnu.org/licenses/license-list.html

The only way out is for the copyright holder to include an exception in the license. And I believe that would only work out if all linked libraries agree to the same exception.
Perfect speed is being there.
User avatar
Mac_Fife
Member
Posts: 1239
Joined: Fri Dec 19, 2008 12:38 am
Location: Scotland
Contact:

Re: The X Project (Foundry)

Post by Mac_Fife »

By my reading of the OpenSSL license, the only real limitation is that you can't wrap up the OpenSSL libraries within an overarching GPL License for a larger project. You need to keep the OpenSSL Licenses with those sources and any distributed binary needs to acknowledge the OpenSSL and SSLeay inclusion and attributions, as I think Cyan did in the Uru Credits:
The MOULa Manual wrote:This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)
It's a complication, not a showstopper.
Mac_Fife
OpenUru.org wiki wrangler
a'moaca'
Member
Posts: 163
Joined: Sat Dec 13, 2008 11:22 pm

Re: The X Project (Foundry)

Post by a'moaca' »

Ogg Vorbis is not public domain. It's standard 4-clause BSD. I remember when they switched from GPL. Smart move, or they wouldn't be in a host of games including Cyan's. No hardware, either.

I wish the FSF page stating specifically that OpenSSL is incompatible with GPL would say why. My reading agrees with Mac_Fife's that the OpenSSL license is basically equivalent to 4-clause BSD, though a bit snootier about usage. I wonder (because they did not deign to tell us) if the part where you can't copy the code and license it under GPL is why? (Not being serious, but really, them not explaining gets on my nerves, and this sort of thing is part of why I'm not in the FSF fanboy camp.)

I think the empty folders should be left that way. A script can be written to do it, but people should download the dependencies themselves. Otherwise you do get into bundling issues. It's just like why, when you install the client, it has you download and install some stuff (OpenAL, PhysX) separately.

- a'moaca'
User avatar
JWPlatt
Member
Posts: 1137
Joined: Sun Dec 07, 2008 7:32 pm
Location: Everywhere, all at once

Re: The X Project (Foundry)

Post by JWPlatt »

My mistake on Ogg Vorbix. I didn't read far enough; only that the specification is public domain.
vorbis.com/faq/ wrote:What licensing applies to the Ogg Vorbis format?

The Ogg Vorbis specification is in the public domain. It is completely free for commercial or noncommercial use. That means that commercial developers may independently write Ogg Vorbis software which is compatible with the specification for no charge and without restrictions of any kind. However, the software packages we have developed are available under various free/open-source software licenses with varying allowances and restrictions.

What licensing applies to the included Ogg Vorbis software?

Most (but not all) of our utility software is released under the terms of the GNU GPL. The libraries and SDKs are released under our BSD-like license.

Note that developers are still free to use the specification to write implementations of Ogg Vorbis licensed under other terms.
Perfect speed is being there.
cjkelly1
Member
Posts: 67
Joined: Mon Dec 29, 2008 6:08 am

Re: The X Project (Foundry)

Post by cjkelly1 »

I am currently giving the build a go. Almost have it building with MSVC .Net 2003. It seemed to me a good idea to get it going with the same compiler Cyan was using before trying to convert all the MS stuff over to 2008.

Currently working on EAX, and I have not decided if I am ambitious enough to try to replace Bink with FFMpeg. Other than that, everything else in the "AllClient" solution seems to build without too much hassle. I did run across some old Havok includes that will need to be removed. I guess they were missed in the PhysX swap out.

I am thinking it will definitely be as was already said - getting the licensing squared away will be the more difficult part of this.
User avatar
rarified
Member
Posts: 1061
Joined: Tue Dec 16, 2008 10:48 pm
Location: Colorado, US

Re: The X Project (Foundry)

Post by rarified »

Cool. Cjkelly1, could you keep a running tab about what you needed to add to the build environment to make progress. Probably start a new CWE topic here. Things from tools beyond Visual Studio 2xxx to .NET Vyy to python Vzzz. Looks like a lot of the misc 3rd party libs (zlib, Jpeg, OGG) are already in the bundle.

Thanks
_R
One of the OpenUru toolsmiths... a bookbinder.
Locked

Return to “Management”