澄清几个非软件行业对“开源”容易产生的误解,这几个误解文章里其实已经提到了,但我单独拿出来,因为普通人或许对开源的概念不容易理解: 1.开源不等于免费。开源是开源,免费是免费。开源是公开了制造软件的方法,但不一定允许你免费使用。如同一个大厨烧菜,他可以公开烧菜的全过程,可以允许你录像还给你免费讲解,甚至可以烧好菜端到你面前,但你要吃他烧的菜,他未必让你免费,他可以让你免费吃,也可以要求你只许看不许吃。开源是免费给你看代码,不等于免费让你用软件,不同的开源协议的区别主要是在使用软件时“何时免费”上的差别。如果你要把一个开源软件用于商业,最好先弄清楚收费规则。 2.开源不等于随便改。你可以看代码,但如果你想改,改过之后的是否能卖钱,这要另说。这有点像“免费游戏+收费道具”。跟游戏不同的是,游戏里头做游戏的和卖道具是同一家游戏公司,但是做开源软件的和做二次开发修改然后卖钱的不是同一个人,这么一来向用户收费不成问题,但做修改的和做软件的这两个人之间要怎么分成又是个问题,这个地方规定比较模糊,开源社区可以将这个模糊的规定具体化,但也不是很清晰。所以通常是做开源软件的人求名,卖软件的人求利,以减小因产权不清晰造成的困难。因此,成功的开源通常都是一个很好的框架,但是框架上你要搭什么,做开源的人一般什么都不搭(或者只建一些最基础的),让那些求利的人去搭。这就像经济学,经济学不收费,但他只负责给你个需求定律,要在经济学上构建些什么内容请后来人自己想办法。所以开源对最终用户通常不太友好,如果你不是计算机专业的,想用免费的Linux而不是redhat,连开机都有困难 to air:如果我说错,请指出