为什么不提及定制软件的研究论文发布源代码?[关闭]


69

研究论文中提到的软件源代码未发布是有原因的吗?我了解研究论文更多地是关于完成某件事的一般想法,而不是实现细节,但是我不明白为什么他们不发布代码。

例如,本文结尾为:

结果

人画线系统是使用OpenGL通过C ++中的Qt框架实现的,并且可以在2.00 GHz英特尔双核处理器工作站上运行,而无需任何其他硬件帮助。当系统合成新的路径和纹理时,我们可以交互地绘制线条。

他们是由于打算通过货币化还是出于版权而故意关闭源代码?


42
出于同样的原因,大多数论文都缺乏原始数据(仅发表统计学上失真的“结果”)。
SK-logic

2
我编辑了问题。也许“提”不是最好的词。在某些情况下,论文中提出的某些观点主要取决于软件,但是该软件是蒸气软件。就像这样,要正确评估论文的有效性,必须有人能够运行该软件。
哈兹2012年

7
@JohnL我会说一纸会严重依赖于软件没有被有关的软件。就像使用软件工具演示/发现的世界的有趣属性一样。如果我们无法审查该工具,我们怎么知道结论是正确的?(或者更确切地说:如果我们可以看到该工具,则可以更轻松地进行验证!)
Andres F.

4
@Andres F-一种可能性是使用本文中描述的想法来实现您自己的软件版本。尽管这是更多的工作,但它也可以说具有更多的价值-再次运行相同的实现仅再次演示一个实现。一个新的实现有助于证明这些想法本身是有效的,而不是某些实现细节的fl幸。重新实现过程中可能会发现以前可能没有注意到或描述的重大问题。
2012年

3
@KonradRudolph,当然它并不总是可用。自出版以来的几年内,它甚至可能变得不可用(已擦除和重复使用磁带,整个小组被解散,切碎了纸等等)
SK-logic

Answers:


71

我想到了几个原因。

  • 代码对于文章来说太大了。 在很短的时间内,有趣的项目足够短,无法与描述它们的论文一起发表。仍然可能发生这种情况,但是许多足够大的项目引起了人们的兴趣,但它们已经变得太大而无法与描述它们的论文一起发表。
  • 公共主机不是免费的也不是持久的。 直到最近,还没有便宜,耐用,易于访问的公共主机。
  • 发布论文比发布项目容易。 有些人有时间发表论文或项目,但不能同时发表。
  • 激励措施与角色有关。 许多年前,我向一位同事询问了产品开发和专利的问题,并得到一个词,就是那里的大多数人几乎都做到了彼此。与论文作家(认为学术界)和开放源代码开发人员一样,奖励是针对一种工作产品或另一种产品的。
  • 自我激励。 描述想法或实现代码的愿望并不总是在同一个人中平等存在。我的许多教授公开承认他们要么编码不多,要么离流利的编码还差很多年。同样,许多开发人员几乎不想在其代码中或提交到源代码管理时写注释。
  • 项目托管和工作产品的耐用性也是一个问题。谁想链接到几年后可能会消失的地方,结果使论文的价值降低。
  • 传统。 出版商着眼于审阅和出版论文,但可能不准备对项目进行相同的评估。
    在各个领域,关于合理再现性的传统观点也各不相同。预计将有一位化学家发表有关一种新合成方法的论文,以写下足够的细节让另一位化学家进行合成。不会期望她将离析物和产品运送到杂志上。希望使用/复制论文的读者应该购买自己的离析物,并在自己的实验室中进行合成(尽管他们可能会要求来实验室参观,以查看实际操作情况)。不会期望生物学家将他的新转基因小鼠附着到论文上。关于可再现性的这种观点对应于例如给出算法的(伪代码)描述,而不是交付实际的实现。
  • 裸代码可能会令人震惊。校对纸张长度文档所需的打磨工作要比代码检查,代码审查和质量保证项目少得多。我有很多代码比向您展示更容易告诉您。希望事情进展到一个我们都可以编写漂亮代码的地步,但是如果您的代码匆忙,勉强或不能完全正常工作,您可能会更不共享可执行文件或源代码。
  • 封闭源。 并非所有人都拥护开源。许多文章涉及国防部,商业项目或私人资助项目的工作,这些项​​目可以从向公众展示项目中受益,但是仍然存在商业秘密或首先进入市场的优势可能会被开源代码或开发所侵蚀。其他工作产品。
  • 根据此代码发布进一步的工作。如果代码未发布,则可能使作者在发布后续工作中具有优势。其他竞争研究人员可能需要重新实施这项工作,这可能会花费宝贵的时间。

