Лучшая лицензия Open Source для тех, которые желают атрибуцию? [закрытый]

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

Это вполне возможно, но это вызовет большие головные боли у всех, кто работает над веткой функций, основанной на старых коммитах. Это также сломает все ваши теги, которые будут продолжать указывать на исходные коммиты, если вы не удалите и не создадите заново каждый из них, что может сломать любого, кто делал сборки и т. Д., От старых указателей тегов.

По сути, вам просто придется жить с грязной историей, которая отказывается соответствовать более современным принципам. Вроде как в реальной жизни.

Единственное исключение из этого правила, если вы можете найти какой-нибудь способ взлома этих оригинальных коммитов, чтобы сгенерировать хеш-коллизий . Это заставит следующие коммиты думать, что они все еще указывают на исходные коммиты. Это было бы нелегко осуществить и почти наверняка нежелательно, поскольку взломанные коммиты выглядели бы как беспорядок, но Git использует SHA-1 , который был взломан , так что это технически можно .

18
задан serv-inc 21 July 2018 в 10:25
поделиться

3 ответа

Как насчет лицензии Apache 2.0:

Необходимо сохранить в Исходной форме любых Производных Работ, которые Вы распределяете, все авторское право, патент, товарный знак и уведомления атрибуции от Исходной формы Работы, исключая те уведомления, которые не принадлежат никакой части Производных Работ; и

Но я думаю, что Вы волнуетесь слишком много. Большинство пользователей кода FOSS счастливо сохранит атрибуции, лицензию или нет, и у Вас действительно есть финансовые ресурсы для преследования их немногие, кто не делает?

16
ответ дан 30 November 2019 в 07:18
поделиться

Я рекомендую, чтобы все программное обеспечение лицензировалось под Поэтической вольностью:

(c) <год> <имя>
Эта работа 'поскольку-is' мы обеспечиваем.
Никакая фактическая или подразумеваемая гарантия.
Мы приложили все усилия,
отладить и протестировать.
Ответственность за убытки отклонена.

Разрешение дано настоящим,
для копирования совместно используйте и измените.
Использование, как пригодно,
свободный или для прибыли.
Эти права, на этом уведомлении, полагаются.

Это - по существу лицензия MIT как лимерик. Однако я не уверен, точно ли это, что Вы хотите. Как ответ шутки, я общественный редактор Wiki это так люди не думали бы, что я был распутством представителя.

Но я, лично, буду использовать Поэтическую вольность на таком количестве программного обеспечения, как я могу выровнять по ширине мне.

16
ответ дан 30 November 2019 в 07:18
поделиться

Лицензия BSD имеет пункт атрибуции в ней:

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

Мне нравится лицензия BSD, потому что это является коротким, прямым, и легким постигать.

Я сравнил бы его с Лицензией Apache 2.0, которую видит предложенный Neil и, какой лучше удовлетворяет Ваши потребности.

6
ответ дан 30 November 2019 в 07:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: