为什么要开源?

这个问题分成三个回答:

从无私的角度看,为什么要开源?

从自私的角度看,个人为什么要开源?

从自私的角度看,公司为什么要开源?

从无私的角度看,为什么要开源?

  1. 建立社区:可以这么说,如果没有开源社区,苹果,谷歌,Facebook都不会是现在这样。如果没有Linux,现在互联网的格局简直无法想象。为了让更多人能够使用优秀的产品,需要有人来愿意把自己的产品免费给他人使用。很多开源社区的贡献者都是为了建立,维持这样一个互助互利的社区而不断努力的。

  2. 帮助他人:开源一个很美妙的地方就是,别人不用花时间解决一样的问题。当你看到你的一个大问题已经有人做了开源项目的时候,你一定感觉如释重负。同样,有人感谢你的开源项目帮他们解决了一个大问题,真的是种很美妙的成就感。

  3. 结识朋友:开源社区中经常能遇到很多志同道合的好朋友。你帮我改代码,我帮你加功能,说不定两个人就认识成了好朋友。我和我现在的一位导师和几位朋友就是在贡献开源项目的时候认识的。

从自私的角度看,个人为什么要开源?

  1. 提升代码质量:开源是提升个人代码质量的好方法。这个有两个方面:首先,如果你知道你的代码要给别人看,你会不自觉的把代码写的更干净一点,多加点说明。其次,开源之后别人会建议怎么改(如果你的项目有一定影响力),给你建议的人多了,你也大概就有概念怎么把代码写的更好了。

  2. 展示个人代码:如果你在找工作,这个很可能会是你的主要动机。公司实际上很好奇你写的代码质量如何,但是光从1个小时的面试实在看不出太多。所以很多公司会非常喜欢看你的开源项目,来评估一下你的代码质量如何。同样,如果你面试的时候告诉公司,“我有个开源项目,你们可以去看看”,这将是个不错的加分项。

  3. 建立个人品牌:如果你足够厉害,把一个优质项目开源是个迅速提升影响力的好方法。很多在大公司工作过的顶级工程师,我们都是通过他们的开源项目认识的。git的发明人,Linus Torvalds,就是一个好例子。一个工程师如果在工作之外想要树立个人品牌的话,写一个高质量的开源项目是个相当好的选择。

  4. 备份个人项目:其实很多人把项目放到Github的时候根本没想这么多。他们只是想把家庭作业,代码练习啥的备份到网上去而已。其实Github当中绝大部分项目都是这种实际没啥用的代码备份(只是Github没让你看到)。

从自私的角度看,公司为什么要开源?

  1. 树立品牌形象:公司与个人开源的动机不同。公司开源很多情况下是为了提升外界对公司的形象认知。任何一个大科技公司,肯定用了多多少少用了开源项目(Linux,至少吧?)。如果连一个开源项目都没有,这很容易给人造成,“这公司总是索取,却不回馈给开源社区”的形象(尤其在美国)。

  2. 发掘潜在员工:比如,我读了谷歌的Android的代码,发现里面有个大安全漏洞,然后我提交一个修改把漏洞给补了。你说谷歌想不想拉起我去工作?很多公司一个很好的招聘渠道是开源项目的贡献者。如果能在公司开源项目做出有意义贡献的话,这个对于公司来说是比面试好很多的能力证明。

  3. 实现额外功能:这点实际上很有意思,有的公司/项目实际上有很多想做的小功能,但是没时间也没人力去单独做。这个时候开源的力量就体现出来了,项目开源之后很多时候能吸引到开源贡献者来做一些自己感兴趣,项目想要,但项目没时间做的feature。

  4. 扩大影响范围:公司开源项目的质量,很多时候能反映公司的影响力。所以硅谷的很多大公司,都有一些厉害的开源项目。一方面是回馈社区,一方面是展示公司的影响力和代码质量,吸引更多人才。同样,如果一个公司很希望自己的一个产品有更大影响力的话,开源是个好方法。苹果的Swift就是个好例子。Swift开源之后,能够用在不少iOS之外的领域。说不定之后我们还能看到用Swift写的网站架构。

  5. 用作战略武器:开源项目还可以作为公司的战略武器。最好的例子就是谷歌的Android。通过开源和病毒式的传播一下追上iOS。这里面有很多弊端(比如碎片化严重),不过谷歌这么一招给了开发者十分大的力量,Android一下成为一个和iOS比肩的选项。

加入

请发送申请邮件至261648947@qq.com

支持

如果您觉得我们的开源软件对你有所帮助,请关注我们吧

联系

网站:sourcebyte.cn

邮箱:261648947@qq.com

https://toscode.gitee.com/cookieBoy/source-byte

流行的深度学习框架包括: 1. TensorFlow:谷歌开发的深度学习框架,支持分布式计算,能够高效地进行大规模的机器学习任务。优点是支持多种编程语言,包括Python、C++、Java等,开源,可广泛应用于各种领域。缺点是学习曲线较陡峭,对于初学者有一定的门槛。开源地址:https://github.com/tensorflow/tensorflow 2. PyTorch:Facebook开源的深度学习框架,易于使用、快速、灵活。优点是提供了直观的调试工具,支持动态图,方便进行模型调整和优化。缺点是不如TensorFlow在分布式计算和移动端支持方面成熟。开源地址:https://github.com/pytorch/pytorch 3. Keras:基于Python的深度学习库,可以运行于TensorFlow、Theano和CNTK等后端。优点是易于上手、高度模块化,可以快速搭建复杂的深度学习模型。缺点是灵活性相对较弱,不够适用于一些研究性的工作。开源地址:https://github.com/keras-team/keras 4. Caffe:由加州大学伯克利分校开发的深度学习框架,可用于图像分类、物体检测、语义分割等任务。优点是速度快、效果好、易于扩展。缺点是不够灵活,不适合做一些需要较高自定义程度的工作。开源地址:https://github.com/BVLC/caffe 5. MXNet:亚马逊开发的深度学习框架,支持分布式计算,具有高度的可扩展性和灵活性。优点是速度快、支持多种编程语言,可以与其他框架兼容。缺点是文档不够完善,对于初学者学习难度较大。开源地址:https://github.com/apache/incubator-mxnet 以上框架均为开源开源地址分别为上述内容中的链接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开源字节

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值