170 похожих чатов

Давно думал спросить - а как правильно использовать "чужие куски

кода" в своем, есть ли где-то нормальный гайд для людей без степени в common law?
Конечно, с первого взгляда вопрос выглядит как "а как работу работать" или "как программировать" - но я поясню подробнее:
Если это небольшой кусок кода с очень пермиссивной лицензией - то все просто, просто сопровождаешь кусок кода комментом откуда взято или под каким условием распространяется - так можно использовать снипетты со stackoveflow или же вездесущий код от Sun Microsystems
Чуть посложнее с MIT. Можно утащить прям весь код - но нужно? получается, либо засунуть полную лицензию в заголовок файла, либо оставить заголовок с краткой лицензией и сослаться на исходную лицензию в отдельном notice файле (предпочтительный вариант, если модифицируешь код или вставляешь только часть в файл). И тут такая странность - почему везде народ ведет только единственный NOTICE.txt или THIRD_PARTY_NOTICES в репе, а не отводит под это отдельный каталог - с отдельными документами под каждое заимствование?
Еще сложнее с Apache20. Если ничего не модифицируешь - то та же ситуация с заголовками и нотисами, что и у MIT. Только надо еще где-то сослаться (где?), что твой код идет под MIT, а вот этот конкретный кусок - под Apache. А вот если модифицируешь - тут прям какая-то головная боль. Вот например, если я хочу взять лайфтаймы от JB - и сделать альтернативную реализацию, частично используя код из Jetbrains.Lifetimes, частично собирая с нуля. Вроде как получается мало того, что я должен к каждому фрагменту кода подсунуть заголовок лицензии и засунуть в нотис, так еще и каким-то образом диффы приложить. @korifey_ad говорил по этому поводу не париться в приватном коде, но что скажет @fvnever про публичный код?
Все еще сложнее с менее популярными лицензиями, а ля все варианты BSD, MSPL, не говоря уж от аде GPL

5 ответов

12 просмотров

> почему везде народ ведет только единственный NOTICE.txt или THIRD_PARTY_NOTICES в репе, а не отводит под это отдельный каталог - с отдельными документами под каждое заимствование? Бывает, что это банально удобнее сопровождать. Это для большинства опенсорс лицензий вполне законное использование. > Вот например, если я хочу взять лайфтаймы от JB - и сделать альтернативную реализацию, частично используя код из Jetbrains.Lifetimes, частично собирая с нуля. Вроде как получается мало того, что я должен к каждому фрагменту кода подсунуть заголовок лицензии и засунуть в нотис … но и учесть, что сами лайфтаймы тоже в себя включают куски кода от MS под MIT :)

@kekekeks расскажи как вы в авалонии делаете

копируешь, слегка меняешь названия переменных, методов, классов и ебись оно всё

Roman Ivasyk Ivasyk
копируешь, слегка меняешь названия переменных, мет...

а потом компания в судах оправдывается, т.к. антиплагиат какой-нибудь все это вскроет. увольнение, депрессия, алкоголизм, могила.

Ivan Balanar
а потом компания в судах оправдывается, т.к. антип...

В принципе в программирование это не такой и плохой путь

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

Обсуждают сегодня

А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Доброе время суток! у меня тут иноды закончились. и понял почему по сути кстит, я периодически очищаю постгрес и сентри контайнер: postgres=# DELETE FROM nodestore_node WHER...
Юсиф Насиров
9
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Карта сайта