27
如果该论文取决于源代码,则不应发布该论文。如果您无法发布代码,则无法发布论文。一篇写有“我们的程序可以完成这些很棒的事情”的论文,如果不运行该程序就无法评估该论文,然后该论文将成为某些软件的广告手册。
哈兹2012年

3
与Kaz完全同意-如果要同行评审研究,您需要一些不可用的内容(数据,代码等),则同行评审杂志不应该接受。DeveloperDon提到的几乎所有论点也适用于数据发布……然而,近年来在这方面有相当大的发展。
2012年

3
很棒的帖子。我还要补充一点,有时独立的科学家自己重新创建软件是实验可重复性的一部分。如果仅以1个人编码的方式起作用,而不是以其他人编码的方式起作用,则可以质疑结果,并可以识别错误。
Jimbo Jonny 2012年

4
您倒数第二个最强
l --''''''---------''''''''''''2012年

4
@AndresF。代码绝对是论文中不重要的事情。一篇论文是“这是我的工作;这是我的方法;这是我的结果”。该代码是该方法的编码,应产生完全相同的结果。如果要复制论文的结果,但使用论文的代码,则表示您没有复制任何内容。您应该做的是阅读他们的方法部分,提出自己的实现,然后在无法再现他们的结果时写一篇有关它的论文。
塔克罗伊(Tacroy)2012年

40

阅读Randall LeVeque关于“不共享代码的十大原因(以及为什么仍然应该如此)”的演示文稿http://faculty.washington.edu/rjl/talks/LeVeque_CSE2011.pdf

他有说服力地争辩说代码类似于数学中的证明,并邀请我们考虑一个世界,在该世界中,证明太长,太丑陋,或者在极端情况下不起作用或可能值得证明不被公开钱,否则有人可能会偷走...

基本上,如果您从事科学工作,则应该发布代码。否则,您在进行炼金术,就我而言,您可以飞回黑暗时代并死于瘟疫。


7
+1精彩的演讲。我很高兴有人推动变革:)
Andres F.

+1感谢您的链接;这可能有助于我与老板进行持续的谈判,以将我们的某些代码作为开源发布。
Frank

快说!好的比喻值得我投票。
nullpotent,2012年

我不确定此比较是否真的适合这里的目的。我是化学家(他希望看到更多的代码发布),没有数学家,但是我所看到的证明通常并没有付出任何努力。因此,恕我直言,它们对应的是算法的精简伪代码描述,而不是实际的源代码。
cbeleites

27

通常,用于产生论文结果的程序只是工具,只有结果很重要。因此,它们不会放在介绍上下文,方法,结果以及关于它们的讨论的论文上。

但是结果必须是可重现的。然后,当论文所基于的数据源公开可用时,通常也需要将其转换为结果的程序。如果它们不会引起任何专利/版权问题,则通常将它们放置在Web上的“某处”。或者,至少,如果您要求作者,则必须将程序发送给您。


2
我不认为您必须发送给任何询问您珍贵代码的人...恕我直言,这个答案是错误的。但是我希望看到一个信息免费的研究世界……
德克

3
据我所知,@ Dirk在软件经验研究中相对常见。在我的团队在该领域的最后一次提交(尚未接受)时,一位审阅者明确要求公开访问我们的数据以及一些代码。我不明白为什么代码应该如此珍贵。(通常)只是实现本文中描述的想法。发布程序是让读者检查我们是否将思想正确地转化为行动的一种方式。
mgoeminne 2012年

1
嗯,所以您知道(a)您的审稿人是谁,以及(b)将您的代码和数据提供给可能与您直接竞争的人?
德克2012年

1
并不是真的因为(a)审稿人要求将代码发布在他们可以匿名访问的位置(或由期刊进行身份验证)(b)自从您的论文发表以来,其他研究人员可以使用相同的方法/工具将您的研究复制到其他数据集甚至同一数据集上。复制不如原始论文享有盛誉,它们会引用您的工作,并为您的论文提供有力的验证。因此,原始作者很乐意让其他人为他们完成所有这些工作。
mgoeminne 2012年

@Paul我看不到与源代码发布的联系。无论如何,优秀的编辑人员会注意审稿人撰写的注释,以证明他们的决定合理。因此,不会考虑诸如“胡说八道”之类的提法。如果编辑认为审稿人的建议不够恰当,他会征求另一位专家的意见。研究生不参加复习过程。并且,如果在提交数年后仍无法让您的论文被接受,您应该认为该论文(或其内容)不是很好。
mgoeminne 2012年

14

它不是封闭源。该软件根本没有发布。

简短答案:

不发布软件有多种原因,但是以闭源方式发布软件并不常见。

长答案:

封闭源代码表示已发布软件,而源代码尚未发布。但是常见的情况是软件和源代码都尚未发布

根据我的经验(我从事大气科学工作),如果您与他们联系,并询问是否可以获取他们的软件(当然包括源代码)来进行研究,那么作者将感到非常高兴。如果我要根据他们的项目撰写论文,他们至少会被引用(很好!),但可能会从中获得合著论文(当然,因为他们没有记录他们的软件,以便他人无需他们的帮助即可使用它)。相对便宜的合著者论文,所以更好

真正的问题是:

他们为什么不发布软件?

有几个原因:

  • 已发布的软件需要文档。通常,人们不喜欢写文档。
  • 发布的软件可能会吸引用户。用户可能有疑问。这需要时间(但请参见上文)。
  • 发布的软件可能需要不重要的维护。
  • 发布软件需要托管。

该列表可以做得更长一些。在Acadeemia.SE,这应该是一个单独的问题,而不是此处。

(请注意,在我们小组中,我们确实发布了我们的软件-根据GPL许可


也可以发布代码,但必须遵守不允许修改的许可。
asmeurer 2012年

我什至没有想到过这样的情况,即作者只发布一个编译版本只是为了证明该软件确实存在,因为这无助于说明他们的工作方式-通过我的意思是实现细节。码!
alecail 2012年

8

这听起来可能很愤世嫉俗,但是根据我的经验,研究论文的撰写并非易于理解或易于复制。取而代之的是,在研究界中,拥有听起来听起来很科学的文章更为重要。因此,大多数作者将其代码转换为数学公式,并试图证明其算法在数学上是正确的。通常,此类文章的页面数是有限的,因此没有足够的空间来发布代码。但是,当然,这不会限制任何作者使用URL链接到完整的代码...

可以假设,如果代码未发布,那么作者要么想刻板化他们的发现,要么(我个人认为是更常见的情况)他们担心人们会看到他们的研究并不像他们声称的那样出色。通常,结果仅适用于极少数情况。

另外,我已经看到,从一个简单的程序/算法中可以得到几篇研究论文。如果要发布代码,则将很难就该主题撰写任何其他论文。因此,为了将其随时间推移以小片段的形式发布,会保留一些知识。

请始终记住,在大学中,重要的不是结果或研究的适用性,而是您发表论文的数量。这是可悲的,但却是事实。


13
话虽如此,请尝试询问研究人员!有时他们会为您提供源代码。
露西娜(Lucina)2012年

3
我认为您在这里并不完全公平:“相反,在研究界,拥有听起来和看起来很科学的文章更为重要。” 这意味着基础内容没有任何价值,这几乎是因为您看不清楚,因为它看起来很科学。如果没有人对该内容感兴趣,那么您发表的论文数量几乎是无关紧要的。我认为,这种回应是在说您的偏见而不是现实。
temptar 2012年

2
@temptar好吧,也许我有点偏见。最让我印象深刻的是,大多数研究人员显然不愿意以易于理解的方式描述他们的研究。曾经有一位教授,在向我解释了算法后,他补充说:“但是在本文中,我们将编写更复杂的代码以使其听起来更加科学”。
codingFriend1

6
@ codingFriend1-您不能也不应基于一种经验来概括。那是一种非常不科学的方法。您必须考虑谁是研究专家的目标受众,并且在很多情况下,并不是那些需要您认为必要的解释的人。这是我们进行科学交流的目的-与非专家沟通。
temptar,2012年

3
我支持codingFriend1的答案。这一直是针对我所居住的科学界,尤其是我的大学(尽管它是美国最好的大学)的普遍批评:科学家被迫发表论文,越是奇特越好。“出版或灭亡”。我不熟悉的领域的科学家也对此进行了报道。抱歉,但是在很多地方,这是可悲和普遍的事实。
Andres F.

7

除了要货币化之外,我看不出将源代码排除在研究论文之外的充分理由。有一个很小的动议,提议提供源代码作为发布以某种方式,形状或形式依赖软件的任何研究的规则。您可以阅读更多有关《科学代码宣言》的内容


1
+1的链接!它充分体现了我对科学和研究的信念。
Andres F.

6

上面的答案缺少在计算机图形学(作者提到的论文发表的地区)中经常出现的一些实际原因。CS中各个字段之间的代码发布差异很大-例如,在机器学习中,通常会发布代码。在人机交互中,几乎从未发布过代码。

我已经在计算机图形学中发布了很多代码,虽然我确实认为作者应该发布他们的代码,但是有很多简单的,非阴谋论的原因却没有。例如

1)大多数计算机图形学研究项目都涉及多个研究人员之间的合作,这些研究人员通常在不同的机构,每个研究人员都提供一些难题(即算法,库等)。要发布工作代码,所有研究人员都必须同意。这很少是简单的讨论,通常更容易避免该问题。

