What does "long" mean before a name?
Somehow the suggestion that we don't really know the reason behind "Long" as John Silver's nickname, is not terribly convincing.
Nowadays, yes, anything goes. If a relatively short man is nicknamed "Long", I would either interpret it being as a ironic comment on his evident lack of height, or I'd imagine that something else about him must be long. And if it wasn't his name, hair or nose, it would have to be something else, which for the moment escapes me.
No, historically the epithet Long was given to people who were considered exceptionally tall for those times. There were also several variations on the theme of Long. such as Longfellow meaning tall, good companion; Longstaff . "well endowed" and Longshanks meaning "long legs" or "long shins". Back in the late 1800s the average height of a man in
England was about 1.66 m, today that figure has risen to 1.78 m
I don't have any data for the 1700s but it's easy to imagine that men and women were even shorter, and therefore anyone above 1.70m in those days must have really stood out from the crowd.
Examples of famous men whose nicknames were or contained the term "Long"
Dexter Gordon: Long Tall Dexter. (February 27, 1923 – April 25, 1990) 6 feet 6 inches (1.98 m)
Thomas Jefferson: Long Tom. (April 13 [O.S. April 2] 1743 – July 4, 1826) 6 feet 2 inches (1.88 m)
Edward I: Edward Longshanks (17 June 1239 – 7 July 1307) 6 feet 2 inches (1.88 m)
Long John Silver (mid-1800s) A fictional character, his actual height is not mentioned in Robert Louis Stevenson's novel, Treasure Island. However, the author intentionally made him tall.