开源就是把成果共享,包括经验、成果、笔记等等。为什么说开源不会死,你看 Linux 现在已经风靡一时,主要用来做服务器,涵盖了大部分互联网公司。Docker 开源后,为许许多多的公司带来了多少方便,很多公司的 Java 项目早已经抛离了传统型的搭建流程,而是代码构建成 jar 包,通过 Dockerfile 来构建镜像,一个 Docker run 业务跑的呼呼的。尤其是 Kubernetes 的兴起为升级、容器的编排带来了多少轻便。这就是开源所带来的轻便之处。

A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably .needed to run an application: code, runtime, system tools, system libraries and settings.


docker 命令看这张图就够了:


640?wx_fmt=png

说起开源,避免不了谈开源协议。最近也在恶补这方面的东西。软件出版就有版权,图片都有,更何况软件呢? 开源大致分为 6 种 协议:

第一、GPL--修改他人源码不可以闭源,可以采用同样的许可证。

第二、LGPL--修改他人源码不可以闭源,不可以采用同样的许可证。不需要对源码的修改之处提供说明文档。

第三、BSD--修改他人源码可以闭源,衍生的软件不可以用自己的名字促销。

第四、Apache----修改他人源码,可以闭源,每一个修改都可以放置版权说明。

第五、Mozilla--修改他人源码不可以闭源,不可以采用同样的许可证。需要对源码的修改之处提供说明文档。

第六、MIT--修改他人源码可以闭源,衍生的软件可以用自己的名字促销。


有很多发展很好并且被大众所熟知的软件如 Nginx、tomcat,数据库如 MySQL、Postgresql、redis 等等。要列举是列举不完的。正是因为开源的缘故才发展迅猛。站在我个人的角度来说,开源后让更多的人能够学的到知识,这是一件好事。同时代码开源就是程序的源代码能够看见,而且能够再次编译,做二次开发。好处:主要是让更多的使人使用传播,发现bug。

代码是开放的,也有缺点,缺点就是暴露,安全性在特殊情况下得不到保障。但是在大多数情况下做网站,一般会选择开源的。一者,非开源的价格会比较贵,二者,就算有问题也还一定要软件供应商去解决,太麻烦了。中间会增加很多隐性成本,如人力时间、沟通成本等等。

能被共享的东西就是美好的,也是会长久的。要是什么时候能够开源个女朋友就最好了,这就会解决很多男性同胞的痛点。毕竟技术是为产品服务的,产品是由用户驱动的。



开源不会死,正如我相信这个公众号不会停。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