UFO:AI supports mod development. The main mod is the base mod. To create a new mod, just create a new directory in the UFO:AI mods directory. E.g. name it mymod. Start UFO:AI with
./ufo +set fs_gamedir mymod
Every file that is "overwritten" in your mod takes the precedence over the files in the base directory. Of course you can also add new files with this. New maps, new scripts, new textures and so on.
Server logic (Battlescape)
Modding the battlescape is possible by providing your own game lib. The code for our main game is in src/game.
Modding the client logic is possible, too. We already have gametypes implemented for multiplayer, skirmish and campaign. The code for our main games is in src/client/cgame