214のリンク先の答えは微妙かと思われ。
それだと、変数名や関数名を変えただけとか、
ソースの構成を変えたりとか、他言語に移植しただけとか、
そういうのがゆるされることになっちゃうよ。
程度の問題なんだろうけど、実際に裁判で争ってみなきゃ分からないんじゃないかしら。
というわけで明確な線引きができる人はいないと思います。