这周有一个小任务, 需要修改一个在IE 11浏览器下 字符串不支持startsWith的问题. 这问题很好改啊, 立马 Google一搜第一条 StackOverflow的最高票答案:
https://stackoverflow.com/questions/36213455/add-startswith-in-ie-11?answertab=votes#tab-top
抄完后就立马提交 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.
我问同事, 为什么要搞得这么麻烦. 原来在几年前, 公司不小心抄了网上的代码, 结果被发现了, 于是公司只能花钱买了第三方的软件(库), 后来又得花力气把这个代码从软件中去除(因为本来就不太需要), 对于公司来说, 浪费时间浪费金钱, 所以从那之后公司就变得很谨慎, 有专门的流程来处理这样的事情, 虽然只是两三行代码而已.
小心驶得万年船, 想想之前各种搜索+拷贝+粘贴, 各种伸手党, 甚至为了省空间, 把版权都注释掉了, 真可怕.
loading...
上一篇: 微管理 Micro-Management 和 微管理者 Micro-Manager
下一篇: 在英国自己换汽车机油(Engine Oil)
主要是欧美国家的法规完善, 另外想知道别人是怎么发现你们公司用了他的代码的?
javascript 本来就是开源的. . .