otrok byl odvozen od Slovana:
staroslověnsky se Slovan řeklo slověninъ, to přešlo do řečtiny
jako Σκλαβηνός (Sklabēnós), vyvinulo se v Σκλάβος (Sklábos),
to přešlo do latiny jako Sclavus, to pak přes francouzštinu přešlo do
angličtiny jako Sclave a vyvinulo se v dnešní Slav (Slovan) a slave (otrok).
Protože Slované byli ve středověku často nuceni do otroctví.
https://en.wiktionary.org/wiki/sclavus
Etymologie samotného staroslověnského slověninъ
(Slovan):
Z Slovǫta ("Dněpr") + -ěninъ nebo jiné, podobné jméno řeky, srovnej
ruské Слуя (Sluja), polské Sława, Sławica, srbochorvatské
Славница/Slavnica. Přípona -ěninъ/-janinъ se přidává pouze k
zeměpisným/teritoriálním termínům a místním jménům, takže je
obtížné předpokládat jiné etymologie. Další etymologie nejasná.
Mohlo by být také odvozeno od nějakého pomístního jména, ale takové
jméno není doloženo (někdy se uvádí hypotetický název Slovy), ale
srovnej litevskou vesnici Šlavė́nai (foneticky totožnou s slověne -plural)
na řece Šlavė̃.
https://en.wiktionary.org/wiki/Reconstruction:Proto-Slavic/slov%C4%9Bnin%D1%8A