程序员pk开发者,也谈开源精神及商业价值

我相信:正是一个人内心当中的潜意识决定了他外在的行为与决定,进而他的行为与决定又定义了他的际遇与命运。“程序员”与“开发者”两个称谓乍一看上去似乎没有什么区别,你选择用哪一个字眼来定义你的角色,或者你愿意让别人使用哪个字眼来定义你的角色,不同的选择,你的潜意识却将会把你导向不同的路径上面。我不是心理学家,也没有从事过多的文化研究的工作,我仅仅希望通过一些简单的对比来揣摩两者之间的分别。为我在日后的发展路径上面选择一个更好的角色定位,同时假如我的观点得到你的认同,或者也有助于你替自己的角色定位做出一个更好的选择。
ruby on rails show
先问问Google大仙:http://www.google.com/language_tools?hl=zh-CN

大仙,听到“程序员”,你会想到什么呢?—— Programmer
大仙,听到“开发者”,你会想到什么呢?—— Developer

从这个起点开始,我们进一步挖掘一下Google大仙和你内心的想法:

  • “程序员”:Programmer,Coder,CodeTyper,
    Import —— 把既定项目的内容导入到程序中表现;
  • “开发者”:Developer,Digger,Exploer,
    Export —— 把自我内心的想法导出到程序中表现;

换句话说,两者具有不同方向上面的思维模式。“程序员”,他的方向是从项目文档到程序代码;项目文档通常来自客户的想法和需求,或者领导层的决策;因此对于“程序员”而言,他的价值在于从文档到代码的实现上面,也就是最后输入的每一行代码。这个时候,“程序员”是一个执行者。“开发者”,他的方向是从自我内心的想法到程序代码;对于“开发者”对于而言,他的价值在于他内心原始的那个想法上面,也就是激发出这个想法的能力上面。而代码对于开发者而言不过是将他的想法从内心导出的一种语言,一种方式而已。这个时候,“开发者”是一个创作者。不同的思维模式,我们得到的是不同的价值观念,而不同的价值观念直接导致的就是不同的行为。以代码作为主要价值的“程序员”,他的价值观念是静态的,是一堆静态的代码,一旦其他人抄走了他的代码,他的价值也就丢失了。另外一方面,以创意作为主要价值的“开发者”,他的价值观念是动态的,想法不断在更新变换,他写出一段代码,即便被别人抄走了,带走的只是他片刻思维的截屏图而已。带不走的是“开发者”脑袋里面的那不断产生新思维,新概念的意识。

导致的行为就很容易推断出来了。静态的价值需要保护,源代码对于“程序员”而言等同于他的存在价值,没有了源代码,他所充当的实现者的这个角色也就失去了意义。而动态的价值需要培养,交流,分享,发展,源代码对于“开发者”来说,是一个工具,而不是他的核心价值。这个工具帮助他将自己内心的想法放在某个实际的载体上面与别人进行交流。文字显得比较虚弱,代码显得更为实际具体,仅此而已。通过把自己的源代码与其他开发者交流讨论,“开发者”内心的想法能够被进一步的激发与提升,从而体会出更为优良的创意。或者,把证明失败的想法马上结束掉,然后将精力投入到另外一个新的机会上面。他的价值随之得到升华。

终于谈到开源这个概念上面。很多人都对国内缺乏开源精神而感到失望。也已经有很多前辈从商业价值方面,个人收入方面,法律与知识产权保护,文化差异上面,进行过分析。然而似乎仅仅停留在问题的描述层面上面。开源最近这几年确实得到了一定程度的改善与发展,然而却依然不尽如人意。当外在因素分析得足够多问题依旧的时候,我尝试通过内在因素来进行考虑。写代码的人把自己定义为一个“程序员”还是“开发者”则决定了他的开源精神达到什么程度。如上所述,开源对于“程序员”而言,意味着价值的或多或少的缺失;然而相反对于“开发者”来说,开源在于提高他的价值,提升内心意识。遗憾的是,目前国内大部分坐在电脑前面输入代码的人仅仅是一个“程序员”而已。让一个将价值定位在代码上面的“程序员”走开源之路,这确实需要更多的外在因素去支持,而目前在国内包括国外显然是无法提供如此完善的环境。那为什么我还要在这里呼唤开源精神?因为我希望更多的人将自己定义成为一个“开发者”。“程序员”与“开发者”将走向不同的路径上。

