The blood-devel mailing list and CVS

General discussion relating to the Transfusion project.

Moderator: General Discussion Moderators

Post Reply
User avatar
Elric
Cabal member
Posts: 166
Joined: Fri Aug 13, 2004 07:35 am
Location: Paris & Limoges, France

The blood-devel mailing list and CVS

Post by Elric »

Kazashi asked me to fix a small bug into the game code today. It reminded me that nobody told the people who started messing with the game code recently to subscribe to the blood-devel mailing list. This list is intended for developers discussion. Also, the CVS repository sends a mail to this list each time someone commits something to the repository. For example, the fix I commited today generated this mail.
I also recommend that each person interested in TF development uses CVS directly to keep track of the source code changes, instead of the snapshots. SourceForge.net has some info for beginners.
User avatar
da_weezle
Acolyte
Posts: 498
Joined: Fri Aug 27, 2004 11:36 pm
Location: Iceland

Post by da_weezle »

I subscribed to the list (no activation yet), and looking into the CVS info, since I've never worked with it yet.

Ow yeah, access to The Cabal might help as wel ;).
User avatar
DustyStyx
2D Artist
Posts: 2038
Joined: Wed Aug 11, 2004 02:12 am
Location: Salt Lake
Contact:

Post by DustyStyx »

done
User avatar
Elric
Cabal member
Posts: 166
Joined: Fri Aug 13, 2004 07:35 am
Location: Paris & Limoges, France

Post by Elric »

I forgot to mention that the CVS repository only contains code and MAP files. No art or sound.

Since our beloved mappers forget to commit their MAP files to it most of the time :wink: they're quite outdated. It would be great if mappers could take the habit, when done with a version of a map, to make available the BSP and the MAP files, and to commit (or have someone commit) their MAP file in the CVS repository.

Should I remember that MAP files released with TF 1.0x are licensed under the GPL? It means if you modify and distribute them, you also have to provide the modified version "in the format under which they're normally modified", i.e. the MAP format. You can view the MAP files as the "source code" of BSP files. And the policy of TF is to always let the users have the source code :wink:
User avatar
Toddd
Axe Zombie
Posts: 48
Joined: Sat Sep 04, 2004 10:52 am

Post by Toddd »

Elric wrote:I forgot to mention that the CVS repository only contains code and MAP files. No art or sound.

Should I remember that MAP files released with TF 1.0x are licensed under the GPL? It means if you modify and distribute them, you also have to provide the modified version "in the format under which they're normally modified", i.e. the MAP format. You can view the MAP files as the "source code" of BSP files. And the policy of TF is to always let the users have the source code :wink:

Aaren't most of those maps originally converted from Blood maps? Or have they all been remade from scratch?
Did monolith release the Blood game data as GPL? I thought I have heard that they allowed ONLY the TF team to you the Blood game data. GPL would mean everybody is allowed to use it...
User avatar
DustyStyx
2D Artist
Posts: 2038
Joined: Wed Aug 11, 2004 02:12 am
Location: Salt Lake
Contact:

Post by DustyStyx »

He's got a point there Mathieu... Didn't we discuss about that Doom2 map we have in the mix? That ID was okay with maps from scratch but conversions weren't cool. Wasn't the the jist of it?

Anyway Todd, we got the permission from Infogrames (now Atari), an actual writen letter outlining a quitclam licence. Monolith's agreement was more of a verbal thing, I'm not sure of the details on that one.
User avatar
Toddd
Axe Zombie
Posts: 48
Joined: Sat Sep 04, 2004 10:52 am

Post by Toddd »

Cruaich wrote:He's got a point there Mathieu... Didn't we discuss about that Doom2 map we have in the mix? That ID was okay with maps from scratch but conversions weren't cool. Wasn't the the jist of it?

