Dev meeting minutes 2010-05-23 - Page 3

Dev meeting minutes 2010-05-23

Minutes of the meetings between Spring developers are archived here.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Re: Dev meeting minutes 2010-05-23

Post by Tobi » 25 May 2010, 15:37

AF wrote:However, Shard does not link directly to spring code itself, shard links to the C API. This API was not written by spring developers, it was autogenerated by AWK. Under the GPL, anything that links to GPL code must be GPL compatible. But, anything generated by GPL code, 'output' does not become infected via the copy left license. Hence why all content generated by AWK is not GPL'ed, and why content built under Linux doesn't immediatly need to be opensourced.
By that reasoning I hereby run all Spring code through 'cat' so I obtain an exact copy of the code stripped of all licenses and copyright. :roll:

In other words, although the AWK license does not influence the license of the output of AWK, the license of the input to AWK definitely does influence the license of the output... (And the input is... Spring code)
0 x

User avatar
AF
AI Developer
Posts: 20669
Joined: 14 Sep 2004, 11:32

Re: Dev meeting minutes 2010-05-23

Post by AF » 25 May 2010, 15:41

No because gcc does not generate C/C++ code as its output, it takes it as its input.

The majority of the C API is auto-generated, it is the output of a tool whose input is a GPL awk script. This does not mean its output is instantly GPL too. A GPL tool does not infect its output with the GPL license.

There are only a handful of files in the entire interface that are GPL'd, original files in the spring folder detailing things like what integer value the attack command is etc.
0 x

Kloot
Spring Developer
Posts: 1865
Joined: 08 Oct 2006, 16:58

Re: Dev meeting minutes 2010-05-23

Post by Kloot » 25 May 2010, 15:47

AF wrote: Move to another engine

Why do you think people chose spring in the first place? You cant develop an AI infrastructure to encourage AI development on this engine, then tell people to go elsewhere as if its nothing when it doesn't suite you.
We (as the builders of said infrastructure) encourage open AI development as indicated by Spring's license. Any new AI dev (who would certainly not be aware of this alleged exemption at all) who chooses Spring but doesn't consider that aspect should inform himself better.
0 x

Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Re: Dev meeting minutes 2010-05-23

Post by Tobi » 25 May 2010, 15:53

AF wrote:No because gcc does not generate C/C++ code as its output, it takes it as its input.

The majority of the C API is auto-generated, it is the output of a tool whose input is a GPL awk script. This does not mean its output is instantly GPL too. A GPL tool does not infect its output with the GPL license.

There are only a handful of files in the entire interface that are GPL'd, original files in the spring folder detailing things like what integer value the attack command is etc.
You forget one thing: the input of AWK isn't only an AWK script.
0 x

User avatar
AF
AI Developer
Posts: 20669
Joined: 14 Sep 2004, 11:32

Re: Dev meeting minutes 2010-05-23

Post by AF » 25 May 2010, 15:54

My point is that we shouldn't enforce open development upon a sector which inherently secretive and competitive. Sure there are people who will not contribute to projects if they are not open, but in AI it is inevitably a moot point, since the primary means of contribution is not to contribute to an existing project, but to start a new one.

These people you don't want to alienate are fewer and further between in AI development here than you think, and there's nothing stopping them from simply joining an open source AI project.

Anybody who refuses to work on the engines because the separate AI projects use a different slightly different license model should really inform themselves better in that situation.

History has taught us that even in a situation where the entire AI community is closed source, it eventually shifts to being entirely open, and new projects are more often than not, open source. Experience does not match what you claim will happen, and a hardline stance will scare away interest, rather than retain it in the open friendly atmosphere exemptions foster.
0 x

User avatar
hoijui
Former Engine Dev
Posts: 4342
Joined: 22 Sep 2007, 09:51

Re: Dev meeting minutes 2010-05-23

Post by hoijui » 25 May 2010, 21:28

No part of the C AI Interface is AWK generated (but as Kloot and Tobi explained, it would not matter anyway). The new C++ AI Wrapper is mostly AWK generated, but as Tobi explained, this does not matter. This is made clear by the fact that all the generated source files also contain the GPL header.

The GPL is not limited to C/C++, and if linking in the GPL world had the same meaning as linking in the C/C++ world, GPL would be useless for most other languages.

As i see the current state in the discussion reagarding AF & Shard & AI+GPL:
  • from now on, it is made clear, and everyone accepted that there is no exception from the GPL for AIs
  • AI devs have to options: release source & binary or release nothing (regardless of possible inconveniences that this may cause them)
