Hostage may have once been its own antonym. We know the word came to English from its Old French cognate, but there it gets muddled. One of the theories says that it's from Old French hoste, or "guest" (I know it seems weird, but over time it may have became more like "unwilling guest") and the suffix -age. If this is the case, hoste would be from Latin hospes, which had a double meaning of "guest" and "foreigner". Through Proto-Italic, this goes to the Proto-Indo-European root ghosti (same meaning). That, however, is only one theory; the other widely acknowledged one is less interesting semantically but more so linguistically. Some acclaimed etymologists state that hostage is actually a folk etymology corruption of another Old French word, ostage (people added the h to make it sound like host), from Latin obses, both of which also meant "hostage". This would be from ob-, a prefix meaning "in front of" and sedere, "to sit", reflecting the submissiveness of hostages. This, Proto-Italic sedeo, would trace to PIE sed, "sit". Both theories have their merits, and we can take this uncertainty as a reminder that etymology as a whole is often uncertain.
Hello! I'm Adam Aleksic, a sophomore studying government and linguistics at Harvard University, where I co-founded the Harvard Undergraduate Linguistics Society. In addition to etymology, I also really enjoy politics, vexillology, geography, board games, conlanging, and law.