第57章 最简洁的工程实现方案

当然这都是以后的事情了。

至于现在,林枫选择了对开源的项目应用GPL协议。

其实不同的开源协议赋予开发者的权利和保护也不尽相同。

例如,像MIT或Apache这样的开源协议,要求较少,允许用户自由使用、修改甚至闭源再发布,不强制公开代码。

而GPL等协议则有严格的共享条款。

甚至可以说是最“霸道”的一种开源协议。

在丑国和欧盟,还是可以相信GPL约束力的。

如果有人违反了GPL开源协议的条款,比如私自将开源软件闭源后进行商业销售,版权持有者林枫完全可以通过法律途径追究其责任。

曾有开发者使用了GPL许可下的软件,但没有遵守GPL协议中的公开源代码要求,结果被起诉。

在这种情况下,如果某个公司或者某个人拿了林枫GPL开源的项目进行修改,但没有严格做到非商业化,就会违反了GPL协议。

此时,林枫完全可以通过法律途径要求停止侵权、赔偿损失。

并且强制对方依托于林枫开源内容搞出来的项目同样遵循GPL协议。

因此,林枫并不是简单地将《2048》和《Flappy Bird》的代码白送。

而是在法律的保护下进行的一种有条件的公开。

而为什么选择源代码公开呢?

因为在技术上做出回应。

林枫上传的并不是普通版本的源代码。

而是他精心优化过的最简洁的工程实现方案。

林枫相信他上传的版本是《2048》和《Flappy Bird》的代码最简练的版本。

不可能再有比林枫还要更简练的代码实现。

能改一行算林枫输。

当然,不包括那种毫无缩进直接强行把所有代码安排到一起的。

林枫上传到版本的代码不仅结构清晰,易于阅读,甚至还附带了详细的注释和解释,适合那些刚入门的开发者学习和参考。

林枫知道,很多人虽然有心尝试游戏开发,但面对庞杂的代码库和不合理的结构会望而却步。

因此他有意将这两个经典游戏的代码精简到最核心的部分,用最优雅的代码风格呈现出来。

但同时,这也是一个无形的门槛。