2)通常,一张纸的代码嵌入在实验室内部正在开发的更大的代码库中。该代码库将包含其他未发布的作品。为单个项目分离代码是一项繁重的工作,通常不会给那些必须从事这项工作的人员带来直接好处(请参见下面的激励)。

3)大学通常对代码具有知识产权。因此,有必要联系“创新办公室”,这将使您的生活变得无穷无尽,希望您在开源之前记录“发明”,以便他们可以申请专利,等等。在某些情况下,大学甚至可以拒绝发布源的许可(这在不同的机构之间有所不同,并且由于(1)而非常复杂)

4)许多计算机图形学研究是由公司进行的。在那种情况下,作者也不拥有该代码,并且必须获得律师的许可才能发布该代码。律师几乎没有动机说是。

5)没有动力发布代码。大多数计算机图形学研究代码从未被其他人使用。即使是这样,对于通用代码,您通常也只会得到一个确认(就您的CV而言毫无价值)。如果幸运的话,您会被引用。如果您发布了代码,招聘委员会和Grant机构通常一点也不在乎。因此,为发布代码准备代码所花费的时间被浪费在本来可以浪费在另一篇论文上的时间。(有人积极地尝试在计算机图形学中更改此设置)。

6)有公开代码的动机。代码有时可以变成新兴公司,被授权给现有公司等。这为将来的研究提供了资金。我们都要吃。


#2非常重要。分离与论文相关的代码不仅是一项繁重的工作,而且一旦完成,您可能会发现它与上下文无关(也就是说,与文档的其他100种工具,库和自定义设置分离)实验室),它实际上毫无价值,也无法理解或使用。此外,“研究代码”通常非常脆弱,其设计足以证明一篇论文的要点,而不是构成一个强大的软件系统,并且研究人员没有时间或意愿对其进行足够的修复以至于除其他以外的任何事情。使其他人感到头疼。
拉里·格里茨

5

这取决于。撰写论文的人或其主管决定应使用源代码做什么。有时,人们使该项目成为开源。

有时,项目通常由公司资助,这就是它们的财产。在这种情况下,不允许论文的作者显示代码。


3

通常是页面限制的问题。如果该算法非常短,则通常在论文中至少将其表示为伪代码。另一方面,如果基础代码的印刷版本甚至只有几页长,则打印代码将不会留有文章的空间。十页长的期刊文章是一篇长文章。

不提供源可能会导致欺诈。由于这种潜力,现在许多期刊都要求作者提交其源代码作为补充信息(如果您可以访问,则可以从期刊中获得;可能会收取高额的订阅费)。其他一些期刊则要求作者将源代码发布给任何要求它的人。然而,其他期刊仍处于黑暗时代。不需要源代码即可提交,也不需要作者发布它。

最简单的方法是询问作者是否可以向您提供源代码。如今,大多数期刊论文中通常都列出了作者的电子邮件地址。


1
我认为可供审阅的源代码不需要在全文中包含全文:)不仅因为存在欺诈的可能性,而且我认为对于审稿人来说,仔细检查您没有犯下真正的错误。特别是如果编码员是科学家而不是程序员!
Andres F.

3

我作为科学家的经验(已发表5篇论文)是,期刊通常不要求发布用于创建结果的代码。这并不是说期刊不会接受这些脚本。许多期刊都允许在线补充材料。一些针对算法的期刊,例如计算机和地球科学等,都要求您添加算法的来源,但这不是一个例外,而是一条规则。

