以下为发到“扩充话题\程序人生”栏目中的一系列贴子的集合(稍作增减)。大家如有任何想法欢迎来讨论。原计划要把全部过程都写出来。但是在栏目中刷新太快、回应太少,打字的情绪越来越低落。暂时把题目定为(上),是否有(下)还要等待。
贴子索引:
1、框架及其肇事人:http://www.csdn.net/expert/topic/165/165149.shtm
2、市场与环境:http://www.csdn.net/expert/topic/167/167185.shtm
3、羡慕与无奈:http://www.csdn.net/expert/topic/172/172290.shtm
4、人员构成: http://www.csdn.net/expert/topic/173/173658.shtm
5、人员与项目:http://www.csdn.net/expert/topic/180/180432.shtm
(0.开篇)
最近我会发一系列贴子来申明我的新构想:大家组织起来,合作开发出一些叫得响的东西。
我的思维并不很系统。想把各个方面问题一一列出来大家一起讨论。其中如有任何不公、不敬之处希望大家多包涵。
感谢CSDN为大家提供了这个空间,使大家有机会相互交流。相信大家将来成功的时候一定会回来答谢CSDN。也祝愿CSDN能坚持到某个家伙回头的那一天。
在CSDN中已经讨论过多次这类问题。这次的最大不同之处是由我来发起:-P
各位给点掌声!拜托,不要这么麻木好不好。
(1.框架及其肇事人)
观点:开创新的合作方式
应当有一种利用Internet合作开发软件的中国方式。
首先我要概述一下总体氛围。在求得共识、相互理解的前提下,有利于形成紧密的合作关系。
最先,介绍的是本人及本人的理念。让大家品一品,看看这种人有没有与之合作的可能。
稍后,分析一下各种可能的合作方式
最后,举个例子。
以下及随后的贴子都是相关的,只是为了逐个问题讨论的方便才把内容拆散。
个人介绍
本人思维混乱、记忆模糊。从没有正式学过,但接触计算机大约有十七、八年。开始学的是Z80、6502。略微熟悉硬件、单片机一类的东西。后来做CAM类软件;3维CAD软件的二次开发;偶尔做点加解密;也玩过CAM类程序。学过API却极厌恶MFC之类。很多东西都只是了解些皮毛,一贯的不求甚解。从来没有独立做过一件像样的软件(有过一件经我设计的,已累计毛利二百多万的东西,却不算在我头上)。不计较个人得失、挣的多少,但却功于计算(比较重效益)。最近在开发管理软件过程中跟着别人跑龙套的同时,突发奇想:想拔个山头,踏条小路,协助过往商旅通行,兼赚些养路费。由此想到:如何在黄种人内构造一个成功的开发团队。
(2.市场与环境)
对目前软件价格的看法
在构造开发团队之前,不妨先分析一下周造的形势。
主要说说国内。
目前的价格体系、国内外的汇率比值造成的结果是:国外的软件拿到中国来,中国人根本没法承受。除了企业软件,有谁会勒一个月肚子去买一版一两年后就过时,就需要不断付钱才能升级的高档不耐用消费品呢!只有效益好的大企业才有购买力。但那是多么不容易,要付出多大代价才能赚回来成本。大家都会有同感的。所以在今后很长的时期内都只能是“盗版有理”者的天下。
再看国内软件业
技术档次低另当别论。卖得好的像超级解霸、金山词霸等所谓的低价软件的价格,比起我们的收入来还能称之为低价吗。他相当于我们收入的百分之一。在国外百分之一的收入可以买一套数千人编制的操作系统,并且可以将这家公司养得流油。
封闭来看国内,软件业应当属于超高利润行业(几乎是随意定价)。
大家没有理由抱怨市场不好,问题的根本是软件技术不过硬。
拿着随随便便、松松垮垮拼出来的短命软件,极高傲地索人钱财。这太……
我们欠缺的是技术、管理和Idea。唯一不缺的是人。
要制作稍大规模的软件,必须规避将要长期存在的盗版现象;必须对未来软件价格走向有正确的预测;必须对全球计算机技术的发展有充分的把握。
(3.羡慕与无奈)
对共享软件的看法:
我非常钦佩Linux Torvalds等自由软件开发人。他们追寻的是自由的理念。
国内许多自由软件、共享软件大多给人走投无路的感觉。这是对盗版的屈服。
自由软件、共享软件的社会效果无疑是非常积极的。尤其是开放源码在很大程度上促进着技术的发展。
我们在规划、开发过程中也经常搜寻各类开放源码。
开放源码可以是失败项目的归宿。
在我这里公开源码还有可能作为各分支部门相互制约的约束力。
(大家对我贴子反应的冷漠,极大地影响到我打字的热情。只有靠敏捷的人自己领会。在快鱼吃慢鱼的时代,我们关注的只是快鱼--Shark。)
另:
许多国内自由软件、共享软件总给人一种说不定哪一天就会消失的感觉。(许多只有1.0版)
许多作者在版权声明中不断流露出难以为继的情绪,看了真不是滋味。
远没有象Linux那样给人一种坚强的感觉。
这就是国内自由软件、共享软件的弱点所在。也是他无法昌盛的前期表现。
(4.人员构成)
观点:人员构成(不考虑学生)
非常抱歉,我接触的学生太多了。他们常常气得我哭笑不得。学生非常缺乏经验。
现在社会纷繁复杂,想两三个人一鸣惊人是很难的。
要组织比较大规模的团队!
首要问题:不言自明,三个中国人只相当一条虫。如何解决中国特有的问题呢?
找Bug是我们的专业:一个成功的项目必须要有一个好的框架和几个好的骨干。
好的创意有一两个人就可以;问题的关键是要在芸芸之中筛出几个捆在一起不像虫的家伙。
中国的一些成功软件,如金山词霸、超级解霸等都是由个人挑头,一个人摸爬滚打干下来的。几乎没有两个以上人对等、合伙完成一项较艰苦的创新软件。原因何在!一个原因是合作精神太差;另一个原因是个人欲望过强,贯于在同事间竞争,所谓窝里斗;再一个原因是眼界不开阔,过于看重眼前利益。
我们要做的软件不该是小规模的。微软开发操作系统要数千人。我们的软件比它小百倍,也要几十人吧。普通程序员并不缺乏,缺的是能带领五、六个人的组长(动听的称呼叫项目经理)。他要有魄力,对大系统所涉及的各方面有深入的理解,富于创造,思路开阔……具有一切优良品质之外,还要能编程序。还要少关注待遇,还要……
总之要做一个大项目一定要聚集些比我(前面有介绍)还强的人。
我非常真诚地尊敬Linux创建人。一个外国人居然满怀崇高的共产主义思想,开着多年前的破车:)
想一想我们有多少人可以更超脱一些呢!
子曰:仓廪实而知礼节
现在,多少人过得比百多年前的皇帝还要惬意。可又有多少人能满足。多少人能够将注意力从对物质生活的关注转移到对精神生活的关注。
物质生活在超过一个适当的下限以后,在有生活保障的前提下。我们的生活就应当完全专注到追寻生存的真谛上。
在合作人员的选择上,不仅要忽略学生,还要忽略尚未在心理上解决温饱问题的……
在资金容许的情况下,募集高报酬战将也是非常好的选择。不过比为自由精神而战的人要低一个层次。以利相交,利穷则散。必须要维持好长久的利害关系,才能确保项目的顺利进行。
现实情况中,任何一个人也绝对不是非此即彼的完人。往往是希望鱼与熊掌兼得的人居多。
商品社会这些问题都不难理解,只是高报酬问题比较难以应付。
另:
今天替公司接了一纸大额汇票引起我许多感想
一则,这个讨论栏刷新太快。收不到任何反映就被压到底下几页。我一般只看第一页。相信很多人都是这样。
第二,感觉CSDN程序员大本营的“程序员”气氛太浓。许许多多都是永远也蜕变不了的程序员;还有许许多多只是未来的程序员;还有许多需要将C++理解为“希,扑啦咝,扑啦咝”的伙计。真心希望大家能站得更高一些,多些头脑,少些心计。
最后,曾多次想到一个感觉有趣的贴子:智商低于50者请进……(题目记不准确,也没看过内容)。很多有钱的土财主连汉字都不会写。可他们进出星级宾馆,从不知道公共汽车站的方位,每次赌钱输上十万二十万都不算事儿。当真谁的智商低于50!为什么这么多人在这里耍贫嘴,而一些猪头在赚大钱。不要抱怨社会不公。一个不会写字的人可以管理几千万的产业。其发迹史不过一二十年。给您一二十年,您能创建一个多大的项目?我们大家应当好好反省一下:我们最欠缺的是什么?
最后的最后,我来放出一个由感而来的Idea:开发一套猪头财务。这应当算作一套中小型项目。大家可以试探性的运用我们探讨的框架,组织团队来尝试一下。什么?您还不知道我们探讨的框架是什么结构?也难怪,我们还没有深入到实质部分呢。这么小的项目,如果一个人开发难道不可以吗?当然可以。只是不要再往下问我细节问题。我在讨论的是如何才能做到集思广益,构造成臭皮匠小组(不是皮匠+铁匠+泥瓦匠的小组)。
5、人员与项目
合作的最佳人选依次是:自由软件高手,鱼与熊掌兼得的人,高报酬战将。
自由软件高手:
纯粹的自由软件高手太自由了,他们可能很少受到商业约束。这对制作软件产品是不利的。用全部精力关注技术,做出的产品应该是很美妙的。老实讲我对此并无热情。纯粹的自由软件走GNU的道路是合适的。利己主义各不相同,但自由精神是国际性的。GNU的运行方式是成熟的。
聘用纯粹高报酬战将前面已经提到过。必须要维持好长久的利害关系,才能确保项目的顺利进行。只要财力允许这种关系比较好维护。管理者只需要考虑如何改善管理。所不足的是:这样招到的人最关注的是一己的利益,由于与项目控制人的利益出发点不同,这类人是很难发挥出创造性的。一但这类人发现新的突破点,他们有财力另立炉灶去追求更高的利益。
鱼与熊掌兼得的人:
我是有一定利欲心的人,比较热衷于分析这类人的合作方式。
鱼与熊掌兼得的人应当是既能接受自由软件的淡雅,又不拒绝高额的回报。这样的人应该是现实中国组织大规模团队的最值得探讨人群。
这类人大约是最有中国特色人群。也是最需要中国人来探讨的人群。
人员方案定下之后,我们来设计一套专属的项目构成方案。
大原则:
如许多人谈到的,一个项目组必须认可一个终极目标;有充分的利益驱动;有完善的技术准备;有杰出的人员配合;还要有足够的合作精神。
成员间关系还应当是互相制约的;各成员的利益也是相互协定的;各成员还要有共同承担风险的能力。
科技以人为本——其中包含极深刻的内容。
人是第一位的。因为有Bill gates及其同伙,才有微软今天的霸业。这种现象在前工业时代是不可能出现的。抛开什么霸业不谈,创新与合作是软件业的根本。
(以下只是一些杂乱的个人观点。有碍观瞻之出请指正,在下洗耳恭听)
1.创新是第一位的。
不要以为适合中国的或者中国没有的便是创新。许多教训倒在计算机发展史上。如汉卡、UCDOS等,还有岌岌可危的WPS。“走某某技术的国产化道路”——这是不能贸然采取的路线。根本原因在于:技术始终是决定性的。不走在技术前列就免不了被淘汰。没有所谓“在中国领先的技术”。技术是全球性的。正如某些人所言,该支持COM而没有支持COM的软件就不会领先。
2.新项目必须有技术前瞻性
在快鱼吃慢鱼的时代,为追求创新甚至来不及充分考虑创新技术的可行性。导致大批在技术上误入歧途者被无情淘汰。在采用新技术时还要具备一定的冒险精神。用时间比用金钱作赌注的分量更重些。
3.创新技术的核心
创新技术的产生需要几个思维开阔的人进行碰撞,擦亮几颗小火花。一个好软件其独特的技术只有很少几点。创新有如侯宝林的做梦:一个人能做;两个人不能做;大家都能做;合起来不能做。创造过程并不一定需要合作。(一个人也可以。我就是个很好的例子吗:)
4.以实力在竞争中占据优势
任何拥有Idea的组织或个人都不可能轻易公开创意。因为创意是一点就透的窗户纸。有了创意,任何有技术的组织都有能力去实现它。所以大家要构造的组织结构应当以创意人为核心。比如大家要开发“猪头财务系统”,是否尊重我的构想倒无所谓,如果您有能力,我不排斥您自己单干,也没有能力阻止。但您必须有能力自己构造整个系统,我不会提供任何帮助,因为您已经从我头上跨过去了。作创意的同时我也在组织技术在实现它。任何想另立山头的人,他同时也在与原创人在竞争。竞争的劣势是很明确的。
5.组织分立小组
为了保全技术思路,项目控制人是不会和盘托出项目的。这就要求组织一些分立的开发小组。小组间互相不接触(防止合伙出卖老板:),只与项目控制人单线联系。只负责开发项目的一个完整部分。
6.设立并行工作小组
由于网上联合开发这类组织形式非常松散。为保证总体进度、防止个别小组中途撒手,一些关键的部分应当是两三个小组并行工作的。这也有利于小组间的竞争。
(说得天花乱坠,到头来全都是要别人围着一个人转。)
7.各小组利益的保障:
各小组拥有各自的代码,这代码是轻易不能给人看的(这可不同于GNU)。项目与小组之间只有这一点可以维系。如果项目抛弃小组,小组可以把代码放出干扰项目的进行。网上联合开发这类组织是很难操控和管理的。也不可能有按进度付费、索费的过程。小组的失败是以图劳无获为结局的。其实一个项目失败了,项目控制人的损失也是同样的。大家都是平等的。但似乎项目小组的风险更大些。这应当有个更好的办法来平衡。
8.各小组利益的分配
一个项目最关键的动力来源于各自的利益。各小组间应当寻求大家共同认可的期权分配方案。并行工作的小组共同分享一份期权,分配关系也是协定的。利益关系是互相协定的结果。明确各自的利益关系才有可能真正启动一个项目。
9.项目成员之间应保持平等的关系
项目成员之间,应当是相互制约共同受益的。制约关系应当切实体现在:任何单方的破坏都可能导致全局的失败。只有制约关系协调起来,才有可能保全各方的利益。(如果有任何凌驾于其他小组的小组或管理者存在,都不可能确保项目的顺利进行)
10.项目的归宿
大家的共同愿望是希望项目成功,并且分得属于自己的一份。如果项目成功就共同遵守初期制定的规矩。如果项目失败也要共同承担。要把项目共同公开为开放源码。
11.人员筛选
项目人员不可能采取GNU的方式。不可能是来者不拒,有一份力出一分力的过于松散的组织方式。子项目负责人或参加人必须经过证明,足以承担相关的责任。否则无法保证进度。
以上都是一些凌乱的个人想法,很有些虚幻的感觉是吧。想与大家共同讨论出更可行的方案。我们要从各个角度多做些尝试。
(这就是我抬出的一堆砖头。 快闪,我要扔啦!)