开源项目 要 发展壮大, 卓有成效, 要做好 模块化 工作 。
就是 作者 要 把 代码 写成 、整理成 模块 的 形式, 提供出 简洁 清晰 易用 的 接口, 让 别人 容易 的 使用 。
项目 的 架构 要 清晰, 内核模块 和 扩展模块 要 清晰 , 模块 的 功能 要 清晰 突出 。
总之就是 要 清晰 、突出, 让 别人 可以 容易 的 拿去 使用 。
这样, 别人就可以容易的 使用 你的 模块 去 创造搭建 新 的 模块, 别人的别人 又 可以 容易的 使用 你们 的 模块 去 创造搭建 新 的 模块 ……
如此, 开源项目 就能 生生不息, 发展壮大 。
说白了, 开源项目 不是 要让 别人 来 读 你的 代码, 而是 要让 别人 来 用 你的 代码 。
读自己的 代码 都很烦, 更何况 读 别人 的 代码 ? 读代码 的 目的 是 学习 。
但是 开源项目 要发展, 仅仅把 代码 摆 在 那里 让 别人 来 读 是 远远不够 的 。 需要做好 模块复用 和 模块替换 的 工作 。
模块替换 就是 未来 有新的 , 更好 的 模块 来 完成 这个工作, 就可以 用 新的模块 来 替换 旧的模块, 这样, 开源项目 就能 生生不息, 发展壮大 。
如果 把 代码 摆在 哪里 就能 让 项目 发展壮大, 卓有成效, 那 你们 可以去 把 PostgreSql 或者 MySql 的 代码 拿来 发展 发展 啊, 等你把 PostgreSql 的 代码 读完, 你也 差不多 50 岁 了 。
PostgreSql 是 加州大学 历代师生 积累的 结果 。 另外, 很多 开源项目 都是 有 商业支持 的 。 比如 Mono, Mono是一个由Xamarin公司(先前是Novell,最早为Ximian)所主持的自由开放源代码项目。 见 百度百科 “Mono” 。
所以, 一个 开源项目 如果没有 商业支持, 又要想 发展壮大, 卓有成效, 就要做好 模块化 工作 。
最后, 我还是 再 重复一遍 Unix 的 一条 编程原则 : 编写一些简单的模块, 把它们连接起来 。
原文:https://www.cnblogs.com/KSongKing/p/12152882.html