除期刊文化外,对于科学家而言,编码只是达到目的的一种手段。许多不是专业的软件开发人员。由于许多人将代码视为表达科学的工具,因此他们并不急于发布代码。此外,将代码完善到可以发布的程度还需要大量工作。科学家有报酬从事科学而不是编写软件。


但是从某种意义上说,软件就是证明。那就是计算机科学的全部意义:程序就是证明。我认为这是由于对结果的信心不足,或者是对实际产生研究证明的重要性的文化误解。
Andres F.

1
我并不是在谈论计算机科学本身,而是在谈论更多的科学。在理论CS中,许多人都在数学上研究算法和证明。软件只是实现,是事后的想法。
Paul Hiemstra

如果您的代码是本文的脚注,我同意。如果它是某种验证并且有自己的部分(不管大小如何),则它是证明或至少是验证的一部分。如果您不公开代码,那么它显然不相关,您不妨删除论文中的所有提及!
Andres F.

2

通常情况下,实际程序仅是达到目的的工具,而不是本身具有功能的产品。提供源代码的完整详细信息类似于提供用于签署报告的笔的完整图纸和/或PC的示意图。

话虽如此,特别是在邀请同行评审的地方,源代码将可用-尽管以某种形式的保密协议(NDA)-由于程序中固有地包含知识产权。

如果您真的对代码感兴趣,我建议@Buttons的注释是最好的建议:询问他们:)


1

在很大程度上取决于编写代码的目的。如果要证明一个观点,很可能是没有对其进行优化,因此发布它不是理想的。如果基本的概念和方法有效,那么应该可以从头开始重新创建代码的结果。可能还有版权和所有权问题。

原则上,从技术上讲并不是不可能发布代码,但是可能无法发布代码的原因却有所不同。由于这个原因,可能没有一个简单的答案。在特定情况下,您可能会问有关的研究人员。


1

您引用的论文已经有28页,其中大部分内容涉及与解决问题有关的设计决策(标题中指出)。

该代码是验证设计的最后一步。它并非微不足道,但不是在论文结果中增加价值的部分,特别是如果您要考虑它将占用的空间时。

并非每种情况都相同。有些论文确实给出了源代码,或者至少给出了伪代码。一些编辑器不允许这样做。有些人允许它,但是由于篇幅,作者不包括它。我发布源代码的一本期刊将其格式设置为“数字”,而电子版则将其格式为图像数据,即使我以文本形式提交也是如此。


1

激励机制很重要,研究人员的激励机制通常是要确保他们可以不断产生相互补充的稳定论文。研究生通常需要3-5篇已发表的论文,然后可以将其转变为论文的各个章节以毕业。初级教师在任期审查之前需要尽可能多地出版出版物。因此,大多数学术论文实际上都是n一系列论文。例如,您引用的论文建立在一年前同一小组发表的论文的基础上,并讨论了下一篇论文可能涉及的基础。

发布源代码可能使不同小组的另一位研究人员可以发表论文 n+1在原始作者做之前或至少要发表一篇涵盖该作者希望作为本研究流的一部分内容的重要论文的论文。如果发生这种情况,该研究生很容易发现他或她在研究生院又花了6到12个月的时间,以便产生足够的研究成果来毕业。任期复审时间到来时,教师最终可能会少发表几篇论文。显然,这两者对研究人员的职业都是沉重的打击。再加上一个事实,即学术应用通常是研究小组中多个人研究工作的一部分(直接或因为他们共享某些组成部分),并且研究小组内部存在着不发布可能最终伤害他人的代码的压力。您每天都在工作。

在收集原始数据既费时又高度分散的领域中,您经常会遇到类似的讨论。例如,在天文学中,研究小组可能需要花费数年的时间来收集数据,然后才能获得足够的信息来发表一篇论文。但是他们随后将使用该数据生成一系列论文。研究小组非常不愿意分享超出绝对必要的更多数据集,因为其他小组很容易随心所欲地花费在收集数据上的时间,以获取实际分析数据的收益。

最终,许多代码将被发布,就像天文数据最终被发布一样。当作者到达该系列文章的结尾时,或者从事相似主题的大多数研究小组都使用类似的引擎时,通常会发生这种情况,因此发布代码不再给新的研究人员带来竞争优势。

如果数据和代码的发布速度更快,这对于科学而言将是理想的。但这通常会损害科研人员,在这种情况下,其激励因素至关重要。