有很多种形式能够用来从不同的角度来描述这两条不同的路径,“程序员”这个角色能够带给你什么我不必多说,我相信很多人比起我会更加清楚。那么假如你充当的是一个“程序员”这个角色的话,又会让你失去什么?那么我们只需要讨论一下“开发者”,开放自己的源代码能够获得什么就一清二楚了。

开源(Open Source)能带来什么?

谈到开源的时候,很多人认为开源就是开放源代码。然而就个人而言,我意识里面的开源的概念不单纯局限在源代码的开放,公开讨论上面。源代码仅仅是Source Code;而不代表全部的Source。即便我们不是“开发者”,不懂得编写程序代码,然而开源精神同样适用于我们身上。因为我们的创意,我们的想法,我们的思维,甚至于我们日常生活中积累的经验与技巧等等这些因素也同样可以作为一种源(Source)开放出来。同样能够获得开源带来的好处。当然,假如把开源的概念扩展到这个层次的话,我们在这里谈的应该就不是“程序员”与“开发者”之间的比较,而应该是对生活你抱持的是一种“承受”还是一种“发现”,这两种不同的生活态度上面了。同时,我并不奢望个人的浅陋的看法能够把开源的好处全部包括起来,我分析的仅仅是开源对于个人而言的好处。不单对于个人,对于团队,社团,企业,乃至国计民生,综合国力上面 …… 呼呼。开源所能够带来的好处要包罗到一起我想都可以开一个wiki了,欢迎补充:

1. 开源能够扩展你的竞争力;

我还是想请你搞清楚你给自己定位的最根本的竞争力在哪里? 你的手指还是你的头脑?你编程的知识还是你的创新能力?哪个是你更希望提升发展的?想清楚,哪个才真正是你赖以谋生的工具?你的选择本身没有对错之分,互联网同样需要实施的人。只是当你发现原来世界上有很多人懂得generate controller douban;然而能想到豆瓣,并且做出来的人没有几个人的时候;你应该知道问题出现在哪里。

2. 开源能够让你变得更有名,有更多人认识你;

互联网只是现实社会到虚拟社会的一个映射,人脉即财脉,在互联网上面,你同样需要通过提高你和你的网站的知名度而扩展你的社交网络,收获更多的信息,接触更多的机会。自从互联网上面有了Weblog 以后,个人/ 团队的知名度变得更为重要了。

3. 开源能够让你获得更多人的帮助,更快的成功;

你最好相信:互联网上面聚集着一大堆“闲人”:-),他们等着为你优化你的源代码,改善你的程序,消除你程序的Bug,为你的程序提出更多的建议。只要你的开发能够帮助足够多的人,把你的代码发布出来。

4. 开源能够让你找到更多的收入来源;

你可以用多种方法来做同一门生意。单一辆汽车,你可以卖轮胎,你可以喷漆,你可以洗车,你可以卖汽油,还可以做驾驶培训。你做的其实都是同一门汽车生意,然而为什么一定非得要靠卖汽车来赚钱,作为唯一的做这门生意的收入来源呢?而且不见得卖汽车的就一定比卖汽油的赚得更多。区别在于你自己怎么样想,有没有多想一下而已。

5. 开源能够让你获得更大的自我认同与满足;

或许带有些许个人喜好成分,我觉得能够自由的按照自己的想法做出程序,并且它真的能够在帮助别人同时,也获得到其他人的认同与支持。与他人共同分享,这是就是最大的奖赏。

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s