Научные статьи по научным вычислениям (и во многих других областях, в настоящее время) обычно включают некоторое количество кода или даже целых пакетов программного обеспечения, которые были написаны специально для этой статьи или использовались для получения результатов в статье. Как лучше всего помочь читателям газеты получить доступ к коду? Мой текущий подход состоит в том, чтобы поместить ссылку на репозиторий Github (вместе с определенным тегом версии) на бумаге или в цитате.
publications
Дэвид Кетчесон
источник
источник
Ответы:
Ну, я думаю, у вас есть несколько вариантов.
Однако в любом или во всех этих случаях вы должны четко указать источник в статье и указать, какое это лицензирование (GPL, Creative Commons и т. Д.), Чтобы не было проблем, связанных с IP.
источник
Отличный вопрос и великолепные ответы, но я думаю, что ни один из них не решает вопрос настойчивости адекватно, если цель состоит в том, чтобы достичь того же стандарта, который присущ самой публикации. (Что может быть глупо, учитывая вероятность того, что код все еще выполняется , но все же может быть, по крайней мере, таким же полезным, как и публикация).
Приложения к университетским веб-сайтам не являются постоянными
Веб-сайты университетов вряд ли обеспечат стабильность или избыточность для сохранения размещенного контента. Содержимое более сложно процитировать, и обычно в нем отсутствуют машиночитаемые метаданные.
К сожалению, похоже, что журналы не намного лучше поддерживают свои дополнительные материалы (см. Anderson et al. 2006 ), и могут не принимать необходимые форматы или вообще не принимать дополнительные материалы (см. Один известный пример). ).
По этим причинам люди, заинтересованные в долгосрочном архивировании данных , единодушно обратились к пропаганде использования выделенных репозиториев, а не веб-сайтов или дополнительных материалов, и многие журналы в настоящее время обязывают эту практику . Кажется справедливым, если код будет соответствовать этому стандарту.
Решение многих копий?
Github и связанные сайты еще не доказали долговечность в течение столетия, достигнутого университетскими библиотеками и признанными издателями. Способствуя широкому распространению, это может обеспечить решение, которое другие поддержали в комментариях, включая одного человека, который не смог прокомментировать stackexchange,
Figshare & стандарт CLOCKSS
Единственный известный мне архивный стандарт - это figshare , который может принимать полные репозитории кода (на данный момент «наборы файлов», но я полагаю, что в скором времени появится возможность указывать их как «code»). Ключевым элементом figshare является не только цитируемый DOI с программными метаданными, но и поддержка архивного сервиса CLOCKSS , который хранит копии всего своего контента на 12 географически и геополитически распределенных узлах по всему миру. Если figshare обанкротится или прекратит свое существование, это приведет к тому, что весь его контент будет свободно доступен из CLOCKSS.
Следовательно, я бы предложил использовать Github для распространения кода, а также предоставить архивную копию для figshare во время публикации.
источник
Вы можете использовать некоторые причудливые pdf-методики, чтобы просто прикрепить код к pdf (то есть кодовые файлы встроены в pdf и могут быть «загружены» нажатием какой-либо кнопки в pdf). Это может быть выполнено, например, с помощью пакета attachfile . Конечно, это работает с препринтами (хотя я не знаю, работает ли он уже с arxiv), но у вас, вероятно, проблемы с журнальными файлами ...
источник
Для небольших сценариев, относящихся к конкретному исследовательскому проекту, лучшим местом для публикации является веб-сайт журнала в качестве «дополнительной информации» к статье. Вот где легче всего найти того, кто читает статью.
Более содержательные пакеты, представляющие интерес и для других проектов, лучше опубликовать отдельно. К сожалению, в настоящее время нет действительно хорошего решения. В идеале, публикация кода должна быть постоянно доступна через DOI, как бумага, но я не знаю ни одного хостинг-сайта, который раздает DOI и гарантирует их постоянство. Публичные репозитории, такие как Github или Bitbucket, возможно, являются лучшим выбором на данный момент.
Лучшим решением было бы опубликовать документ, упакованный с кодом, и данные, которые сопровождают его, но это пока технически невозможно. Я работаю над исследовательским прототипом, исследующим эту идею, подробности смотрите на этом сайте .
источник
Я выбрал две тактики, основанные на том факте, что я ожидаю скорой смены учебных заведений, поэтому URL-адрес моего университета нестабилен.
Когда код относительно короткий, я попытался включить его в качестве дополнительного приложения в самом журнале, предполагая, что они, вероятно, сделают достойную работу, сохранив бумагу и код примерно в одном месте. Это особенно полезно для кода, где нет большого общего интереса - кода, который несколько бесполезен без рассматриваемой статьи для обеспечения контекста.
Но что касается исходного кода, реального программного обеспечения, а также более сложных проектов или проектов, представляющих общий интерес, я следовал вашей тактике связи с репозиторием GitHub, которая, по крайней мере, должна быть стабильной для средней продуктивной продолжительности моей работы.
источник
Взгляните на http://www.runmycode.org . Они размещают сопутствующие сайты для кода, связанного с исследовательскими работами. Если код R, Matlab или несколько других, он фактически запустит код для вас. Я еще не пробовал, но собираюсь. Я думаю, что Дэвид Донохо и его сотрудники используют это.
источник
Университетские библиотеки могут быть местом для этого или принимающим центром университета.
источник
Как читатель, заявление в статье о том, что код можно получить, напрямую связавшись с автором, будет эффективным. Как автор, это может помочь развитию сотрудничества и дать мне возможность напомнить людям цитировать мою статью, если они используют код в своей работе.
источник