Techleak can create game altering UI mishaps
The basic cost of a tech is known to clients. Also the cost reduced from tech_leak is known (in the 'researching_cost') player field. What's not known is the reduced cost of other techs. The only way to find out is to change your research to one. The problem is, the cost may be reduced by so much that it leads to immediate discovery of it. That is, the only way to find out is to change your research to that tech, which might be reduced in cost enough to cause the instant discovery thereof.
I suggest this problem can be fixed by making the client be privy to the actual tech_leaked cost of a tech, which the server knows. It could go in the techs array on the client side.
This has an additional bonus of reducing the flaky behaviour of clicking on lots of techs when your bulb count is low, to see the tech_leak to get 'world intel', but not doing so at other times. Then having to ask allies to do it for you at other times in order to receive the same intel as other players. Imagine if, all players had the same intel easily available and there were no fussy clicky-games nor potential land mines of immediate unintended discovery!
Personally I'd say this is more of a realistic feature than a bug and doesn't need to be "fixed".
Think how this works in reality? Tech development is too rigid and controllable as it is, so I don't think we as players need even more control over it.
I'd wish we could get Alpha Centauri like tech development as option in Freeciv. Where you just pick field to research in, not specific technology, and get what comes.
Reply To (Anonymous)
Mantra: Freeciv is not a simulator. The tech tree that you know from stone age is not realistic any way but it's how we play it. This feature probably should not be mandatory but the point is true: it's silly that we can freely check tech costs at low bulbs but can't at high bulbs. Either show the costs on the tree, or let reselect the tech despite of bulbs (be it researched only after confirmation, or only at TC). It's even a step to realism: tech leakage models how widespread is a tech around us, we should have heared of it if it is.
Random mishaps, if desired by the ruleset creator, should be programmed by the ruleset using actual server functions to create the mishaps. To say that a flaw in the Client UI's interaction with the server is the way to enforce realism on all rulesets is laughable, no offense but it's completely invalid.