引用其他人的代码

时间:2009-01-18 02:04:15

标签: language-agnostic

我目前正在研究我的学士学位论文。这涉及开发软件产品和12000字的文字,主要涉及研究,设计和开发。现在我引用其他人的书面作品,我显然是在引用它,但是代码呢?很多时候我一直在寻找一个我不确定的问题的解决方案,并找到了解决问题的人。大部分时间我都使用他们的代码,努力了解他们在做什么,然后在我的应用程序中编写我自己的版本,所以它应该以某种方式引用吗?

你们会做什么,在引用原作者的代码中添加注释,在写作或参考书目中添加引用,或者什么都没有? 如果使用了大量或有趣的代码,我可能会在我的文章中提到它,但对于不能保证这一点的解决方案,我试图想出一个好的解决方案。

如果你是我曾经使用或受到启发的一些代码的作者,那么什么会让你开心我不是在剽窃你?

为了更进一步,这里有两个不同的东西。如果我去MSDN查询如何使用.net框架的特定部分,是应该引用的东西,还是合理使用框架。 好像我使用了一个明确开发并且花费了大量时间的算法,这是我肯定会参考的。

5 个答案:

答案 0 :(得分:5)

这一切都取决于背景。许多算法都是众所周知的,它们通常被认为是公共领域,只要你引用一个众所周知的关于这个主题的来源,你就不应该有任何担忧(排序,搜索)

在处理特定问题时,特别是在其他人的代码中,你必须仔细阅读。如果它的出版(书籍,期刊,网络等),那么你必须始终引用原文,在论文的某个时刻(技术上一次然后写入,然后在源中发表评论)

如果是其他人的工作,他们应该正确信用。其他任何事情都是抄袭

答案 1 :(得分:2)

这有两个方面:

  1. 您学术机构的引文要求。你应该确保你遵守这个规定,因为如果发现你剽窃了另一个人的工作,你可能会犯有学术上的不端行为,而你却不想这样做;和
  2. 使用他人作品的道德规范。除非“合理使用”条款(意味着只有在你正在做的事情之前才能重现的人才的重要性不再是“合理使用”)等等,如果你复制别人的代码,你应该相信。如果你只是采纳这个想法,那可能有点不同,并且是一个判断。这取决于该想法的重要性及其对您工作的贡献。

答案 2 :(得分:1)

在学术工作之外,如果我引用其他人来解决某个特定问题,我会习惯在我的源代码中留下评论。这也是为了我的利益,我可能希望几个月后回去看看他们的代码并忘记我最初找到它的地方。当然,当你引用某人的代码时,看看附带的许可证,应该很清楚你不能用它做什么。

答案 3 :(得分:0)

如果工作代码是最好的工具,只要作者的许可条件允许,那么借用工作代码并不是一件好事 - 真正的程序员会一直这样做。但是出于学术目的,如果你可能被认为是完全隐秘或具有欺骗性,那么就会出现问题。为了避免这种情况,我会在代码中引用一个大而清晰的注释,并在报告中引用它。完全披露意味着你不能被指责做错任何事。

答案 4 :(得分:0)

我的论文也有同样的问题: 我选择引用而不会过度使用它。添加对引用部分的引用,意味着您已经搜索,发现了某些内容,想到了使用它并接受它,而没有任何意味着您已经完成了它。这增加了你在大学环境中工作的价值(你以前的工作越多越好)。 您的主管也可以在引用的站点上跟踪许可和算法问题。 最后你不知道你的工作将在哪里。假设在今天之后的3年内有人试图使用它,并进入专利侵权行为?你怎么能帮助他 - 通过参考...