当然这都是以后的事情了。
至于现在,林枫选择了对开源的项目应用GPL协议。
其实不同的开源协议赋予开发者的权利和保护也不尽相同。
例如,像MIT或Apache这样的开源协议,要求较少,允许用户自由使用、修改甚至闭源再发布,不强制公开代码。
而GPL等协议则有严格的共享条款。
甚至可以说是最“霸道”的一种开源协议。
在丑国和欧盟,还是可以相信GPL约束力的。
如果有人违反了GPL开源协议的条款,比如私自将开源软件闭源后进行商业销售,版权持有者林枫完全可以通过法律途径追究其责任。
曾有开发者使用了GPL许可下的软件,但没有遵守GPL协议中的公开源代码要求,结果被起诉。
在这种情况下,如果某个公司或者某个人拿了林枫GPL开源的项目进行修改,但没有严格做到非商业化,就会违反了GPL协议。
此时,林枫完全可以通过法律途径要求停止侵权、赔偿损失。
并且强制对方依托于林枫开源内容搞出来的项目同样遵循GPL协议。
因此,林枫并不是简单地将《2048》和《Flappy Bird》的代码白送。
而是在法律的保护下进行的一种有条件的公开。
而为什么选择源代码公开呢?
因为在技术上做出回应。
林枫上传的并不是普通版本的源代码。
而是他精心优化过的最简洁的工程实现方案。
林枫相信他上传的版本是《2048》和《Flappy Bird》的代码最简练的版本。
不可能再有比林枫还要更简练的代码实现。
能改一行算林枫输。
当然,不包括那种毫无缩进直接强行把所有代码安排到一起的。
林枫上传到版本的代码不仅结构清晰,易于阅读,甚至还附带了详细的注释和解释,适合那些刚入门的开发者学习和参考。
林枫知道,很多人虽然有心尝试游戏开发,但面对庞杂的代码库和不合理的结构会望而却步。
因此他有意将这两个经典游戏的代码精简到最核心的部分,用最优雅的代码风格呈现出来。
但同时,这也是一个无形的门槛。