著作権を持つことによって得られる権利の中に、二次利用を禁止する権利(同一性保持権や翻訳権、翻案権等)があります。つまり、二次利用を認める/禁止する権利は、いろんな権利が集まった「著作権」に含まれるものです。  公開キー取得の際の条件である「二次利用許可」は、プログラムを公開した時点で「私は二次利用を許可しました」=「著作権のうち、二次利用を禁止する権利を行使しません」という意思表示になります。つまり公開キーを取得した時点で、二度と二次利用を禁止する事は出来なくなります。  二次利用許可(契約)と著作権どちらが有効かというと、(両方とも有効ですが、強いて言えば)「二次利用許可の契約」となります。