Когда Ваш код является “Производной работой”? [закрытый]

Можно использовать следующее для сужения результатов еще больше путем определения Имени таблицы и Имени столбца, к которому коррелирует Ограничение По умолчанию:

select * from sysobjects o 
inner join syscolumns c
on o.id = c.cdefault
inner join sysobjects t
on c.id = t.id
where o.xtype = 'D'
and c.name = 'Column_Name'
and t.name = 'Table_Name'
26
задан Xeoncross 14 December 2009 в 20:41
поделиться

9 ответов

IANAL. One thing to remember: several projects explicitly draw a line around the "derivative work" concept to limit what it can entail.

For example, every program that runs on the Linux kernel ends up including kernel code into the operating program because of the way programs run on operating systems. To make it easy to write a program a header file is typically used when compiling the program so that it knows how to incorporate the kernel bits. Linus Torvalds has stated that this use does not make the program a derivative work of the kernel.

In other cases, such as PHP (and C, to a lesser extent) the language can not be claimed to be a derivative work of its libraries. Sure, you can call strlen() and, at link time or run time your program is linked to a library you did not write. But the program itself is not a derivative work of the language or the runtime. In many cases the library used merely exposes an implementation of a standard, and thus the program is not a derivative of that library specifically. So your C program which calls strlen() can link against any C library that has a strlen() in it. Your program is not automatically a derivative work of Glibc. Even PHP has multiple implementations (The Resin webserver ships with a PHP implementation in Java). So even if PHP were GPL your program might not need to be.

A framework is really an extended set of libraries and the normal rules for libraries would apply. For example, if the framework is one implementation of a standard, then maybe distributing it with your app is a violation of the GPL but simply using it would not be since your app is a derivative of the standard and not this specific instance of the framework. For example, an application which uses EJBs can run on IBM WebSphere, RedHat's JBoss, Bea's Weblogic, etc, and not have to comply with JBoss's license. Maybe shipping JBoss and your app on the same CD would violate the license for JBoss but your app is otherwise free of restrictions (unless it includes parts of JBoss in it).

If the framework in question is not a standard and nobody else implements it, and/or you must include parts of the framework in your own code, then your app may be a derivative work. Consider a linux kernel module: it is difficult to create a module which does not violate the GPL because most modules must include kernel code to get their job done. nVidia sidesteps this by creating a proprietary blob which has no kernel code in it, but is not a fully functional module, and adds on some GPL glue code which makes it into a module. Most kernel devs consider it a GPL violation to distribute both the kernel and the driver together (since you create a derivative work of the kernel by adding a module, but that module is not GPL) but distributing the module by itself does not create a derivative work until it is combined by the end user, who no longer distributes it and thus is not bound by any distribution terms.

Keep in mind: not all projects have the same interpretations of the licenses they use. You may be within your legal rights to use code a certain way according to the stated license, but you probably don't want to be sued, so when in doubt consult with a lawyer the original copyright holders.

7
ответ дан 28 November 2019 в 17:25
поделиться

Лицензия PHP не накладывает никаких ограничений на то, что вы делаете с материалами, которые вы создаете с ее помощью. Если вы хотите использовать GPL для чего-то, что вы создали с помощью PHP, ничто в лицензии PHP не останавливает вас.

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

Однако IANAL.

0
ответ дан 28 November 2019 в 17:25
поделиться

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

Случай 1: Если вы создаете структуру PHP и включаете код, лицензированный по лицензии PHP, в исходный код, составляющий эту структуру, то ваш код будет производной работой. В случае исходного кода PHP это означает, что вам нужно будет включить информацию о лицензии PHP и указать части исходного кода, которые лицензируются по лицензии PHP.

Если вы написали весь код из исходного кода PHP Framework, о котором вы говорите, вы можете выпустить его под любой лицензией, которую пожелаете. Большинство PHP-фреймворков (из моего краткого поиска), похоже, лицензированы BSD, но ничто не мешает вам создать свою собственную фреймворк под GPL.

Случай 2: Темы Wordpress являются GPL (по крайней мере, код PHP) http://wordpress.org/development/2009/07/themes-are-gpl-too/

Случай 3: Зависит от того, о чем вы спрашиваете. Если вы спрашиваете, можно ли создать новый класс, который может использоваться с существующей структурой (и не ссылается ни на что в структуре, в которую он должен быть включен), но вы не создаете новая версия фреймворка, включая класс, и распространение этой модифицированной компиляции, тогда нет, это не будет производной работой.

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

