Page 1 of 1

Friendly bots source code

Posted: 10 Jul 2012, 18:43
by jamal
Hello, i followed the discussion about guild bot.
I would like to know if the source codes of the authorized bots are freely available like everything else in TMW, according to the wiki friendly bots should be free software but that doesn't imply that the source code should be available too.
I'm talking about these three bots ManaMarket, AuctionBot and guild, since the others are currently inactive.
While that would be true where can i download these source codes?
Thank you so much for the help.

Re: Friendly bots source code

Posted: 10 Jul 2012, 19:08
by baseballboy
Richard Stallman wrote:Free as in freedom, not free as in free beer.
As I recall I do not believe the source code is available from the host/authors. With that being said it's pretty simple to write similar functions. Take a look at the tmwa chathandler for a quick and dirty look.

-BBB

Re: Friendly bots source code

Posted: 10 Jul 2012, 20:27
by o11c
The intent was to require all bots' source code be publicly available. But at least one author balked at that, and nobody cared enough to force the issue.

Re: Friendly bots source code

Posted: 10 Jul 2012, 21:40
by Dude
o11c wrote:The intent was to require all bots' source code be publicly available. But at least one author balked at that, and nobody cared enough to force the issue.
Curious who balked. PM if you're reluctant to out the person publically.

Re: Friendly bots source code

Posted: 10 Jul 2012, 22:00
by Frost
Personally, I worry that it would be easier to exploit the bots. There is no shortage of clever people who would love to find a way to abuse them, even if that resulted in them being taken offline.

One great advantage of published code is that some of those who find problems will submit solutions. However, each change would have to be carefully reviewed before it went into the bot, and we might not be able to do this very quickly.

This is not groundless paranoia: we've already had one programmer who apparently identified ways to exploit the server, and then when his proposed changes were not accepted, attacked the server to support his argument.

Re: Friendly bots source code

Posted: 10 Jul 2012, 22:24
by Dude
Frost wrote: This is not groundless paranoia: we've already had one programmer who apparently identified ways to exploit the server, and then when his proposed changes were not accepted, attacked the server to support his argument.

ah, yes....the good old days. Forgot about that little incident. I retract my earlier curiosity.

Re: Friendly bots source code

Posted: 11 Jul 2012, 09:35
by Nard
Frost wrote:This is not groundless paranoia: we've already had one programmer who apparently identified ways to exploit the server, and then when his proposed changes were not accepted, attacked the server to support his argument.
TMW eA is still open source though. It is the choice of the authors that the bots are open source or not. It is a strategic choice of administrator to require bots to be open source or not. I would prefer that they are, though there is always the possibility that the actual code differs from the published one.

Re: Friendly bots source code

Posted: 11 Jul 2012, 11:54
by Crush
It's a common misconception that "Open Source" means "Open Source for everyone". Most copyleft licenses only force you to give the sourcecode to whoever runs your software. You are not obligated to publish it to the general public unless you also publish the binary program in the same way. When you run a program on your own system, you needn't give away the sourcecode at all.

A notable exception is the Affero General Public License, which also requires to give the sourcecode to everyone who interacts with your software over a network. But this is a quite obscure license which is rarely used at the moment. Although now that the age of cloud computing has started it could become a very important license for the free software community.

Re: Friendly bots source code

Posted: 11 Jul 2012, 12:10
by Nard
You are perfectly right when speaking in terms of License. I should have more precise. I spoke about the word "Open" which also means accessible in usual sense.

Re: Friendly bots source code

Posted: 11 Jul 2012, 12:41
by Crush
o11c wrote:The intent was to require all bots' source code be publicly available. But at least one author balked at that, and nobody cared enough to force the issue.
In my opinion, the GMs didn't care enough about town-dwelling bots at all. The usual way to deal with them in the past was to just ignore their existence until they became an accepted part of the community and then start negotiations about getting an official approval of the bot.

At that point it is pretty much impossible to deny approval. Just think about the community uproar which would have happened when auctionbot, manamarket or guildbot would have been disapproved all of a sudden. So the admins are in a very weak position when they want to negotiate formalities like getting the sourcecode or forcing the bot owner to follow certain rules.

When GMs would deal with unauthorized bots "by the book" they would ban them on sight and then force the owner to comply with the server rules for friendly bots - including publishing the sourcecode - before unbanning it.

Re: Friendly bots source code

