基于软件开源实践(FLOSS)论共产主义的可实现性
来源:互联网 发布:怎样对重复数据编号 编辑:程序博客网 时间:2024/06/05 04:41
在马克思提出共产主义100多百年后,软件开发领域中出现了一种特别的生产方式:开源(FLOSS:Free/Libre and Open Source Software),并爆发出了惊人的生产力。作为结果,以这种生产方式开发出来的软件覆盖了几乎所有软件类别,并获得广泛应用。从本质来看,这种生产方式植根于资本主义生产关系之上,但又与资本主义的生产关系本质不同,同时又恰恰可以满足马克思对共产主义生产方式的定义,因此可以看做是一种实现了的共产主义生产方式。
一、共产主义的必然逻辑和特征
在马克思的论述中,共产主义是当资本主义生产方式发展到极致,乃至成为生产力发展束缚时,社会自身所蕴含的一种必然性。对此马克思说:
1)代替那存在着阶级和阶级对立的资产阶级旧社会的,将是这样一个联合体,在那里,每个人的自由发展,是一切人自由发展的条件。①
2)共产主义是私有财产即人的自我异化的积极的扬弃,因而是通过人并且为了人而对人的本质的真正占有;因此,它是人向自身、向社会的即合乎人性的人的复归,这种复归是完全自觉的和在以往发展的全部财富的范围内生成的。这种共产主义,作为完成了的自然主义=人道主义,而作为完成了的人道主义=自然主义,它是人和自然界之间、人和人之间的矛盾的真正解决,是存在和本质、对象化和自我确证、自由和必然、个体和类之间的斗争的真正解决。②
3)共产主义是作为否定的否定的肯定,因此,它是人的解放和复原的一个现实的、对下一阶段历史发展来说是必然的环节。共产主义是最近将来的必然的形式和有效的原则。③
4)在共产主义社会里,任何人都没有特殊的活动范围,而是都可以在任何部门内发展,社会调节着整个生产,因而使我有可能随自己的兴趣今天干这事,明天干那事,上午打猎,下午捕鱼,傍晚从事畜牧,晚饭后从事批判,这样就不会使我老是一个猎人、渔夫、牧人或批判者。④
5)在共产主义社会高级阶段上,在迫使人们奴隶般地服从分工的情形已经消失,从而脑力劳动和体力劳动的对立也随之消失之后;在劳动已经不仅仅是谋生的手段,而且本身成了生活的第一需要之后;在随着个人的全面发展生产力也增长起来,而集体财富的一切源泉都充分涌流之后,---只有在那个时候,才能完全超出资产阶级法权的狭隘眼界,社会才能在自己的旗帜上写上:各尽所能,按需分配。⑤
6)人的依赖关系(起初完全是自然发生的),是最初的社会形态,在这种形态下,人的生产能力只是在狭窄的范围内和固定的地点上发展着。以物的依赖性为基础的人的独立性,是第二大形态,在这种形态下,才形成普遍的社会物质变换,全面的关系,多方面的需求以及全面的能力体系。建立在个人全面发展和他们共同的社会生产能力成为他们的社会财富这一基础上的自由个性,是第三个阶段。⑥
纵观上述马克思对共产主义社会的描述,可以发现在马克思的定义中,共产主义社会具有如下两个关键特征:
1)按需分配。即人们彻底摆脱对物质的依赖,实现物质上的自由。
2)异化终止。即人们不再是为了不属于自己的人生目标,而是完全自主的为了实现自己而工作。实质上这是一种彻底的精神上的自由。
也就是说共产主义是以人类在物质和精神上的双重自由为最终目的的。如果未来可以选择,那这无疑的是未来众多可能中无限美好的一个。
回顾人类历史,在原始社会里人并不具备很好的改造自然的能力,相对自然基本处在不自由的地位,但人与人之间的关系则相对平等。随着生产力的不断发展和分工的深化,人类逐渐从彻底的自然法则解脱出来,但与此同时身上社会法则的束缚则逐步增加。在这一过程中,人类战胜了自然界,但却没有彻底战胜自己。随着社会发展节奏的变快,社会体制对人的异化则逐步加深,人越来越不属于自己,而更像是某种生产关系或者说经济体制的一种附属物。
社会始终在不停向前发展,人类自身也始终关注未来会变成什么样子。在未来种种可能性中,同各种形式的终结论相比共产主义无疑是更值得追求的目标,但自马克思以来,共产主义生产方式仍然仅只是停留在概念之中,并没有具体的社会实践证据与之相印证。这无疑的不利于对其可实现性进行探讨,而通过类比现实中软件开源社区的生产方式与设想中的共产主义生产方式则恰恰可以为具体社会实践与共产主义目标间建立关联。
--------------------------------------------------------------------------------------------------
①马克思、恩格斯:《共*产*党宣言》,北京:人民出版社,2009年,第50页
②马克思:《1844年经济学哲学手稿》,北京:人民出版社,2008年,第81页
③马克思:《1844年经济学哲学手稿》,北京:人民出版社,2008年,第93页
④马克思、恩格斯:《马克思恩格斯选集》,北京:人民出版社,2008年,第85页
⑤马克思、恩格斯:《哥达纲领批判》,北京:人民出版社,2005年,第14页
⑥马克思、恩格斯:《马克思恩格斯全集》,北京:人民出版社,1979年,第104页
二、开源为共产主义生产方式提供了新的证据
软件开源社区的基本生产方式具有如下一些特征:
1)人们按照自己兴趣和意愿选择加入指定的软件项目。
2)任何人可以无偿获取开源项目的源码以及相应的编程工具,并为开源项目贡献自己的代码。
3)任何人可以无偿使用开源项目的软件。
4)软件开发和发布的主体并非是公司,而是一些基金组织或个人,他们不以盈利为目的。
5)参与人员可能横跨全球,彼此间通过互联网进行协作。
6)大型开源软件靠捐赠等方式来维持基本运作的经费。
7)通过种种许可证来明确开源软件的使用规则,保障自身权益。
如果把参与开源的人员在现实中获取收入的手段抽象为社会可提供的平均物质生活水平,再把开源软件的生产分配孤立出来进行考察,那么在开源软件的生产中可以清晰的看到异化终止:人们并不为利润工作,而是主要为自己工作。也可以清晰的看到按需分配:任何人不需要支付任何费用即可获得本应是商品的所有开源软件。因此可以讲,这是一种符合马克思定义的共产主义生产方式。这里比较容易引起争议的是异化终止一项,当开源发展到一定程度之后,部分公司会指定部分雇员参与开源软件的开发,但这是开源与现实相结合的一种必然结果,并不从本质上影响对异化的终结。同时,调查分析显示参与开源并不对收入有直接帮助①,人们参与开源的主要动机也并非是为了增加收入②。
这种生产方式完全颠覆了资本主义中以私有制为基础,以公司为表现形式,以利润为驱动的生产方式。当下,在软件开发领域中这种具有共产主义特质的生产方式仍在持续发展,并逐渐取得优势,使依赖传统生产方式的公司如微软也不得不拥抱开源。这并不是一种小规模、偶然的事件,开源生产方式已经彻底的影响了整个软件行业的生产分配模式。从日常的智能手机到互联网上的微博、搜索引擎等产品,开源方式所生产的软件在其发生、发展的过程中都扮演着至关重要的角色③。这就使这种社会实践更具有考察和参照的价值。
-------------------------------------------------------------------------------------------
①IlHorn Hann,Jeff Roberts, Sandra Slaughter,Roy Fielding:Why Do Developers Contribute to Open Source Projects? First Evidence of Economic Incentives,2002, http://flosshub.org/system/files/HannRobertsSlaughterFielding.pdf
②Rishab A. Ghosh ,Ruediger Glott ,Bernhard Krieger ,Gregorio Robles:Free/Libre and Open Source Software: Survey and Study ,2002,http://www.flossproject.org/report/FLOSS_Final4.pdf
③David A. Wheeler:Why Open Source Software / Free Software (OSS/FS, FLOSS, or FOSS)? Look at the Numbers!,2011,http://www.dwheeler.com/oss_fs_why.html,http://www.dwheeler.com/numbers/
三、开源得以实现的基础
(一)开源发生、发展的简略回顾
开源运动起源于Richard Stallman的GNU(http://www.gnu.org/))。Richard Stallman坚持认为软件应该是自由的而不应该是封闭的,也就是说他坚持认为软件商业化是一条错误的路线,于是他在1983年成立了GNU,在1985年成立了自由软件基金会,主要目标就是通过GNU打造完全自由的软件生态系统,替代已有的商业软件。在GNU开发出大部分软件后,1991年Linus开发出了Linux 内核,最终使GNU成为一套完备的软件生态系统,其中涵盖了从操作系统、编译工具、编辑工具等进行软件再生产的必备工具。接下来则是其他开源组织的建立和发展。其中比较关键的三个是:
1)1998年开源软件促进会OSI成立。
2)1999年Apache软件基金会成立。
3)2004年Eclipse基金会成立。
- 基于软件开源实践(FLOSS)论共产主义的可实现性
- 基于软件开源实践(FLOSS)论共产主义的可实现性
- 实现软件的可修改性
- 可实践的同态加密:IBM发布了开源软件库
- 共产主义的生命力
- 共产主义
- 基于可扩展平台的标准软件
- 基于可扩展平台的标准软件
- 基于开源软件在Azure平台建立大规模系统的最佳实践
- 基于svg.js实现可编辑的图像(1)
- 基于svg.js实现可编辑的图像(2)
- 基于脚本的攻击或可绕过微软的反恶意软件扫描接口(AMSI)
- 深度学习的浅实践:开源软件/数据库实现表情识别(1)
- 深度学习的浅实践:开源软件/数据库实现表情识别(2)
- 开卷有益--《软件需求--基于统一过程的实践方法》
- 基于Android的Traceroute(路由分析)软件实现
- 维基百科 -- 百科全书的共产主义?
- 基于PPP协议软件的实现
- XCode工程中 Project 和 Targets区别
- poi与excel相关
- Python 函数式编程
- MavenDemo1
- java将一个图片进行旋转
- 基于软件开源实践(FLOSS)论共产主义的可实现性
- Linux下的MYSQL使用
- Using data-* attribute
- Android开发ToggleButton控件的学习
- comment style in C
- 冬天怎样美白祛斑
- Android 4.0设置Dialog点击屏幕不消失
- 什么情景下应当考虑使用JMS(Java Message Service )技术
- struts2.xml详解