Это может немного помочь знать, почему задается вопрос, поскольку здесь задействовано очень много «а что, если».

3
ответ дан 28 November 2019 в 17:25
поделиться

Отредактировать для добавления: Я не юрист, я не играю его по телевидению и не притворяюсь им в Интернете.

Из Закона об авторском праве:

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

На английском языке из Википедии:

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

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

Дополнительный пример: В прошлой жизни я создавал аудиокниги и продавал их на Ebay. Мне прислали приказ о прекращении продажи аудиоверсий книг К.С. Льюиса. Хотя то, что я продавал, было оригинальным, оно было основано на тексте, защищенном авторским правом, и поэтому было производным произведением.

3
ответ дан 28 November 2019 в 17:25
поделиться

Теоретически GPL требует всего который статически ссылается на любой код под GPL, чтобы вернуться к сообщество GPL.

http://63.249.85.132/open_source_license.htm

Означает ли это, что динамические скрипты, такие как Ruby и PHP, не подпадают под эту лицензию?

0
ответ дан 28 November 2019 в 17:25
поделиться

Видите ли, я изначально думал, что весь код, построенный (или построенный для) на чем-то, был производным кодом - Но это неправда. Например, Apple использует компоненты Linux в своей ОС, но их ОС не выпущена под лицензией GPL.

Если вы имеете в виду gcc и оболочку bash , эти не являются частью Linux. Это независимые программы, и их использование Apple подпадает под действие GPL. Например, если Apple внесет изменения в gcc , эти модификации должны быть лицензированы под GPL.

Если бы Apple, например, заимствовала части ядра Linux в свое собственное ядро, то они бы выпустить собственное ядро ​​под GPL.

1
ответ дан 28 November 2019 в 17:25
поделиться

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

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

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

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

Apple фактически не использует Linux в MacOSX. Их ОС основана на BSD, которая по функциям похожа на Linux, но с другим ядром ОС и лицензируется по-другому. Они действительно поставляют программное обеспечение под GPL, как и большая часть их комплектов для разработки программного обеспечения, но это может делать любой. Сборник независимых программ - это не настоящая работа, и Apple (как и любой другой) может поставлять программы под GPL под GPL.

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

1
ответ дан 28 November 2019 в 17:25
поделиться

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

Если вы распространяете GPL кода вместе с несовместимым с GPL кодом, вы нарушаете лицензию и, следовательно, не получаете права на копирование, что означает, что вы совершаете нарушение авторских прав по сравнению с исходным кодом GPL. Ваш код по-прежнему защищен вашими авторскими правами и доступен под любой выбранной вами лицензией, если только он не является производным продуктом.

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

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

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

Тем не менее, вы можете распространить его среди пользователей программы GPL, чтобы они могли выполнить компоновку.

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

Тем не менее, вы можете распространить его среди пользователей программы GPL, чтобы они могли выполнить компоновку.

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

0
ответ дан 28 November 2019 в 17:25
поделиться

Случайный погуглинг дал мне это. Может быть, кто-то может сократить его?

cli::array<char>^ bytes = Encoding::ASCII::GetBytes(nowString);
pin_ptr<char> pinned = &bytes[0];
std::string nativeString((char*)pinned, bytes->Length);
char const* chars = nativeString.c_str();

Правка: Это дольше, чем операции класса Маршала, но работает с большим количеством кодировок. В вашем случае кажется, что более простой подход StringToHGlobalAnsi сделает все необходимое.

-121--2934048-

Мне удалось его исправить! Я нашел это решение здесь: http://blog.chapagain.com.np/magento-admin-login-problem/ .

Я хотел знать, почему это исправило его, и var_dumped пункты, которые я прокомментировал, и понял, что домен cookie устанавливается на '/', и мы настроили пурпурное под '/shop/'. Итак, я перешел в раздел конфигурации (успев войти в систему после комментирования 3 строк, упомянутых в статье), изменил домен Cookie и путь Cookie на пустой и сохранен. Я тогда не комментировал эти строки и пытался снова, и все работает хорошо!

-121--1433793-

Извините за отсутствие ответа - я не могу прокомментировать ответ напрямую.

ОС X не основана на Linux. Его ядро называется Darwin, который основан на NeXTSTEP/BSD и является открытым исходным кодом: http://developer.apple.com/darwin/

Существует проект под названием PureDarwin, который выпускает полный дистрибутив на его основе.

1
ответ дан 28 November 2019 в 17:25
поделиться
Другие вопросы по тегам:

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