小赖子的英国生活和资讯

从SO上抄了一个只有三行的函数引起的风波

阅读 桌面完整版

这周有一个小任务, 需要修改一个在IE 11浏览器下 字符串不支持startsWith的问题. 这问题很好改啊, 立马 Google一搜第一条 StackOverflow的最高票答案:
https://stackoverflow.com/questions/36213455/add-startswith-in-ie-11?answertab=votes#tab-top

stack-overflow-startswith-function 从SO上抄了一个只有三行的函数引起的风波 程序员 讲故事 资讯

stack-overflow-startswith-function

抄完后就立马提交 Pull Requests (也不需要单元测试, 因为很难也不太需要专门测试IE 11). 谁知很快审核就不通过了, 组里的 Senior Staff SE 要求更改: 不能直接抄代码, 要么改, 自己重新写(也许可以换个函数名), 要么需要找出代码的版权, 并且内部提交Open Source开源的审批.

前端的码农肯定知道, 我抄的这个代码是 MDN 网站上的Polyfill代码. Polyfill主要是为了兼容老版本的浏览器的函数, 在MDN上查得: 如果是2010年之后网页上的代码是Public Domain: https://creativecommons.org/publicdomain/zero/1.0/ 这个问题不大, 而2010年之前的代码是 MIT, 对于公司来说, 问题也不大(公司最怕的是GPL版权, 因为用了GPL版权就意味着自身软件也得开源).

https://developer.mozilla.org/en-US/docs/MDN/About#Using_MDN_Web_Docs_content

Code samples added on or after August 20, 2010 are in the public domain (CC0). No licensing notice is necessary, but if you need one, you can use: “Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/”.

Code samples added to this wiki before August 20, 2010 are available under the MIT license; you should insert the following attribution information into the MIT template: “© <date of last wiki page revision> <name of person who put it in the wiki>”.

而 startsWith 页面的第一次编辑是2012年, 所以是 Public Domain. 于是需要内部提交一个审批, 第二天就批下来了, 并且在代码中注释写清楚了, 来源于MDN, 并且版权是: Public Domain.

我问同事, 为什么要搞得这么麻烦. 原来在几年前, 公司不小心抄了网上的代码, 结果被发现了, 于是公司只能花钱买了第三方的软件(库), 后来又得花力气把这个代码从软件中去除(因为本来就不太需要), 对于公司来说, 浪费时间浪费金钱, 所以从那之后公司就变得很谨慎, 有专门的流程来处理这样的事情, 虽然只是两三行代码而已.

小心驶得万年船, 想想之前各种搜索+拷贝+粘贴, 各种伸手党, 甚至为了省空间, 把版权都注释掉了, 真可怕.

强烈推荐

微信公众号: 小赖子的英国生活和资讯 JustYYUK

阅读 桌面完整版
Exit mobile version