QuakeC Source Code Licensing Status

Discuss programming in the QuakeC language.
r00k
Posts: 1111
Joined: Sat Nov 13, 2004 10:39 pm

Re: QuakeC Source Code Licensing Status

Post by r00k »

If you open the urqp106a.txt ctrl page down all the way you will notice they started with their own 1.00 version. It's coincidence that they ended with 1.06. But this doesnt mean that they didnt start with v1.06, so i see what you mean.
* Source-related:
Added GPL headers to QC files and GNU license text to URQP package
So it seems they might have started with the non GPL version. Can they legally GPL the whole source themselves?

Which really doesnt matter if you take their changelog as a bug report and implement your own fix.

Though, how is taking their additions to a 1.06 base any worse than taking original 1.06 differences and adding it to 1.01?

The only ones who actually would have legal gripes would be idsoftware, and they basically have stated it to be GPL.
Heck the hipnotic SDK has
Copyright (c)1996 Hipnotic Interactive, Inc.
All rights reserved.
Do not distribute.
OOF! So, all that's out the window too! :P
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Re: QuakeC Source Code Licensing Status

Post by goldenboy »

Yes, it is out of the window for making a commercial game.

If you're just making a relatively obscure Quake mod, no one will care much.

Different worlds!
gnounc
Posts: 428
Joined: Mon Apr 06, 2009 6:26 am

Re: QuakeC Source Code Licensing Status

Post by gnounc »

Though, how is taking their additions to a 1.06 base any worse than taking original 1.06 differences and adding it to 1.01?
Its not.

Thats why we didnt.

We took only the differences that are clearly in the Quakeworld source code, because Quakeworld has an official gpl license status.
If there were fixes in 1.06 that were not in quakeworld (and I only recall there being one) we left it out.
More specifically the only one I remember was the shub fix, which we came up with an original fix for, so no code copied.
The fix has the same effect of not allowing shub to die, but instead of healing her, we disallowed damaging her.
r00k
Posts: 1111
Joined: Sat Nov 13, 2004 10:39 pm

Re: QuakeC Source Code Licensing Status

Post by r00k »

I spent a few hours today going thru the gpl-1.01, mostly client.qc for starters and recoding some fixes into it that arent in 1.06 or urqp for that matter :P

+ added a fix so players that connect during an intermission are properly put into the intermission
+ removed CHECKRULES and split it into two functions checkfrags and checktimelimit
+ cleaned up select spawn point, added a random spawn for deathmatch games
+ cleaned up PUTCLIENTINSERVER
+ some bitwise operations were flawed in player_jump and watermove
+ removed the body cue, and replaced it with a function similar to spawning gibs
+ changed sounds in player.qc to use ATTN_NORM so they arent global
+added a line to enable noexit 2 to obliterate the players touching an exit, noexit2 wasnt used anywhere else.. :|

there truely is alot more to be done before im even calling this clean, but i can pm u the files to diff..
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Re: QuakeC Source Code Licensing Status

Post by goldenboy »

QW has noexit2 and random spawnspots.

You can do a lot of things to qc 1.01, but it pretty quickly turns into rook's mod instead of cleanqc.
r00k
Posts: 1111
Joined: Sat Nov 13, 2004 10:39 pm

Re: QuakeC Source Code Licensing Status

Post by r00k »

HEhe ya I see what you mean. ;P
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Re: QuakeC Source Code Licensing Status

Post by qbism »

What is the definition of "cleanqc"? :twisted: Some might rather have rook's mod. :D
Competing priorities: GPL purity, legacy compatibility, and actual debugged/efficient code.
The minimum environment also matters. Vanilla 1996 Quake and qc compiler, or a somewhat bugfixed Quake and fteqcc?

Is GPL really the best solution for a scripted language like this, sandboxed as it is to a specific engine and limited in syntax? Sometimes there is really only one way to do something in qc... well at least there are fewer license workarounds available than in C. It's a blessing and a curse. The accrued mass of unlicensed or vaguely licensed source/ snippits/ tutorals over the years is a factor. If it were all changed with a magic wand, would public domain, some sort of CCA, or something else be a better fit?
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Re: QuakeC Source Code Licensing Status

Post by frag.machine »

A 100% GPL QuakeC base code ought to be mostly targeted at moders who want to create new games, so removing any Quake IP related components is a must.
As a suggestion, the code could be split in folders like this:
a) singleplayer: a minimal set of code to implement gameplay against monsters (the basic AI, like ai_face(), ai_walk(), ai_run(), etc.);
b) cooperative: the bare bones to implement coop (mostly item pick code and some triggers behavior);
c) deathmatch: again, the minimal code to implement FFA, and maybe other gameplay types, like CTF and RA;
d) common: as the name says, all code that is shared by two or more subsets above. This includes but is not limited to doors, buttons, platforms, basic triggers, etc.

One part I think is problematic is the weapon/inventory code. The original code is messy and quite limited. In almost any mod I created I rewrote it to expand the number of slots, or the number of ammo types, or to support weapon groups or weapon leveling (or any combination of these), and I observed this in many other mods. Besides, one can argue that the original weapon behavior is part of the Quake IP itself, so while not illegal keeping it would be something in the gray area.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
Spirit
Posts: 1065
Joined: Sat Nov 20, 2004 9:00 pm
Contact:

Re: QuakeC Source Code Licensing Status

Post by Spirit »

If you aim at that it would most likely end like usual. People have ideas what "must" be included, what is right, what is wrong, starting to refactor everything and in the end it gets abandoned.

Backporting / rewriting the vanilla 1.06 stuff to GPL seems the best idea. Then you can clean up from there.
Improve Quaddicted, send me a pull request: https://github.com/SpiritQuaddicted/Quaddicted-reviews
gnounc
Posts: 428
Joined: Mon Apr 06, 2009 6:26 am

Re: QuakeC Source Code Licensing Status

Post by gnounc »

this
goldenboy wrote: You can do a lot of things to qc 1.01, but it pretty quickly turns into rook's mod instead of cleanqc.
and this
spirit wrote: Backporting / rewriting the vanilla 1.06 stuff to GPL seems the best idea. Then you can clean up from there.
we were very careful to not start doing any major rewrites, and to call it done once it was brought up to v1.06 standards.
We DO encourage forking and adding the kinds of rewrites being talked about.

so PLEASE, rewrite the weapons system, rewrite the inventory, merge duplicate code, add in features like admin stuff
and upload it to a repo to share :) we would love to have those assets available
Post Reply