Походить з праіндоєвропейського кореня magh- — «могти, бути сильним», тобто слов’янський аналог МАГ -> MAГІЯ.
Слово sollen походить від давньоверхньонімецького solan / scolan (VIII–XI ст.) — «бути зобов’язаним». Cлов’янсикий ЗОЛА -> ЗОЛУШКА ( повинна була все робити по приказам мачухи)