If your professor wants you to prove it works, and you need the community for this, but you are not allowed to release the source to this community in return for the testing, AI configurations, the engine + AI Interface, games, maps and active support, then explain it to him in these words and ask him wtf he thinks makes him being above everything, and pushing you to do something illegal.
i still would like to hear the argument they would bring up there (not that there could be a viable one, as it would always be illegal).
It is also very fishy of a universities policy to require keeping source closed, and thus being drastically anti Open Source, while running Linux on their servers, teaching Java with Eclipse and what not.
It would be nice for them to explain this here. of course they are way to busy for that, cause they are so important.
.. would they ever have discovered if you released the source from the beginning? i guess they do not read the spring forum.

Argh & only Lua AIs
you brought this up already, with the exact same arguments, and nothing has changed since. Basically, aegis gave a sufficient answer, although he was quite... simplistic, and you did not get it, so i give the full answer
Again:
You want AI to be entertaining for noobs, or give a relatively acceptable game. You think, that is what all players of the games want too, which is already wrong. In addition to that, the players are not our only clients, but AI devs are too. I (and others) do care for them, and we spend our time to serve them. You think this is stupid, and our time would be better spent doing other stuff. Luckily, you are not to decide for us, and i am pretty sure you will not be able to convince us of your way of seeing the issue. Please stop bringing up this issue without anything having changed drastically.

Better run-time performance never was a main reason for having other languages for AIs.
0 x

User avatar
aegis
Posts: 2456
Joined: 11 Jul 2007, 17:47

Re: Dev meeting minutes 2010-05-23

Post by aegis » 25 May 2010, 21:39

if someone created a wrapper for spring to run freely-available (but not GPL-compatible) AIs designed for another game, how would those AIs stand in regards to spring's license?
0 x

cranphin
Posts: 137
Joined: 13 Jun 2005, 16:37

Re: Dev meeting minutes 2010-05-23

Post by cranphin » 26 May 2010, 00:29

Dear Squeeks XD

I hope noone's forgetting we're mostly here just to have fun with each other :)

I think it's right that if Spring is GPL, anything that links to it, including AI's, need to also be GPL, no way to cheat out of that, and I think it's a fair thing in the end :)

But noone paying much attention to it and then just dumping it on AF seems well beyond fair, cruel sooner :)

There's also the option of carefully and diplomatically taking it up with anyone currently in violation, and working out a plan with each of how to clean it up, probably resulting in losing significantly less AI coders, we're short of those anyways ;)

It's not like anyone important is gonna care if everything is made GPL right this instant, nor that we're about to get sued by Microsoft or so XD

I think the case is right, but the way this is put on people ha sbeen rather bad, put the hairs in my neck up at first ;)

Anyway, my 5ct's :)

Cheerio ^.^
0 x

User avatar
AF
AI Developer
Posts: 20669
Joined: 14 Sep 2004, 11:32

Re: Dev meeting minutes 2010-05-23

Post by AF » 26 May 2010, 02:15

aegis wrote:if someone created a wrapper for spring to run freely-available (but not GPL-compatible) AIs designed for another game, how would those AIs stand in regards to spring's license?

This is a question I would like to see an answer to.

May I iterate that my supervisor has not forced me to release Shard in order to attain results. Rather it was an action chosen by myself in order to both appease him, and to gain results necessary to justify my conclusions, one I thought was perfectly acceptable, and one many others thought also as the exemption provided by SJ had never been questioned, and was accepted by the majority of established forum posters and developers of old, despite their personal opinions on what should or shouldn't be allowed.

As I said also, plagiarism, and anti cheating rules. Different universities have different rules on this, with varying opinions. I would rather play it safe and not endanger my dissertation by open sourcing prematurely. I already had to change plans after questions where raised over my use of NTai as a basis for my work, which lead me to start on a new code base to avoid certain criticisms levelled at me by academic staff who questioned whether I had an unfair advantage by using a project I had worked on for several years.

Which ironically allowed me to shed a lot of baggage and issues that I'd inherit by using NTai.


If I had not released Shard binaries, the results gathered in my dissertation would have held less value, and I could have lost potential marks. I would have had to have made a much greater effort to establish results, and would have been forced to acquire a large number of private testers, which is not always feasible.

The feedback from experienced members of the community also proved valuable.

None of this would have been possible if I had been forced to keep it all behind closed doors by the strict policy being advocated, and I would have suffered for it, and others could suffer too.

We should be as friendly as possible to all AI development, not just GPL compatible development, and we should instead encourage it, not enforce it, a policy that has worked perfectly fine for 5 years.
0 x

User avatar
Das Bruce
Posts: 3544
Joined: 23 Nov 2005, 06:16

