原生型开源贡献了独特性。常见的包括两种,一种是早期软件中的开源类似活动。这类软件由于开发的较早,虽然依赖含量很高的计算机科学家和数学家等等的脑力劳动,但在发行发布的时候基本是开源的。一种是延展型开源的同时内部包括了新的架构、新的方法、新的观念等等,并且这部分也开源了。
延展型开源主要的作用在于多样性,同时常常能看到量变和质变的交替。常见的开源几乎都是延展型的开源,即已经有一个参考的类似的软件、系统,再开发的开源软件不简单等于这个参考软件、参考系统的复制,而是有选择地继承了一部分的软件设计,同时又扩充了一部分的软件设计。GNU、linux可以看成三unix的延展型开源,GIMP、blender可以看成PS、更早期的闭源版本扩展后再开源,gcc可以看成更早期的编译器的延展。延展型开源不代表源代码和知识产权的无差别和使用,因为软件的实现方式可能完全是不一样的。延展型开源是主要的,是常见的。
延展型开源又可以分成两类延展:数据延展和过程延展。所谓数据延展,可以理解为软件的核心抽象没有发送根本的变换,但软件相关的数据范围已经改变、切换,软件的对象性和实质的内容已经延展。所谓过程延展,可以理解为软件的核心抽象从一些过程扩充到另外一些过程、包括了新的过程。商业软件、闭源软件也常常会有数据延展、过程延展的情况。通常数据延展和过程延展可以认为是同时存在的,体现出来就可以看到使用者的延展,软件的用途的扩大。
软件开发的沟通常常是发生在软件延展的过程中。软件自己不会延展,他的数据延展和过程延展,因为涉及到对需求的分析、判断,进而也就涉及到需求的确定和舍弃,常常是软件开发、软件管理、软件过程的主要内容、重要内容。大量的劳动力投入和货币的消费,实质上是要对软件的数据延展和过程延展进行分析、处理、清理、定型的成本和费用。
开源并没有说明其经济学的基础,但确实说明了一种开放性:数据延展和过程延展是开发的。进一步地,这甚至会形成一种组织起来了的意志。
由于一些数据、过程的开源可能会涉及到具体的正当的经济利益,这往往是不会开源,不能开源的,不适合开源的。大型企业,利益团体可能对软件的数据延展、过程延展有着旺盛的需要,于是他们越来越变成一种开源实践中决定性的、主流的力量。
--
修改:darkk FROM 117.136.0.*
FROM 117.136.0.*