Как известно, GPL требует распространения всех производных работ от GPL'ьной программы под GPL той же версии. А какие точные критерии того, что программа считается производной работой? Если исходный текст программы сам содержит текст GPL'ьной программы - это и ежу понятно, что это производная работа. Но ведь и, если программа динамически линкуется с библиотекой, то она тоже считается производной от этой библиотеки. Так вот, какие точные критерии того, можно ли считать работу производной? Например, следующие случаи:
1) Разделяемая библиотека, которая предназначена линкования не с конкретной программой, а с различными, среди которых есть и распространяемые не под GPL. Например, плагин для браузера. Если он проприетарный, то распространение его вместе с GPL'ьным браузером является ли нарушением GPL?
2) Программа клиент-серверной архитектуры, причём клиент и сервер взаимодействуют не по какому-либо стандартному протоколу, а собственному и, можно сказать, созданы друг для друга. Если сервер под GPL, то клиент должен ли быть тоже под GPL.