Originalmente en los semáforos el rojo significaba parar y el verde significaba proceder con precaución, siendo el blanco el color correspondiente a vía libre. Sin embargo, desde mucho antes de la creación del primer semáforo (en 1868 en Westminster) los barcos utilizaban el código de colores de rojo a babor y verde a estribor. Estos colores se utilizaban para para señalar el derecho de paso: cuando un timonel veía la luz roja de otro barco sabía que debía ceder el paso mientras que si ve una luz verde tenía preferencia.
La razón por la que se escogieron estos colores en el mundo marítimo no está del todo clara, pero podría deberse a que el rojo se asocia en la naturaleza con el peligro, mientras que el verde es uno de los colores más habituales en el medio ambiente y por lo tanto se asocia con normalidad (de hecho los seres humanos podemos distinguir muchas más tonalidades de verde que de otros colores).
Vía: Wikipedia