一个生活中的比喻
假设你做了一道特别好吃的红烧肉,你有两个选择:
A. 保密配方,只在自己餐厅卖(这叫闭源)
B. 把配方公开,谁都能看、谁都能做、谁都能改进(这叫开源)
你可能会想:配方都公开了,还怎么赚钱?别急,这正是开源有趣的地方。
开源到底是什么意思
开源就是把软件的"源代码"公开出来。源代码就是程序员写的那些指令,相当于软件的"配方"。
当一个软件是开源的,意味着:
你每天都在用开源软件
你可能以为开源离你很远,其实你每天都在用:
可以说,没有开源就没有今天的互联网。
程序员为什么爱开源
第一,不用重复造轮子。想做一个网站,不用从零开始写每一行代码,站在前人的肩膀上就行。就像做菜不用自己种菜、养猪,去市场买现成的食材就好。
第二,质量更好。一个软件如果有几千个程序员一起看代码、一起改bug,质量肯定比一个人闭门造车好得多。就像一道菜有几千个厨师一起改良,味道想不好都难。
第三,学习的好机会。新手程序员可以看大神写的代码学习,就像厨师学徒看师傅的手法。
第四,建立声誉。在开源社区贡献代码,就像在学术期刊发论文,是实力的证明。很多程序员靠开源项目找到好工作。
开源怎么赚钱?
你可能还在纠结:免费的东西怎么赚钱?其实方法很多:
Redis、MySQL、Linux背后都有成功的商业公司。
GitHub:开源的大本营
几乎所有开源项目都放在GitHub这个网站上。你可以把它想象成一个巨大的图书馆,里面放的不是书,而是各种软件的源代码。任何人都可以去"借阅",也可以提交自己的改进意见。
总结
开源是人类协作精神在软件领域的最好体现。它证明了一件事:把东西分享出去,往往比藏着掖着创造的价值更大。如果你学编程,一定要了解开源,因为它是这个行业最重要的文化之一。