Код GPL: Какие количества как производная работа? [закрытый]

Неустранимая ошибка: не может использовать возвращаемое значение функции в контексте записи

Это обычно происходит при непосредственном использовании функции с empty.

Пример:

if (empty(is_null(null))) {
  echo 'empty';
}

Это связано с тем, что empty - это языковая конструкция, а не функция, она не может быть вызвана с выражением в качестве аргумента в версиях PHP до 5.5. До PHP 5.5 аргумент empty() должен быть переменной , но произвольное выражение (такое как возвращаемое значение функции) допустимо в PHP 5.5 +.

empty, несмотря на его имя, на самом деле не проверяет, является ли переменная «пустой». Вместо этого он проверяет, существует ли переменная, или == false. Выражения (например, is_null(null) в примере) всегда будут считаться существующими, поэтому здесь empty проверяет только, равен ли он false. Здесь вы можете заменить empty() на !, например. if (!is_null(null)), или явно сравнить с ложным, например. if (is_null(null) == false).

Вопросы, относящиеся

40
задан casperOne 29 August 2012 в 15:07
поделиться

6 ответов

Я обычно использую лицензию X11 (иначе 3 пункта BSD) при выпуске любого вида библиотеки, даже при том, что я, как известно, склоняюсь к GPL2/3 при выпуске программы. Я делаю это, потому что я хочу удостовериться, что моей библиотекой может пользоваться без ограничения любой проект ВЫШИВАЛЬНОГО ШЕЛКА, это более важно для меня, чем утверждение идеалов копилефта когда дело доходит до библиотек.

довольно глупо сделать библиотеку строгой в том отношении, например, BSD переписала libreadline GNU к editline и сохранила 100%-й совместимый интерфейс. Это - также рассматриваемый вопрос для того, почему, вероятно, можно сделать то, что Вы намереваетесь сделать.

, Если Вы смотрите на некоторый пример, записанный в Схеме, или говорите LISP, возможно, даже Perl.. и пишущий некоторую реализацию его в C, необходимо быть совершенно здоровыми. Нет абсолютно ничего неправильно с изучением существующих реализаций при работе над созданием собственного.

я настоятельно рекомендовал бы просто спросить проект GNU, электронное письмо licensing@gnu.org и предоставил бы им детали о том, что Вы надеетесь выполнить. Вы, конечно, получите очень дружественный ответ и можете, вероятно, продолжить двигаться без беспокойства.

Даже RMS самостоятельно признает, что интерпретация GPL/AGPL/LGPL может быть утомительной, они ожидают и приветствуют эти виды вопросов.

7
ответ дан Tim Post 27 November 2019 в 01:58
поделиться

"Что составляет производную работу?" не вопрос, на который может ответить программист. Посмотрите, например , Каково различие между “aggregate” и другими видами “modified versions”? и FAQ Лицензий GNU в целом.

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

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

8
ответ дан 27 November 2019 в 01:58
поделиться

2 больших лицензии, которые, вероятно, соответствуют Вашим требованиям:

  1. лицензия Apache, версия 2.0 , очень разрешающая (как MIT/BSD), но с защитой доступной тяжбы для обеих сторон
  2. LGPL, версия 3 , разрешающее использование библиотеки, но разработка его далее (и распределение его) требует сохранения LGPL и выпуска источника.
2
ответ дан orip 27 November 2019 в 01:58
поделиться

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

См. Чистый дизайн помещения. Если программное обеспечение ведет себя почти точно то же, Вы не должны были читать исходный код.

1
ответ дан Eugene Yokota 27 November 2019 в 01:58
поделиться

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

Другая точка - то, что, если исходный код является GPL'ed тогда, автор вряд ли будет типом, кто собирается возразить против Вас получающий что-то на основании его алгоритмов и идей (поскольку copylefters имеют тенденцию выступать против патентов на программное обеспечение).

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

0
ответ дан frankodwyer 27 November 2019 в 01:58
поделиться

Обычно, если Ваш SW должен "ссылка" к коду GPL для функционирования, это - полученная работа...

0
ответ дан Thomas Hansen 27 November 2019 в 01:58
поделиться
Другие вопросы по тегам:

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