作为一个无版权习惯的码农,终于遇到一个大坑,堵住了自己一条光明大路。
那就是:版权
大部分程序员遵从的原则就是不重复造轮子,作为一个非著名相声演员,哦不,非大牛程序员(咳咳),把这句至理名言发挥的更是淋漓尽致。只要有需求,想好大致架构思路和逻辑,就去Github了。
分为几种使用方式:1.拿来直接用;2.拿下来依据自己的想法和需求去改造;3,拿下来,仿写部分功能,完善添加其他功能。
终于:重点来了
本人有一天去IBM面试了,顺利通过中国区大神一面,迎来了二面。
全英文,爱尔兰分部的爱尔兰帅哥视频面(话说我去面的时候那边还没起床),一个半小时,我全程用低空飘过大学六级分数线的水平,愉快的聊了这么久。自己还沈沈滴呸服自己的时候。一个不起眼的问题抛出来了:问我用的三方框架都遵守了什么协议?我哪里关注过这,一心以为开源就是免费,免费就是白拿,白拿就是我根本不关心你什么协议。于是我表示没注意过,还说应该是没什么协议,It is free to all。那边明显顿了一下表情。但是我没注意这个是一个决定性的问题,直到通知我二面失败。那感觉就像初次见面擦出了火花,聊得非常嗨皮,但是突然告诉你,姑娘不想理你了的赶脚。
反思!立刻反思!我开始回忆所有问题和我回答的地方!
确实有些回答的不够深入和彻底,但是程序员不是全面手,偶有不熟的地方应该不会成为毙掉我的原因。英语虽然次,但是起码我敢开口,大部分他也能听懂,致死性低于30%应该。然后,就没想到。直至今天,我突然脑子里想起来了这个问题:版权!
开源不等于免费,开源也不等于没有约束!
国外开发者在尊重他人劳动成果方面做得非常到位,如果A的作品是因为B的作品的启发而来,A甚至都没有使用B任何一句代码,但A会在他的作品里面指明是受到了B的启发"Inspired by YYY link :http://www.ABC.com"。
有协议和没声明协议的裸代码是有非常重要区别的,一般作品当中没声明协议的默认为Copy right的,也就是版权保留。此种情况表明他人没有任何授权,不得复制分发修改使用等等,
常见的协议:
简单宽松的协议
如果你只想要一个简单点的协议不想太麻烦的话。
MIT协议相对宽松但还是抓住了要点的。此协议允许别人以任何方式使用你的代码同时署名原作者,但原作者不承担代码使用后的风险,当然也没有技术支持的义务。jQuery和Rails就是MIT协议。
考虑有专利的情况
如果你的作品中涉及到专利相关。
Apache协议也是个相对宽松与MIT类似的协议,但它简单指明了作品归属者对用户专利上的一些授权(我的理解是软件作品中含有专利,但它授权你可以免费使用)。Apache服务器,SVN还有NuGet等是使用的Apache协议。
代码分享与促进
如果你在乎作品的传播和别人的修改,希望别人也以相同的协议分享出来。
GPL(V2或V3)是一种版本自由的协议(可以参照copy right来理解,后者是版本保留,那copyleft便是版权自由,或者无版权,但无版权不代表你可以不遵守软件中声明的协议)。此协议要求代码分发者或者以此代码为基础开发出来的衍生作品需要以同样的协议来发布。此协议的版本3与版本2相近,只是多3中加了条对于不支持修改后代码运行的硬件的限制(没太明白此句话的内涵)。
以后千万要培养版权习惯和意识,不然最后吃亏的是自己。
查找资料的时候,一篇比较详细的介绍:http://www.cnblogs.com/Wayou/p/how_to_choose_a_license.html
网友评论