Penguin as logo/mascot for Linux was discussed first in early 1996 by several people in the linux-kernel mailing list. The idea of such mascot came from Alan Cox first. Among many other suggestions made by different people there were parodies of other operating system logos, sharks or even eagles.
At some point Linus Torvalds casually mentioned that he was rather fond of penguins and it stopped the debates at once.
The first person called the penguin “Tux” was James Hughes who said that it stood for “(T)orvalds (U)ni(X)”. Tux was designed for a Linux logo contest.