Great discussion! Of the proposals made so far, I think some call for a lot of changes to the AI in the direction of much greater complexity, and some of the ideas are a bit vague. Some (e.g. B in the first post) are both, I think.
I find that the AI for each civ is already making trading decisions to its own advantage, and it should be doing that rather than trying to be hard-for-the-human-player. I mean, it should be making things hard for the human player by trading in a way that is more advantageous to itself than it is to its enemies and to whoever is the most powerful player (friend or foe). It is in its advantage to buy techs, and to sell techs, determining buying and selling values on the bases of degree of freindship, on how much money it has at the time, on which techs it needs or likes most, on whether it needs to keep some money for buying ships or improvements, etc. I think it does these things. Limiting tech trading will make things harder for the AIs as well as for the human.
Proposal C in the original post invites the question, how should civs become friendly with each other, if not by gifts of tech? Would it be by gifts of ships, or credits, or influence points? I would have fun becoming friends with some civs by giving it ships loaded down with components with high maintenance costs, that the civ had no use for. Or I might give it military starbases constructed in remote corners of the galaxy, with the result that the civ's starbase logistics points would get used up uselessly, and I would be rewarded with friendship. By trying to make the game more challenging, it would open the door to new exploits, I think.
I don't understand proposal D. Proposal E could be a fun option, but I think it would call for some heavy adjustment of the AI, so a civ would protect its freighters more carefully, and civs at war would be more inclined to chase down its enemies frieghters so as to limit its tech trade abilities. If the human player controls the civ that tends to do all the research, which happens in my games (probably yours too?) then the AI would naturally want to send its freighters to the human player most of all; would this not result in the game being made easier for the human, because the human would get a lot more trade revenue than the other civs, and have more tech trading possibilities? I expect it would, but I'm open to correction.
Big96D offered, "H. Should only be able to trade techs that you researched. This goes for the Ai also. Sort of like trade goods." I think I like the sounds of this, but I would want to know whether "trade" here means "giving in exchange for something else" or "distribution, whether in exchange for something or not"? If the former is meant, I think this would be a good idea. If it means the latter, and I think it does (because that's how trade goods work) then each civ would have to be very careful not to get certain techs through trade. If I acquired "Alliances" for example, from a civ, then I would have a tough time making alliances with other civs, because I couldn't even give the tech to them. If I acquired Phasors from someone, I couldn't give them to my ally. This would complicate the AI.
I'll offer an idea inspired by Big96D's: When civ A sells or exchanges a tech to civ B that was first gotten from civ C, programmatically civ B values the tech at half of what it would normally, and if the transaction goes through, civ C gets the equivilent of this value in monetary credits. In effect, then, civ A gets half of what he would have gotten for the tech if he had researched it himself, civ C gets a bonus for having been the ultimate provider, and civ B gets a slight deal for it being a second-hand tech. I think this would be fairly easy to program; civ B is calculating a perceived value anyway; all that would have to be added would be a table of tech trade histories that would be checked whenever tech trading was attempted. This idea is probably open to improvement in lots of ways. Thoughts?
Have a great day!