O MS-PL ( definição ) é muito mais liberal comparado à GPL. Não é muito idêntico, mas o MS-PL é mais parecido com a licença Apache, onde no código é fornecido como está. O software original do MS-PL não se importa se um software derivado é distribuído como fonte ou binário ou mesmo comercial. Portanto, se você usar o código MS-PL, modifique (seja trivial ou com refatoração) que você pode publicá-lo através da GPL
No entanto, é claro que você não pode remover o aviso de licença do MS-PL. E, portanto, a licença GPL concedida por você se torna essencialmente uma licença dupla. Como o MS-PL já permite que outras pessoas incluam seu trabalho no comércio, a proteção fornecida pela GPL não será mais válida! Sim, sua licença não será mais forte que a mais fraca de todas - o MS-PL.
Mais uma referência: http://www.cmswire.com/cms/web-development/taking-a-closer-look-at-microsofts-mspl-open-source-license-004248.php
Existe uma opinião geral: [ É possível reescrever todas as linhas de um projeto de código aberto de uma maneira ligeiramente diferente e usá-lo em um projeto de código fechado? ] mesmo que você modifique todas as linhas de código, ainda será um trabalho derivado; portanto, você não pode realmente excluir os termos do MS-PL.
EDITAR
Opa! Acabei de sair da tangente para ler a pergunta corretamente.
Basicamente, supondo que a GPL seja comum nas três gerações. Isto é simples. O que a GPL exige é que, para cada reivindicação de direitos autorais de arquivo, seja incluída com menção à GPL. Consulte o GPL Howto que se segue:
Qualquer que seja a licença que você planeja usar, o processo envolve adicionar dois elementos a cada arquivo de origem do seu programa: um aviso de direitos autorais (como “Copyright 1999 Terry Jones”) e uma declaração de permissão de cópia, dizendo que o programa é distribuído sob a termos da Licença Pública Geral GNU (ou a GPL Menor).
Portanto, é necessário que haja pelo menos uma reivindicação de direitos autorais anexada a cada arquivo de origem sem a qual você não pode anexar a GPL (ou qualquer licença) a ele!
Agora, a verdadeira questão no seu caso é:
se você realmente modificou muito ou quase reescreveu um arquivo, mas não inclui o nome do autor original, está violando a lei de direitos autorais? ( não copiando e colando o nome do autor original).
Isso é determinado pela noção comum de se o novo autor merece direitos autorais sobre determinadas obras. Veja esta página wiki para uma introdução primária:
Quando existe o direito autoral do trabalho derivado?
A resposta simples é: quando a mudança é significativa . Isso é bastante ambíguo, uma vez que é uma afirmação ilegal, mas é verdade. Mesmo copiar apenas ritmos, mas não palavras, e fazer remixes na música ocorre em uma área cinza severa por causa disso; e essa noção de mudança significativa varia entre as leis de diferentes países.
Dito isto, basta observar que, se você quase começou com um novo arquivo e reescreveu o programa, o novo arquivo normalmente merece seu nome, e não o autor antigo. Em geral, se você simplesmente copiar um arquivo e simplesmente alterar o aviso de direitos autorais do autor para colocar seu nome, estará violando os direitos autorais.
Portanto, como um conselho prático, se você iniciou um novo conjunto de arquivos, coloque seu nome; se você manteve os arquivos originais, mantenha os nomes originais (você pode adicionar seu nome além disso).