Как и когда цитировать код из MATLAB File Exchange

Каковы правила/этикет для цитирования файлов обмена файлами MATLAB в бумажных публикациях?

Есть разные сценарии, в которых мне любопытно, что лучше:

  1. Представление FEX явно является кодом из статьи, написанной одним и тем же человеком.
  2. Код взят из статьи, но автор кода не тот же автор, что и статья.
  3. Код — хороший инструмент, но на него нет доступного цитирования. Например inpaint_nans, хороший инструмент для заполнения «недостающих» данных.
  4. Код — это хороший инструмент, его кто-то написал, но переписать его несложно, так как это не сложный инструмент. Тем не менее, кто-то это и пишет, time==gold!
  5. Код, который является хорошим инструментом, не требует особых усилий для переписывания, но его код ссылается более чем на одну статью. Например 3D Shepp-Logan Phantom, ссылается на 2 статьи, и это короткая функция.

MATLAB использует лицензию BSD в FEX, что означает, что все программное обеспечение может использоваться и распространяться до тех пор, пока сохраняются авторские права и заявление об отказе от ответственности.

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

Я думаю, это можно обобщить до «как и когда цитировать внешние пакеты в публикации»?
@Davidmh не совсем, так как не все программы работают одинаково. Если бы я использовал библиотеки Python или пакеты R, у меня не было вопросов.
Фактически, у MATLAB FEX есть письменная политика по этому поводу: blogs.mathworks.com/community/2010/12/13/…
@Davidmh о политике MATLAB: мой вопрос в основном заключается в том, всегда ли это правильный подход. Для примера предположим, что я хочу строить кубы и использую plotcubeFEX. Эта функция смехотворно проста и «копируема». Если бы мне нужно было написать статью, я почти уверен, что не стал бы ссылаться на этот FEX, и рецензенты не согласились бы ссылаться на него. Таким образом, мой вариант, вероятно, состоял бы в том, чтобы написать свой собственный (или избежать реверанса). А жаль, ведь кто-то потрудился написать функцию, неважно ее простоту.

Ответы (1)

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

1) Представление FEX явно является кодом из статьи, написанной одним и тем же человеком.

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

2) Код взят из статьи, но автор кода не тот же автор, что и статья.

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

3) Код — хороший инструмент, но на него нет доступного цитирования. Например, inpaint_nans, хороший инструмент для заполнения «недостающих» данных.

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

4) Код, который является хорошим инструментом, кто-то написал его, но переписать его несложно, так как это не сложный инструмент. Все-таки кто-то и это напишет, время==золото!

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

5) Код, который является хорошим инструментом, не требует особых усилий для переписывания, но его код ссылается более чем на одну статью. Например, 3D Shepp-Logan Phantom, ссылки на 2 статьи и его короткая функция.

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

Резюме: если код занимает центральное место в теме вашего исследования, свяжитесь с автором. Если код представляет собой инструмент, который «заполняет пробелы», его не нужно указывать в документе, но на него следует ссылаться в вашем коде.