Re: Dev meeting minutes 2010-05-23

Post by Das Bruce » 26 May 2010, 07:18

aegis wrote:if someone created a wrapper for spring to run freely-available (but not GPL-compatible) AIs designed for another game, how would those AIs stand in regards to spring's license?
They would be exempt because they were never made for a GPL product. "Common sense revolts at the idea." I think that's the quote.
0 x

User avatar
aegis
Posts: 2456
Joined: 11 Jul 2007, 17:47

Re: Dev meeting minutes 2010-05-23

Post by aegis » 26 May 2010, 07:53

if they are then exempt, the next step could be creating a universal AI framework, able to understand totally different types of games... so there's a valid reason a non-spring AI could work in spring.
0 x

User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: Dev meeting minutes 2010-05-23

Post by Argh » 26 May 2010, 09:38

However, Shard does not link directly to spring code itself, shard links to the C API. This API was not written by spring developers, it was autogenerated by AWK. Under the GPL, anything that links to GPL code must be GPL compatible. But, anything generated by GPL code, 'output' does not become infected via the copy left license. Hence why all content generated by AWK is not GPL'ed, and why content built under Linux doesn't immediatly need to be opensourced.
<sigh>

No.

If A talks to B using commands only B understands, and B then answers in commands only A understands, linking is established.

There is no magical separation that occurs due to autogeneration, generation by trained penguins, generation by mythical half-elves, spontaneous generation, or any other form. Linking is about protocols and commands.

Please read the relevant cases that have finally made it through the courts where people tried advancing that argument- this concept you're proposing was dismissed out of hand.

Same with the "it could be some other engine" argument- unless such an engine exists, and isn't obviously just a silly demo piece of crap meant to shield yourself from these arguments... no judge on Earth will buy that. Common sense generally trumps logical fallacy in the courtroom.

And no, building an AI that can be interoperable with Starcraft II (via commands that only Starcraft II understands) and Spring doesn't change anything. Starcraft II would have to be (demonstrably) identical to Spring in terms of the commands issued through whatever interface is provided.

To put it another way- a GPL'd paint program can talk to a non-GPL printer driver, sending it data using whatever protocol it or the operating system support, and make it produce output- a picture of your dog, for example.

But if that driver's written to take advantage of Special Feature X of a GPL program, which is not implemented anywhere else, you've established linking right there, because not only is your driver communicating with said software, but you are using a command that is unique to that software, and are thus directly relying on the paint program's code.



The proposal by Troy, however, has some merit- a networked AI, only available via a network, would probably be legal under the "networked device" loophole.

So, for example, you could run an 'AI Testing System' running BA and having 1 or more Shard AIs as players all the time, via autohost. That is almost certainly legal, and would allow you to collect your testing data. Sounds like a good way to achieve your goals to me.
0 x

Kloot
Spring Developer
Posts: 1865
Joined: 08 Oct 2006, 16:58

Re: Dev meeting minutes 2010-05-23

Post by Kloot » 26 May 2010, 13:27

aegis wrote:if someone created a wrapper for spring to run freely-available (but not GPL-compatible) AIs designed for another game, how would those AIs stand in regards to spring's license?
Unless the other game(s) and Spring were already quite similar in exposed interfaces, this (GPL) wrapper framework would have a complex call-in / call-out translation mechanism with many functional gaps, and the intersection of Spring's own API and that exposed by arbitrary other engines (ie. the universal part) would get pretty small pretty quickly as it expanded.

AI's written for another engine (meaning: no code allowed to be aware of the framework's existence and only using functionality provided by the native engine) would then only use those parts of the wrapper corresponding to the interface of the other game, since they would have to remain able to link to that engine directly. Their legal status would not be an issue AFAICS.

AI's even in part written directly for the framework (as opposed to a specific engine) would still need to be GPL'ed.
aegis wrote:if they are then exempt, the next step could be creating a universal AI framework, able to understand totally different types of games... so there's a valid reason a non-spring AI could work in spring.
Good luck. ;)
AF wrote: Anybody who refuses to work on the engines because the separate AI projects use a different slightly different license model should really inform themselves better in that situation.
You're not playing this game. There is only one license model presented.
AF wrote: ...one I thought was perfectly acceptable, and one many others thought also as the exemption provided by SJ had never been questioned, and was accepted by the majority of established forum posters and developers of old
This isn't a case of everyone silently going along with an unwritten rule as you seem to think. SJ's exemption (even if he ever provided it) for all intents and purposes doesn't exist, certainly not in a legal sense. We cannot question what isn't there for obvious reasons.
AF wrote:We should be as friendly as possible to all AI development, not just GPL compatible development
We've heard your position, and you have heard ours.
0 x

User avatar
FLOZi
MC: Legacy & Spring 1944 Developer
Posts: 6109
Joined: 29 Apr 2005, 01:14

Re: Dev meeting minutes 2010-05-23

Post by FLOZi » 26 May 2010, 13:45

The exemption did exist in so far as SJ agreeing to it. At any rate, AF, regardless of the petty squabbling over the legalese, was quite right to release binaries and hold off on releasing code until it is safe for him to do so. :|

A crackdown on this issue can only be counter productive.
Last edited by FLOZi on 26 May 2010, 16:58, edited 1 time in total.
0 x

User avatar
AF
AI Developer
Posts: 20669
Joined: 14 Sep 2004, 11:32

Re: Dev meeting minutes 2010-05-23

Post by AF » 26 May 2010, 15:34

I would also like to point out that AI != engine. We can use our own licenses, and with the exemption gone, we need only make sure they are GPL compatible.

Thus my point still stands. AIs use a different licensing model, precisely because they are their own separate entities, separate code base, separate projects.

It also appears Argh has yet to even look at Shard as demonstrated by his lack of knowledge, nor has he thought of the consequences of what he says ( If you follow the arguement through, you reach the conclusion that Internet explorer violates the linux kernel GPL license because it links with the linux code via networking should any linux users or server administrators decide to log onto the internet)
We've heard your position, and you have heard mine.
fixed
0 x

User avatar
hoijui
Former Engine Dev
Posts: 4342
Joined: 22 Sep 2007, 09:51

Re: Dev meeting minutes 2010-05-23

Post by hoijui » 26 May 2010, 22:52

please AF, stop it now.
I am pretty sure that all the engine dev team agrees with everything Kloot said so far, i sure do. We have agreed on the course he explains in the meeting.
Also, all your arguments are totally selfish and arrogant, to an extend that it is quite disgusting to me. You just disregard everything that you do not like, and then try to put together arguments for it somehow.
You disregard the order from your prof that says "do not release binaries" because you want the results for your career, but you do not disrespect the order "do not release source", because others could steel form you or .. whatever (the only reason you gave does not apply, as it is not based on NTai, as you explained yourself). as was noted by someone earlier, you were specifically against the exception in the past, because back then, it was working against your selfish wants.

to anyone:
There is no exception, there will be none, and it does not matter if there was one.

AF should act accordingly from now on, but is allowed to release source of Shard only after his due date, but should not release binaries anymore until then.
As i got it, he accepted this already (am not totally sure).

There are pro and contra an exception, and what i grasped form this discussion, i am very sure that the spring dev team members can see most of them, while the majority of the rest in here looks at it only from one point of view (eg. AF, engine dev, mod dev, users/players), which is not acceptable for this issue.
It was decided.
0 x

User avatar
aegis
Posts: 2456
Joined: 11 Jul 2007, 17:47

Re: Dev meeting minutes 2010-05-23

Post by aegis » 26 May 2010, 23:49

and re: having to provide the source if someone uses it over the network... I thought that was just agpl?
0 x

cranphin
Posts: 137
Joined: 13 Jun 2005, 16:37

Re: Dev meeting minutes 2010-05-23

Post by cranphin » 27 May 2010, 00:16

aegis wrote:and re: having to provide the source if someone uses it over the network... I thought that was just agpl?
Yeah, I'm pretty sure running it only at home but hosting games with the ai would be allowed under gpl, since no binaries are distributed and only network connections are made, which is indeed the reason to create the AGPL (Affero GPL) :) You could give it to someone else to host too, as long as you give them the source also :D
0 x

User avatar
aegis
Posts: 2456
Joined: 11 Jul 2007, 17:47

Re: Dev meeting minutes 2010-05-23

Post by aegis » 27 May 2010, 00:36

you only need to give the third-party host the source if he requests it :P
0 x

User avatar
SinbadEV
Posts: 6475
Joined: 02 May 2005, 03:56

Re: Dev meeting minutes 2010-05-23

Post by SinbadEV » 27 May 2010, 04:49

I stopped reading a few pages back... essentially, my understanding of GPL is that you could distribute binaries for marking etc and even privately distribute your binaries under the guise of "personal use"... it's the public release of the binaries without the accompanying source code that is at issue here... worst case scenario you have to keep the binaries to yourself until the code is made available... I'm not a lawyer though and in my OPNINION AI's and widgets aren't really part of the engine any more then the matching clients, games, maps, models and unit scripts... and if GPL says they are then it's a strange choice of license for a project of this nature.
0 x

Post Reply

Return to “Meeting Minutes”