QuakeC Source Code Licensing Status
Moderator: InsideQC Admins
55 posts
• Page 4 of 4 • 1, 2, 3, 4
Re: QuakeC Source Code Licensing Status
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.
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
OOF! So, all that's out the window too!
* 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!
- r00k
- Posts: 1110
- Joined: Sat Nov 13, 2004 10:39 pm
Re: QuakeC Source Code Licensing Status
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!
If you're just making a relatively obscure Quake mod, no one will care much.
Different worlds!
-

goldenboy - Posts: 924
- Joined: Fri Sep 05, 2008 11:04 pm
- Location: Kiel
Re: QuakeC Source Code Licensing Status
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.
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.
-

gnounc - Posts: 424
- Joined: Mon Apr 06, 2009 6:26 am
Re: QuakeC Source Code Licensing Status
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 
+ 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..
+ 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..
- r00k
- Posts: 1110
- Joined: Sat Nov 13, 2004 10:39 pm
Re: QuakeC Source Code Licensing Status
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.
You can do a lot of things to qc 1.01, but it pretty quickly turns into rook's mod instead of cleanqc.
-

goldenboy - Posts: 924
- Joined: Fri Sep 05, 2008 11:04 pm
- Location: Kiel
Re: QuakeC Source Code Licensing Status
HEhe ya I see what you mean. ;P
- r00k
- Posts: 1110
- Joined: Sat Nov 13, 2004 10:39 pm
Re: QuakeC Source Code Licensing Status
What is the definition of "cleanqc"?
Some might rather have rook's mod.
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?
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?
-
qbism - Posts: 1236
- Joined: Thu Nov 04, 2004 5:51 am
Re: QuakeC Source Code Licensing Status
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.
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)
-

frag.machine - Posts: 2090
- Joined: Sat Nov 25, 2006 1:49 pm
Re: QuakeC Source Code Licensing Status
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.
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
- Spirit
- Posts: 1031
- Joined: Sat Nov 20, 2004 9:00 pm
Re: QuakeC Source Code Licensing Status
this
and this
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
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
-

gnounc - Posts: 424
- Joined: Mon Apr 06, 2009 6:26 am
55 posts
• Page 4 of 4 • 1, 2, 3, 4
Who is online
Users browsing this forum: No registered users and 1 guest