606
社区成员




我阅读了教材的这内容(第七章135页,阿超说的话,如果我们的项目成功了,有人以“开源”的名义来要我们的源程序,我们能答应吗?),有这个问题【怎么理解软件的“开源”】。
我查了资料(用搜索引擎查),有这些说法【
一个软件是开源的,最基本的含义是代码是公开的,任何人都可以去查看,修改以及使用。
开源不等于免费。软件代码虽然可以免费给别人,但是软件相关的服务,例如编译维护升级等,一样可以赚钱,例如 Redhat 就是家开源软件公司,不仅仅赚钱,而且很赚钱。
开源代码既然源码都是开放的,所以直接拿来免费使用基本都是没有问题的,但是这并不意味着使用开源软件是完全没限制的。每个开源软件都对应自己的开源协议,具体的使用限制在开源协议里面都详细的规定。】。
根据我的实践,我得到这些经验 【开源等于公开代码,但不等于可以免费使用代码,这其中还有好多协议】。
但是我还是不太懂,我的困惑是 【为什么一个“开源”就要设置那么多的协议呢?】。
一个团队或个人创立了一个软件项目,然后开源 -- 开放了所有的源代码和相关工具。 有可能会有很多别的人和团队参与,并用之实现各种目标,包括商业目标。 那么,原来创作者的责任/权利/义务, 和参与者, 使用者的责任/权利/义务,当然还有监管方面的各种需求,这里面,有很多种组合方式, 这就造成了多种协议。
但是我还是不太懂,我的困惑是 【为什么一个“开源”就要设置那么多的协议呢?】。
可以看看这个网上课程: https://gitcode.net/csdn/intro-ossd/-/blob/master/chapters/1.md