“发布源代码可能使不同小组中的另一位研究人员能够在原始作者之前发表n + 1篇论文,或者至少发表一篇涵盖作者期望涵盖的大部分论文的论文。研究流。” 这对我来说听起来并不那么容易。在没有作者帮助的情况下,大多数人(包括我自己)都很难理解研究人员编写的代码种类,更不用说扩展代码了。您知道实际发生这种情况的情况吗?
Faheem Mitha 2013年

1

作为过去(在学生方面)多次这样做的人:通常,撰写论文的教授甚至根本看不到源代码。他们将让他们的研究生编写代码,然后在完成时只要求最终的可执行文件(甚至只是对结果的确认)

而且,编写的代码通常还是不太易读,因为学生只是将它们砍在一起以完成工作,并且因为(尽管他们很聪明)没有实际经验的应届毕业生往往不是世界上最好的编码员...


1

我可以想到的大多数原因已经在这里提出,但我想我还要添加实际发生在我身上的两个原因:

该杂志不知道该怎么办

对于我正在研究的其中一篇论文,我认为我是绝对的,毫无疑问将包括源代码(本文的重点是数据可视化)和示例数据。因此,连同提交的材料,我附上了电子增补1和2-一个带有我的代码的R脚本,以及一个带有所述R脚本所需数据的CSV文件。

事实证明,该期刊只有在被补充到Word文件中之后才能接受电子补编。在一天的大部分时间里尝试以这种形式获得R脚本后,我放弃了并决定不将代码作为补充。我本可以在大学里托管它的,但是作为一名研究生,我知道我将在大约1年内在那里丢失自己的帐户-如果立即被linkrot所取代,开源就没有任何用处。

我最终将其托管在GitHub上,并在论文中对此进行了引用,但这是因为我确实希望将代码放入其中。我可以看到,尤其是因为该领域的大多数人不使用GitHub之类的东西,只是认为只有少数人会为此付出努力,因为那些人​​会下载它,并且如果他们真的愿意的话,他们仍然可以通过电子邮件向我发送电子邮件。

该期刊只是不感兴趣

应审稿人的要求,我将有关代码本身的一些小细节插入了一篇论文中,但是它是一本临床期刊(阅读:无任何代码),它不允许电子补充,并且再次添加源代码可能是比它值得的麻烦多。

具有讽刺意味的是,如果有人确实要去寻找代码,它是(或不久将是)开源的,但是我已经在“这正在分散技术的注意力”的边缘上奔跑,因此我决定简短地介绍一下,“使审稿人高兴提到的就是我要做的。


0

很多时候实现(即软件无关紧要),但是实现确实会影响结果。

任何时候只要实现很重要...绝对应该提供源代码!结果越依赖于实现或计算方法,发布源代码就变得越重要。


关于谁/在哪里存储源代码。理想情况下,文章发表的期刊将存储整个源代码。但是,许多最重要的期刊都不会同时存储文章和源代码。IMO如果日记不具备存储整个源代码的能力,则作者有责任为源代码找到可在Web上寻址的存储位置。
Trevor Boyd Smith

0

我想对作为化学计量师(化学家进行数据分析)处理的代码类型添加几点:

  • 使用该代码的人相比,编写数据分析代码的人(与我一样)相对较少。“内部编写的自定义代码”并不意味着作者编写了它-可能是同事的代码,因此作者无法发布它。

  • 可能会计划单独发布该代码,并且该代码的作者(或主管)可能会担心,如果以前(部分)将该代码公开,则该新颖性会丢失。
    即使原本打算发布代码的期刊并不反对该代码之前已经公开发布,但主管(或IP办事处的某人)的纯粹担心足以阻止该代码的发布。

  • 数据分析代码通常是针对数据量身定制的。没有数据就没有太大意义。(您可能会争辩说应该
    以任何方式发布数据,但这是一个不同的问题,这里是不合主题的。)无论如何,在我所,我们将原始数据和数据分析代码与论文一起存档。默认策略尚未(尚未?)使它们公开可用,但一定会根据要求提供。

  • (关于什么是化学可再现性的传统观点对应于算法的描述(可能是伪代码),而不是实际的源代码)

  • 我的许多同事使用交互式工具进行数据分析,而这些工具没有记录数据分析的步骤。因此,没有可以发布的源代码。数据分析与编程无关,而与实验室方法相对应:在实验室中,您要做事并记下所做的工作并观察。


这个答案是从数据分析的角度来看的,因此是一个特殊的领域。但是,此问题与学术界.SX有关,因此非计算机科学家可能会一起阅读。
cbeleites
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.