V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
skiy
V2EX  ›  程序员

自己的代码中如果引用了别人的代码段,应该如何声明?

  •  
  •   skiy · 2019-07-08 10:02:48 +08:00 · 4492 次点击
    这是一个创建于 1747 天前的主题,其中的信息可能已经有所发展或是发生改变。
    别人的代码
    a.go
    文件在 githubb.com/abc/project/cc/a.go
    ```
    // Abc ...
    func Abc() {
    ...
    }

    // Cde ...
    func Cde() {
    ...
    }
    ```

    我要将别人的这段代码存到自己写的函数中,应该如何声明呢?
    a.go
    ````
    // 引用于 https://githubb.com/abc/project/cc/a.go
    // Abc ...
    func Abc() {
    ...
    }

    // Cde ...
    func Cde() {
    ...
    }
    ```

    这样合理吗?
    5 条回复    2019-07-11 20:05:57 +08:00
    pigsney
        1
    pigsney  
       2019-07-08 10:15:05 +08:00
    那我是不是每次 fork 都要告诉他本人呢
    congeec
        2
    congeec  
       2019-07-08 10:15:24 +08:00
    挺好

    注意用某个 commit 的链接,要不上游更新以后链接点进去会变

    当然了,还要看那个项目的协议( license )怎么说
    skiy
        3
    skiy  
    OP
       2019-07-08 10:19:25 +08:00
    @congeec 我打算引用的是 MIT 的,且是放在 gist 里面的。我是打算加个 URL 过去的,以示尊重吧。
    msg7086
        4
    msg7086  
       2019-07-08 23:57:28 +08:00
    MIT 只要求保留许可证。
    所以简单说,可以把许可证单独贴在最下面(或者最上面),并写明这个许可证应用于哪几个函数即可。

    比如以下这个文件就是 GPL 项目里的 MIT 许可证文件。
    https://github.com/msg7086/x265-Yuuki-Asuna/blob/Yuuki/source/output/gop.cpp

    你这种情况下可以写
    The MIT License applies to Abc() and Cde() only.

    如果整个文件都是转载的,那直接写应用到整个文件即可。
    文件原始地址写不写都可以。
    skiy
        5
    skiy  
    OP
       2019-07-11 20:05:57 +08:00 via Android
    @msg7086 学习了,非常感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1211 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:09 · PVG 02:09 · LAX 11:09 · JFK 14:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.