Кому должен принадлежать закрытый ключ, используемый для подписи сборки .NET, когда ее проект с открытым исходным кодом? [закрыто]

Более конкретно, сборка библиотеки классов. Мои первые мысли:

Попросите некоторых назначенных администраторов подписать сборку. Но затем, когда исправляются ошибки и пишутся новые версии, двоичные файлы в конечном итоге будут зависеть от их наличия (даже если это будет небольшое изменение по личным причинам).Ключ может быть общедоступным. Но это идет вразрез с методами шифрования с открытым ключом, и вы теряете преимущество доверия и идентичности.Разрешить конечным разработчикам и дистрибьюторам подписывать его своими собственными ключами. Но тогда вы теряете модульность, поскольку каждая новая подпись делает ее несовместимой с некоторыми другими версиями.

Конечно, вы не могли просто подписать собрание. Но если другой проект, требующий подписи их сборки, ссылается на вашу библиотеку, вы получаете ошибку компиляции.