「善意(ぜんい)」というと,一般的には親切心や好意を意味しますが,法律用語では全く違う意味です。
法律用語における「善意」とは,「(その事実を)知らない」ことです

反対語は「悪意(あくい)」で,これも一般的な悪い意味ではありません。
法律用語における「悪意」とは,「(その事実を)知っている」ことです

例えば,
民法563条2項には,「前項の場合(売買の目的である権利の一部が他人に属することにより、売主がこれを買主に移転することができないとき)において,残存する部分のみであれば買主がこれを買い受けなかったときは、善意の買主は、契約の解除をすることができる。」とあります

他人の物を売買の目的物とすることは,法律上は何の問題もありません
(もちろん,他人の物を勝手に売ってよいということではなく,例えば,甲の所有するA土地の隣に乙の所有するB土地がある場合,甲は,丙に対して,乙からB土地を取得するので,A土地とB土地を一緒に買ってくれと言って,丙との間でA土地およびB土地の売買契約を締結することは可能ということです。)

上記の規定は,目的物の一部が他人の物であって,売主がその他人からその一部を取得できなかった場合,残存する部分のみでは買主が買わなかったというのであれば,「売買の目的である権利の一部が他人に属すること(目的物の一部が他人の物であること)を知らなかった買主は,契約を解除することができる」としているのです。

買主の道徳心の有無や性格は問題ではなく,単に「目的物の一部が他人の物であること」を知っているか(悪意),知らないか(善意)で,契約の解除ができるかが決まるということです。