Anyway Todd, we got the permission from Infogrames (now Atari), an actual writen letter outlining a quitclam licence. Monolith's agreement was more of a verbal thing, I'm not sure of the details on that one.
BTW: If you make one piece of data GPL, the entire game must be GPLed. You should ask Infogrames for permission. Or you could recreate everything from scratch. The weapons and other models have already been remade from scratch IIRC. Some textures also. Sounds might be complicated without loosing the blood atmosphere and remaking the levels from scratch will surely be a s*** lot of work :-(
User avatar
DustyStyx
2D Artist
Posts: 2038
Joined: Wed Aug 11, 2004 02:12 am
Location: Salt Lake
Contact:

Post by DustyStyx »

No, all the art work and audio can and does have a normal copyright. It still belongs to Monolith/Atari/us and because of the odd US copyright laws.. the individual artists, whoever they happen to be.

Not even all our binaries are under the GPL, that's why we have DLL libraries for jpg and ogg.

Besides that the GPL has yet to be proven in court (thanks IBM/SCO) so right now it's really just your take on how PC you want to be. It might be all bunk in the end, but hey we can still work on it and hope for the best.

It may be that we need to get it sourted out a bit more, maybe a mix of GPL/Creative commons/quitclam arari-monolith type licence.

For right now what works, works. If you want to go do all the leg work and find that out, feel free. Get back to us when you get it all sourted out.
User avatar
DustyStyx
2D Artist
Posts: 2038
Joined: Wed Aug 11, 2004 02:12 am
Location: Salt Lake
Contact:

Post by DustyStyx »

in our licence we state right at the top.
The vast majority of the textures and sounds are properties of Infogrames® and so are NOT FREE. The engine, game code and maps are distributed under the GNU GPL license (see below) and so are FREE.

If you have any doubt about a particular file, contact us.
And then it launches into "GNU GENERAL PUBLIC LICENSE Version 2, June 1991"
User avatar
Toddd
Axe Zombie
Posts: 48
Joined: Sat Sep 04, 2004 10:52 am

Post by Toddd »

Cruaich wrote:Not even all our binaries are under the GPL, that's why we have DLL libraries for jpg and ogg.
Ah, I ever wondered why LordHavoc did not implement it directly. Unfortunately those libraries were not cross-licensed wich is sad. Cross-licensing is the way to go.
Cruaich wrote:Besides that the GPL has yet to be proven in court (thanks IBM/SCO) so right now it's really just your take on how PC you want to be. It might be all bunk in the end, but hey we can still work on it and hope for the best.
It has been proven in German courts, and I'm sure it will also be proven in American courts. The "The GPL is Anti-American" waffle by Darl McBride is so hilariously stupid :lol:

Cruaich wrote:It may be that we need to get it sourted out a bit more, maybe a mix of GPL/Creative commons/quitclam arari-monolith type licence.

For right now what works, works. If you want to go do all the leg work and find that out, feel free. Get back to us when you get it all sourted out.


That would be like mixing up the GPLed engine code. Maybe add some code from the leaked Half-Life 2 engine? Or integrate those libraries you talked about right into it? Oh, you're not allowed to? Well, but why do you mix GPLed with proprietary data, then?
The fact that you have to make your entire program GPL when you want to use GPL code was the key requirement for the success of Open Soure. The same applies to data, too.

The problem with the data in games lies with the question wether it is a mere aggregation/collective work or a derived work.

""Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole."

This could be the case for games in the first sight, but take a closer look. A game is highly interactive and everything interdepends. A mere aggregation would be for example a CD with just different data files on it or a foto album or something like that. But even this might be tricky because for example a level is a derived work from a texture used in it. So the level and all the textures and models used in it should use the same license. Same goes for textured models.

Public Domain seems to be the way to go for the level because you can always relicense PD stuff to any license you want in the future and the Public Domain does not care wich textures you are using.


Why I figured all this out? Well, I'm helping on a game called "Open Quartz" http://openquartz.sourceforge.net/ wich is an attempt to create completely GPLed data for the GPLed Quake source code.
User avatar
Elric
Cabal member
Posts: 166
Joined: Fri Aug 13, 2004 07:35 am
Location: Paris & Limoges, France

Post by Elric »

Toddd wrote:
Cruaich wrote:Not even all our binaries are under the GPL, that's why we have DLL libraries for jpg and ogg.
Ah, I ever wondered why LordHavoc did not implement it directly. Unfortunately those libraries were not cross-licensed wich is sad. Cross-licensing is the way to go.
DP uses external DLLs because LH wanted it so. There's no licensing issue behind that decision AFAIK.

As for the MAP licensing question, I have few knowledges of American laws, so I won't go deep into this debate. My opinion is that theorically we are not safe, but in practice there's very few risks, mainly because of several mitigating factors:
- we have few map ports that aren't Blood maps compared to the whole list
- we don't get any money from TF
- we don't hide the fact that some maps come from other games, and we credit them
- only the "architecture" of a map is under the GPL not the textures
- we recreated most maps nearly from scratch, we haven't just copy-pasted them

Now, well, I'm not a lawyer, and I must admit I never really thought about this problem before, neither had we discussed it as far as I remember. I think that releasing MAPs under the GPL is like releasing the game code under GPL that said, at least for the Blood maps.
About id Software, I'm not sure what would be their position regarding our particular problem. I'm quite sure that we could ask them and that we would have a quick answer though. As for the maps that were ported from non-id games (do we have some?), I honestly don't know
User avatar
Toddd
Axe Zombie
Posts: 48
Joined: Sat Sep 04, 2004 10:52 am

Post by Toddd »

Elric wrote: As for the MAP licensing question, I have few knowledges of American laws, so I won't go deep into this debate. My opinion is that theorically we are not safe, but in practice there's very few risks, mainly because of several mitigating factors:
- we have few map ports that aren't Blood maps compared to the whole list
- we don't get any money from TF
- we don't hide the fact that some maps come from other games, and we credit them
- only the "architecture" of a map is under the GPL not the textures
- we recreated most maps nearly from scratch, we haven't just copy-pasted them

Now, well, I'm not a lawyer, and I must admit I never really thought about this problem before, neither had we discussed it as far as I remember. I think that releasing MAPs under the GPL is like releasing the game code under GPL that said, at least for the Blood maps.
About id Software, I'm not sure what would be their position regarding our particular problem. I'm quite sure that we could ask them and that we would have a quick answer though. As for the maps that were ported from non-id games (do we have some?), I honestly don't know

- we have few map ports that aren't Blood maps compared to the whole list

Does not matter as long as you create the maps from scratch you can license them whatever you wish. But you mustn't use them in a game wich also has non-free data that you cannot GPL because you don't have the copyright for it.

- we recreated most maps nearly from scratch, we haven't just copy-pasted them
Nearly?

- we don't get any money from TF
This does not matter. The GPL allows explicitely that you can make money from works licensed under the GPL

- we don't hide the fact that some maps come from other games, and we credit them
You should also ask the creators of those maps wich license they want. Or you recreated them from scratch, then it does not matter.

- only the "architecture" of a map is under the GPL not the textures
This would be the same as writing a program and saying "only the type definitions are under the GPL, not the functions". It does not work this way because THE ENTIRE PROGRAM MUST BE GPLed IF YOU USE ONLY A SINGLE LINE OF GPLed CODE AND THE SAME APPLIES TO DATA.

Think about the following: Somebody knows that your maps are GPLed, and since everybody knows that in a GPLed map also the textures have to be GPLed he does no further research but uses the textures in his own game. Infogrames finds out...

I still think Public Domain would be the best for the maps. It is basicly the same as GPL without the obligation to make available the soruce code and to put a derived work under the same license.
Kazashi
Shadow Warrior
Posts: 412
Joined: Tue Aug 10, 2004 09:40 am
Location: Blue Mountains, Australia
Contact:

Post by Kazashi »

The engine, and any linked libraries, fall under the GPL. The game media i.e. that which is processed by the game engine, but not required for it to function, does not fall under the GPL. This is the difference between the program and the data it can handle. I personally don't know why the maps are up on the site as GPL, but that was the decision made for that kind of media. It can be argued that they were derived from another GPL-incompatible source, but that depends on how each individual map was created - if it was ported from an original map then it should fall under the jurisdiction of the quitclaim. If not, then the artist can choose how the map is released.

Think of this: if it were true that the entire game had to become GPL because the engine was, why are Doom and Quake and Quake 2 themselves not available through this means?
LordHavoc
Cabal member
Posts: 14
Joined: Wed Sep 08, 2004 01:20 pm
Location: USA
Contact:

Post by LordHavoc »

I am not a lawyer, but here is my understanding of the subject:

The GPL and LGPL are designed to protect the end-user from changing conditions of the software (read: Microsoft Office upgrade treadmill) and supplier (Microsoft for example), and allow the end-user to maintain their own software into the future as they see fit, and redistribute their modifications (under GPL) to anyone.

To accomplish this the LGPL requires that the binary distributed to the end-user must be exactly what the source code compiles to, it may not contain additional features/modifications absent from the source code for the module (single compiled file), the GPL adds a restriction that it must link only to other GPL modules, as allowing binary linking would let a company provide binary components that become very important to the end-user, and are never provided in source form, subverting the whole purpose of the GPL.

Side note: the GPL only applies when distributing a binary to an end-user, you can do whatever you want with GPL source code on your hard drive, as long as you never distribute it to anyone.

Now, a GPL map (source code) without textures provided is fine, the GPL has nothing much to say on the use of source code (other than not permitting removal of authors' names in derivitive works), it applies when one makes a binary from the source code, so every bsp (program) anyone compiles from a given map (source code) and accompanying textures (link into the program file), produces a GPL binary which must be accompanied by the source code to the full binary (including all other components that went into the program file), or the author must supply the source code to that specific version upon request (by email or postal mail).

The whole bsp file is considered a binary (program file) under the GPL, this means the textures used must be promoted to GPL (if they weren't already), if they can not be promoted to GPL license, then compiling the BSP and then *distributing* the binary containing the non-GPL textures would be a breach of the GPL.

Grey area: The GPL's viral linking clause requires all required materials to be GPL even if they are not directly compiled into the program file. It is clear the GPL was designed to protect the end user from absent source to extremely-difficult-to-replace non-human-readable materials. Textures are human readable, uncompiled (source code), and easily replaced (any picture will do, the product does not care about their specific content), so this is a grey area.

With that in mind, the transfusion bsp files are in violation due to DIRECT static linking to the textures because this is the nature of the Q1BSP format. (Stallman would be proud)

Now as for a solution to this problem, here are a few suggestions:

1. change the license on the map files to something less restrictive toward linking like BSD or public domain - LGPL will not work because this is static linking in the case of Q1BSP's embedded textures.

2. use a BSP format that does not include textures, this can be accomplished by switching to Q2BSP or Q3BSP which do not have textures, or modifying Q1BSP to have no texture data, or simply using a .wad of blank textures to compile the bsp, then the binary file clearly contains blank textures, and supplying that wad would not violate any licenses - besides it would compress to nearly nothing :)

3. replace all textures with GPL/LGPL/BSD/publicdomain files rather than using the Monolith textures, which would probably look different and thus lose the point of the project, which is recreating the Blood experience.

The fact that the end user is using an *optional* external pack of Monolith textures is compliant with the GPL as far as I can tell; the GPL has loopholes for optional binaries that can be replaced with functional equivilants. (And since those textures are effectively source code, making functional equivilants is easy)
User avatar
Toddd
Axe Zombie
Posts: 48
Joined: Sat Sep 04, 2004 10:52 am

Post by Toddd »

Kazashi wrote:The engine, and any linked libraries, fall under the GPL. The game media i.e. that which is processed by the game engine, but not required for it to function, does not fall under the GPL. This is the difference between the program and the data it can handle. I personally don't know why the maps are up on the site as GPL, but that was the decision made for that kind of media. It can be argued that they were derived from another GPL-incompatible source, but that depends on how each individual map was created - if it was ported from an original map then it should fall under the jurisdiction of the quitclaim. If not, then the artist can choose how the map is released.

Think of this: if it were true that the entire game had to become GPL because the engine was, why are Doom and Quake and Quake 2 themselves not available through this means?
No one says that the data has to be GPL if the engine is GPL. The data can be licensed whatever you want since it's independent from the engine.
But when you license something, you are bound by the terms of the license. The GPL says that if you use a piece of GPLed work in your work, your entire work has to be licensed GPL. So if they make the maps GPL, all the other data (textures/models/sounds) has to be made GPL, too. But the Transfusion team cannot do that because the quitclaim does not allow this. So they cannot use the GPL for their maps.

The fact that the end user is using an *optional* external pack of Monolith textures is compliant with the GPL as far as I can tell; the GPL has loopholes for optional binaries that can be replaced with functional equivilants. (And since those textures are effectively source code, making functional equivilants is easy)
Good idea! It would be even easier to just provide 2 packages: One package with GPLed content (maps/models/new hi-res textures and skins/dummy textures for the ones not yet replaced/dummy sounds) and the other one with Monolith's content as an override and the end-user would just have to upack them into the same folder (with the Monolith content overriding the dummies). Together those 2 packs would make the transfusion game :-)
The end-user would not be allowed to distribute the entire game but the 1st package.
But on the other hand this would make everything rather complicated. That's why Public Domaing all the new content makes more sense to me.

Btw: The GPL is also to ensure freedom. In the Transfusion case for example, Monolith forbids "commercial usage" while the GPL allows it. A game that is mixed with Monolith contents and GPL contents could not be sold, wich is against the terms of the GPL. That's why the GPL forbids this mixture and demands that the entire game has to be GPLed.
The GPL is a means against possible restrictions on your work.
Post Reply