Everyone every seat they add to the ones won by that party, they have the power to put in that seat someone of their faction, someone of their choice. A result of this is that if a big party's voters tried to raid the small party's list, they indeed might be able to elect some undesirable phoney candidates, but for each phoney candidate they manage to elect, they also give the party another seat. So they aren't doing any harm to the party's genuine candidates. Open list PR is invulnerable to raiding. The basic open list PR lets the voter vote for 1 candidate in 1 list, the vote counting for that candidate to get a position in the list, and also for the party, to determine its seats.
Some counties use that basic form of open list.
I recommend it because of its simplicity. Other countries have gotten fancier. You can give all the votes to 1 candidate, or you can distribute them any way you want among that party's canddiates. As before, each vote received by a candidate of a party counts also as a vote for the party to determine how many seats it wins. Really a better way to do that would be to give each voter 1 vote, and to let him punch as many names as he wants to among that party's candidates, with the understanding that this will divide his vote equally between the ones he votes for.