Стратегии изучения и написания кода, когда мне запрещено “загрязнять” открытый исходный код?[закрыто]

StackOverflow https://stackoverflow.com/questions/421975

  •  05-07-2019
  •  | 
  •  

Вопрос

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

Например, примеры кодирования в книгах в значительной степени используются "как есть".Примеры кода Microsoft SDK используются "как есть".Записи в блоге о кодировании используются "как есть".Существует несколько сайтов с примерами кода (включая SO), которые вы используете на свой страх и риск.Никаких подразумеваемых гарантий или компенсаций от судебных исков об интеллектуальной собственности, бла-бла-бла и т.д.

По сути, я ограничен использованием Asp.Net и .Net Framework и ничем другим, и чтобы мои глаза случайно не заметили чего-то, чего я не создавал (ок ...возможно, это моя анальная интерпретация правила ;-).

Я нахожу это трудным, потому что большая часть обучения программированию, я думаю, заключается в чтении другого кода.Чтение блогов, в которых есть код, чтение книг, в которых есть код, просмотр примеров кодирования, использование кода из образцов SDK и т.д.Кроме того, я бы подумал, что безопасно использовать код, который люди считают хорошим решением или шаблоном для чего-либо и свободно предоставляют для использования другим.Я не собираюсь думать, что могу все закодировать сам.Я определенно должен стоять на плечах других программистов, чтобы достичь определенных высот.

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

Я считаю, что вы должны взвесить риски.Взятие фрагмента кода из книги сопряжено с низким риском.Включение кода из библиотеки с открытым исходным кодом может быть сопряжено с высоким риском.Я говорю, принимайте решения, основываясь на том, на какой риск вы готовы пойти.

Был ли у кого-нибудь опыт работы в подобной ситуации или схожей с этой?Это редкость или обычное явление в некоторых секторах?Есть ли там еще кто-нибудь в таком же положении, как я?

Мы будем признательны за любую информацию или руководство!Спасибо!

Редактировать: Спасибо за ответы!Чтобы прояснить некоторые вещи:Я не выступаю за кражу кода.Я говорю о коде, который имеет своего рода публичную лицензию, позволяющую использовать его определенным законным способом.Ключ в том, что его нет возмещение ущерба в публичных лицензиях на использование кода.Это означает, что вы используете его по своему усмотрению Юридическая информация риск (и другие риски).Если кто-то подаст в суд на проект с открытым исходным кодом, из которого вы использовали код, вы также можете быть втянуты в судебный процесс, потому что вы используете код, даже если у него есть публичная лицензия.

В 2005 году Microsoft использовала возмещение убытков, чтобы конкурировать с поставщиками открытых исходных текстов, обещая своим партнерам, что Microsoft защитит их от судебных исков по защите интеллектуальной собственности. http://www.microsoft.com/presspass/press/2005/jun05/06-22PartnerIndemnificationPR.mspx

Таким образом, даже если риск быть привлеченным к ответственности за нарушение прав интеллектуальной собственности может быть чрезвычайно низким, вероятность этого ненулевая.Таким образом, я не могу использовать ничего из этого.Даже если у него есть какая-то публичная лицензия.:-(

Это было полезно?

Решение

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

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

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

(Было бы неплохо, если бы вы могли заверить их, что никакой опасности нет, но это неправда.Люди лгали об авторских правах, хотя проекты с открытым исходным кодом, как правило, этого не делают, и только дурак стал бы определенно утверждать, что большой фрагмент кода не нарушает никаких патентов в США;даже если бы она была написана за год до того, как были впервые выданы патенты на программное обеспечение, это было бы просто хорошим основанием для судебного разбирательства, а не для того, чтобы избежать судебного разбирательства.Программное обеспечение GPLed на самом деле лучше программного обеспечения BSD, поскольку оно требует некоторого патентного лицензирования ниже по потоку, но оно не может работать со сторонними патентами.Конечно, если они так боятся, что на них подадут в суд, написание собственного программного обеспечения - это не решение проблемы.Это может нарушать патенты.)

Другие советы

"Риск быть привлеченным к ответственности за нарушение прав интеллектуальной собственности" - это не совсем правильный способ думать об этом.Это не связано с "риском".

Либо

  • У вас есть лицензия, и вы можете использовать исходный код.Здесь нет никакого риска.У вас есть лицензия.Не может быть никакого судебного процесса.

Или

  • У вас нет лицензии, и вы нарушаете ее.Фактически, вы будет на него подадут в суд.Здесь тоже нет никакого риска.Вы нарушаете чьи-то авторские права (или что похуже).

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

То, что я слышал.

  • Что, если у него вирус?

  • Что, если это сработает не так, как рекламируется?

  • Что, если это что-то "сломает"?На кого мы подаем в суд?

Ни один из этих пунктов не является "рискованным".Это пункты "должной осмотрительности".И, по большей части, с ними легко справиться:выбирайте продукты с достаточным количеством пользователей, чтобы кто-то другой проверил код до вас;Обеспечение качества с открытым исходным кодом, как если бы его ввел кто-то из ваших собственных сотрудников.За исключением одного.

Это подводит нас к истинной причине.[Подсказка:Это не "риск судебного иска".]

Некому подать в суд, если вы не провели должную проверку открытого исходного кода.

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

Я думаю, что ваша компания действительно обеспокоена тем, что вы напрямую копируете большие сегменты кода, для которых могут возникнуть проблемы с лицензированием, создавая юридическую проблему для компании, если ее поймают на его использовании.Однако вы можете прочитать блоги или другой нелицензионный код и обнаружить решение, которое подходит для конкретной проблемы, над которой вы работаете.В этом случае вам было бы лучше переписать код (то есть посмотреть на решение и воспроизвести его), а не просто копировать код и вносить в него изменения.В моей компании это то, что они обычно рекомендуют для использования несвободного кода.

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

Вы могли бы переименовать переменные, и как бы они это узнали?Проверяют ли они каждую строку кода ?Университеты постоянно говорят вам об этом, чтобы вы не копировали код без ссылок.Почему бы вам не попробовать что-нибудь закодировать и использовать фрагменты кода, которые вы найдете в Интернете?

Как правило, вы будете использовать больше материалов из сообществ, таких как stack overflow или блоги, чем из проектов с открытым исходным кодом.

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

Надеюсь, это поможет...и желаю удачи.

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

Я считаю, что вы должны взвесить риски.Взятие фрагмента кода из книги сопряжено с низким риском.Включение кода из библиотеки с открытым исходным кодом может быть сопряжено с высоким риском.Я говорю, принимайте решения, основываясь на том, на какой риск вы готовы пойти.

Я не уверен, правильно ли я понял.Если вы утверждаете, что нарушение лицензии - это нормально, когда вас не ловят, мне придется с вами не согласиться.

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

Если вы не знакомы с концепцией "чистой комнаты", то всегда есть такой подход.Попросите друга взглянуть на какой-нибудь открытый исходный код и попросите его рассказать вам, как, по их мнению, это работает.Составьте схему, а затем закодируйте ее самостоятельно.

Если бы это работало на IBM, верно?

Имейте в виду, что не все открытые исходные коды являются GPL.Ваша компания может копировать столько кода, лицензированного BSD, сколько захочет.Лицензированный BSD код попал в OS X (это, наверное, мое самое большое преуменьшение на сегодняшний день) и, в меньшей степени, в Windows NT.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top