Page 1 of 2

The Opensource paradox

Posted: 06 Dec 2005, 21:21
by AF
I've noticed a growing fad among the AI scene, releasing the AI but being reluctant to releasethe code untill someone asks for it and rpeferably releasing ti privately to that one eprson.

We ahve yet to see source for AAI after 0.22, we havent even been told where in the code bugfixes ahve been made. And OTAI hasnt released code since the first version. The onyl people who seem to be open about what they're doign adn their code is me and Zaphod, zaphod because all his code is As is provided on the CVS and SVN, and me because every single release I make nowadays has all the code neeeded to compile with it.

If your AI is closed source state so below, otherwise bundle the source with your releases! Maybe soemone will give you fixes for bugs that they anticipate or new features you didnt have the time to do yourself... And if the itnerface changes we dotn ahve to wait for you to re-release either.

Posted: 06 Dec 2005, 21:35
by Veylon
You're right! I'll put mine up next version.
And I have the info you were asking for...

Posted: 07 Dec 2005, 01:45
by jcnossen
To be honest, if I continue on JCAI, I will let the source releases lag behind after the binary releases, just so my new l33t s3kr1t code isn't reverse engineered and applied in another AI in the next few days after. That also makes compitition more fun imo.
Anyway, I think that it's quite fair to release a basic AI opensource, but stop when you start doing the really cool stuff that will make your AI better than the other.
Nonetheless it's always good to see people releasing their sources...

Posted: 07 Dec 2005, 11:51
by Triaxx2
When I finally release mine, I'll be open source. The engine is open source, so why not my AI? Besides, it'll save me time in my Debugging. *chuckles*

And why is it, that everytime I download a copy of a source, it's compressed as a .rar? Is it a higher compression ratio or something?

Posted: 07 Dec 2005, 13:14
by Tim Blokdijk
Zaphod wrote:... Anyway, I think that it's quite fair to release a basic AI opensource, but stop when you start doing the really cool stuff that will make your AI better than the other.
Nonetheless it's always good to see people releasing their sources...
Is AI code not subjected to the GPL?

Posted: 07 Dec 2005, 13:17
by Maelstrom
AI's are created by a seperate person, so therefore do not have to be released under GPL. But most people like it if they are.

Posted: 07 Dec 2005, 13:22
by jcnossen
I'm guessing not, it's not linked to spring, you could argue that it just implements the same communication 'protocol' as spring. There have to be a lot of examples of other situations like this were the DLL isn't opensource either.

Posted: 07 Dec 2005, 19:22
by SJ
The GPL explicitly states that things dynamically linking (like dlls) to GPLed code must also be released under the GPL licence (otherwise you use the LGPL or some other variant). I guess its technically Spring linking to the AI dlls in this case though so im not sure how that is interpreted. In addition to that though the AIs reuse some spring files (the interface ones) which are GPLed. So I would say that yes you have to provide source code to anyone that asks for it and you have distributed an binary to.

Posted: 07 Dec 2005, 20:11
by AF
And I ask that everybody who releases AI's release the source unels they explicitly state that it is closed source, which from what has been posted above would violate the GPL license of spring.

I use RAR archive format because tiahs mroe options than .Zip, because I need winrar installed anyways, its free and I dont like winzip. Otherwise I'd use 7zip. And yah RAR archives have much better comrpession than zip archives. I cna stick recovery volumes and authentication stuf in a rar archive too or save alternate file streams.

Posted: 07 Dec 2005, 20:12
by jcnossen
I guess its technically Spring linking to the AI dlls in this case though so im not sure how that is interpreted.
That's what I was refering to yes, the LGPL rules apply to libraries being linked to and used by a program, but not a the other way around. Otherwise I think all Quake 3 mods must release their sourcecode because Q3 has been GPL'ed.

Posted: 07 Dec 2005, 20:28
by Veylon
Well, however it works, here's mine:
http://www.geocities.com/veylon_ii/TASp ... 03_src.zip

Posted: 07 Dec 2005, 20:31
by AF
Oh veylon, for soem reason my copy of OTAI v1.03 crashes at startup.

And to think of NTAI 0.28.10 94 people downloaded it and yet only about 2 or 3 reported that it crashed as soon as it started. I doubt you'd have known about this if you didnt find ti yourself veylon.

Posted: 07 Dec 2005, 22:14
by Veylon
Hmm...

Did you link to the right DLL? I've been using OTAId.dll. There might be issues with the other one.

If you are using OTAId.dll, check if there all of these folders:

globalai\OTAI\Log
globalai\OTAI\Profile
globalai\OTAI\UnitData

It might be trying to log and not have the folder for it.

If it does put out a log in the directory, let me know what the last few lines in it are.

Thanks!

Posted: 07 Dec 2005, 22:23
by AF
I setup the game to use OTAIr.dll and had all 3 folders present in the correct locations. It crashed nonetheless

Posted: 07 Dec 2005, 22:26
by Veylon
Try using OTAId.dll instead.

Posted: 07 Dec 2005, 22:26
by AF
I did, and got identical results, I'll check fi I kept the logfiles...

Posted: 07 Dec 2005, 22:35
by Veylon
Hmm... I'll fight with it later and see what I get out of it...
Let me know what the log says, if anything.

Posted: 08 Dec 2005, 04:25
by Triaxx2
Actually, when I release my AI, the source'll just be bundled with it.

As for if it's under the GPL license or not, I'd have to say yes. However, only the .dll itself. Because the source can be modified to preclude links to the Spring engine.

Posted: 08 Dec 2005, 13:25
by jcnossen
But AI dll's are not using the spring engine, the spring engine is using AI dll's. The AI dll's are not specifically for the spring engine, theoretically they could be used for other engines as well... so which engine license would be used?

Posted: 09 Dec 2005, 02:00
by Triaxx2
If the engine is using the .dll's, then they can be considered as part of the engine under the license. However, only the Spring AI's would be under the license. If I changed so I was operating them for the Unreal Tournament engine, they'd fall under it's license instead.