I don't know if any of you remember me, but I decided to finally code my C++ IRC bot. Someone (not from here) suggested that I make my bot open-source. I told him that the C++ IRC Lib WOULD be made opensource but I wasn't sure about the bot. Making it opensource seems like a good idea but I have a couple of concerns:

1) Security flaws.

See I want my bot to have the following user modes (sorted by power):

- Bot root (that is me and my access level on the bot will be the same, as currently planned, as with the bot global operators)
- Bot global operator (users that will be able to control the bot, and and can specify new bot global operators and remove old ones)
- Bot local operator (users that will be able to control the bot in a specified channel)

The thing is that if I make my bot opensource, anyone that has the bot would be able to make himself the boot root or a bot global operator or w/e... That way all the nice rank design would be screwed.

Any ideas how I might prevent this?

2) Bot configuration

There are two choices. Either configure stuff in config files or change bot source. If the bot is closed-source then only the "config files" thing would be available (remember closed source means better security). On the other hand in open-source either editing bot code or configuring config files would be available. Do you think the bot should be configed by editing code or through config files? See one reason I want to make my own bot was that I characterize config files as scripts and scripts (according to me) are less powerful that real time programming. But the pro of config files is that I can make my bot closed-source.

-----

I know it's a long message but I would really appreciate some feedback.

Last question: Do you think I should make that C++ IRC bot open-source?

BTW: I have decided that the lib the bot will use (C++ IRC lib) is going to be open-source...


Thanks in advance,
cmad


My ally is the compiler, and a powerful ally it is!