Posted: 11 Jul 2012, 15:07
by Nard
jamal wrote:Hello, i followed the discussion about guild bot.
I would like to know if the source codes of the authorized bots are freely available like everything else in TMW, according to the wiki friendly bots should be free software but that doesn't imply that the source code should be available too.
I'm talking about these three bots ManaMarket, AuctionBot and guild, since the others are currently inactive.
While that would be true where can i download these source codes?
Thank you so much for the help.
To give a more precise answer:

Re: Friendly bots source code

Posted: 12 Jul 2012, 02:58
by Frost
Crush wrote:In my opinion, the GMs didn't care enough about town-dwelling bots at all. The usual way to deal with them in the past was to just ignore their existence until they became an accepted part of the community and then start negotiations about getting an official approval of the bot.
While it's true that some bots "just sort of happened," since the TradeBot situation there has been a lot more awareness about whether bots are authorized and what "authorized" actually means (e.g. does the GHP assume some responsibility for it?)
AFAIK guild was the first one to go through the formal approval process before it was permitted in game. I heard a bit about this from Jero. He basically had to give the GHP a description of the bot functionality, an explanation of how it would benefit the game, and the source code for the proposed bot.

ManaMarket went through that approval process about a year later. AuctionBot has also been formally approved. I'm personally not aware of any other such bots in the game which perform actions.
At that point it is pretty much impossible to deny approval. Just think about the community uproar which would have happened when auctionbot, manamarket or guildbot would have been disapproved all of a sudden. So the admins are in a very weak position when they want to negotiate formalities like getting the sourcecode or forcing the bot owner to follow certain rules.
I believe there was some discussion about yanking AuctionBot. Fortunately, gnurfk and the GHP worked together to get it quickly approved. I think this says as much about the personalities involved as it does about the bot itself.

As an admin, my concern is actually more about integrity and effect on the game than whether I feel weak or strong. I would argue that anyone who creates a bot and then refuses "to negotiate formalities like [giving] the sourcecode or [agreeing] to follow certain rules" has punched their own ticket to Banville.
Put simply, if a bot does not have the trust of the player base, it will be removed. This has happened.
When GMs would deal with unauthorized bots "by the book" they would ban them on sight and then force the owner to comply with the server rules for friendly bots - including publishing the sourcecode - before unbanning it.
This was probably before I joined the game. My best guess is that the situation would now be handled by talking with the bot creator and trying to start the approval process. Part of that would include agreeing to leave the bot out of the game unless and until it's fully approved. A ban is merely a tool to enforce the rules when necessary.

This is the first time I've heard that the source code should be "published" as opposed to just "provided." Then again, I haven't seen the formal process. Do you have a reference for this?

Re: Friendly bots source code

Posted: 12 Jul 2012, 05:37
by o11c
Links to private forum:

TradeBot: http://forums.themanaworld.org/viewtopi ... 83#p124176
AuctionBot: http://forums.themanaworld.org/viewtopi ... 23&t=14393
ManaMarket: http://forums.themanaworld.org/viewtopi ... 23&t=13890

Interestingly, I *can't* find any information about guild.

Re: Friendly bots source code

Posted: 12 Jul 2012, 15:18
by Big Crunch
o11c wrote:Links to private forum:

TradeBot: http://forums.themanaworld.org/viewtopi ... 83#p124176
AuctionBot: http://forums.themanaworld.org/viewtopi ... 23&t=14393
ManaMarket: http://forums.themanaworld.org/viewtopi ... 23&t=13890

Interestingly, I *can't* find any information about guild.
the guild bot was approved by freeyorp. The source code was given to both freeyorp and jaxad. Most of this was done via email and IRC.

As far as 'catching' bots of this nature they generally display no outward sign of activity. Guildbot is just a whisper router, in essense, and doesnt interact with anyone at any time, ergo, no real way to 'catch' them.

ManaMarket was extensively tested on the testing server prior to a formal 'Official Bot' request, and then it was tested more once it was approved, both on the testing server and on the main.

Re: Friendly bots source code

Posted: 12 Jul 2012, 21:37
by Matt
Dude wrote:
Frost wrote: This is not groundless paranoia: we've already had one programmer who apparently identified ways to exploit the server, and then when his proposed changes were not accepted, attacked the server to support his argument.

ah, yes....the good old days. Forgot about that little incident. I retract my earlier curiosity.
Haha. :lol: