why computer science are different?
Published:
CS和别的学科最大的一点不同就是它的开源开放。来看看Debian是怎么说的吧。
这全部都是免费的吗? 您也许会奇怪:为什么人们愿意花费他们自己的时间来写软件,谨慎地包装它,然后再把它全部送给别人?正如同有许多不同的人选择做出这样子的贡献一样,这个问题也有许多不同的答案。有些人只是喜欢帮助别人。有些人利用写程序来学习更多关于计算机方面的知识。也有些人是在寻找一种避免软件价格膨胀的途径。还有越来越多的人是为了对他们从其他人的自由软件中得到的好处表达谢意。在学术界中,有许多人创作自由软件来确保有更多人能够从他们的研究成果中得到好处。在商业界中,也有人利用协助维护自由软件的机会来确保他们在软件发展的过程中占有一席之地——当您需要某些新功能时,没有比自己动手做要来得更快的方法了。当然,我们之中也有许多人纯粹只是觉得这样十分的好玩。由于 Debian 对自由软件有着郑重的承诺,因此我们觉得我们应该把这样的承诺化为一份正式的文档。这就是我们“Debian 社群契约”的由来。

因此,软件的供应链由此诞生。 上游软件开发团队当中的security team和maintainer负责update软件的feature,repair软件的vulnerability以及testing.
相比于微软的帝国,开源生态就此而生。
但开源生态并非一个乌托邦,开源意味着每一个普通人都有机会成为这个大生态当中的Contributor,那么自然会有些不怀好意的attacker,去攻击,破坏这个生态,以此牟利。 具体来说,我们都有过使用Linux安装软件的经历。
Q: apt和dpkg的区别是什么(从dependency的角度)?
apt是一个更高级的包管理工具,它的作用是直接安装,会自动解决包的依赖问题 dpkg只能直接安装卸载包,而不能处理缺失的依赖。
