第57章 最简洁的工程实现方案(1 / 2)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

因为在技术上做出回应。

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

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

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

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

能改一行算林枫输。

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

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

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

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

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

能够意识到这套代码简洁但不简单的人,也会意识到林枫的实力。

而充分理解林枫设计思路的人,也应该能够对游戏设计本质的理解。

那些单纯模仿的开发者或许可以复刻出一款外观类似的游戏。

但如果没有林枫的创意和对玩家心理的洞察以及对市场的深度把握。

他们的作品终将无法触及《2048》和《Flappy Bird》曾经达到的市场高度。

另外,采用开源也是为了更好的社区建设。

像是《2048》和《Flappy Bird》本身的游戏其实挺简单的。

但其实各种衍生版本还是相当五花八门的。

不过这些衍生版本林枫就没那么多精力去鼓捣了。

干脆直接就将软件代码开源好了。

谁有精力鼓捣谁去鼓捣吧。

林枫选择了在GitHub上以Solitary Sojourner身份上传了工程源文件之后。

很快就迎来了一波follow。