选择商业库而不是开源库的 8 个理由 已翻译 100%

oschina 投递于 2013/04/22 23:25 (共 18 段, 翻译完成于 04-29)
阅读 4858
收藏 38
4
加载中

本文是Third Party Products and Tools 章节,本文旨在分享并不是用来商业推广或者广告,欢迎指出任何出现在本文中任何形式的广告和垃圾信息。

开源软件(备注:免费获得许可和源代码)日益流行,很明显的原因是——为事先很难投资现金到软件开发的最终软件用户降低了成本。使得在有限的IT预算中,程序员选择使用了质量不明的代码。不管怎样,在使用开源库和代码片段的时候似乎是0成本,在整个软件生命周期中,你可能消耗更多的资源。而商业软件可以提供给你更多意想不到的。

葱油拌面
葱油拌面
翻译于 2013/04/23 10:20
2

我将专注于专业化的商业开发解决方案:在你的代码段上贴上价格标签不会神奇地把代码转变成产业级商业产品。商业库必须进行详尽的评估来说明这个库专业在哪里。不是每个要收费的库都是好的,这个很明显。但是,如果是商业库,获得开源库中缺少的东西的机会就会很大。

让我们审视下商业软件(和给软件开发人员的特殊的模块和类库)到底能够提供什么,然后再讨论到底选择商业库还是开源库。

fey424
fey424
翻译于 2013/04/22 23:56
1

文档和实例

随之现代APIs文档越来越复杂并且实例变得更容易和更快的代码重用。你仅仅需要从实例中复制一段代码就可以正常执行。如果你需要指导,你可以查看文档找出下一段如何执行或者函数为什么会调用失败。

牛X的开源软件却声称源代码是最好的文档,只有在详细注释和高质量的代码情况下(正确的格式和规范的变量 函数名,源代码才可以作为文档使用。在大部分情况下,阅读代码不是一件很有趣的事情。

研究表明,现存的源代码有时有助于诊断的各种各样的问题,但没有多大帮助使用该软件因为你不知道要寻找什么。

同样文档应该由技术作家来编写而不是程序猿。——程序猿不喜欢而且不知道如何编写合适的文档。让程序猿写程序技术作家编写文档,个安天命。

(译者注:擦,我实在无法忍受这边文章对开源软件的吐槽,本文以下内容我不翻译了,谁爱翻译谁翻译)

葱油拌面
葱油拌面
翻译于 2013/04/23 10:51
2

精雕细琢的APIs

任何作为复杂工程的软件都需要在真正实施前做好设计和开发。使用scratch编写1000行的代码,与事先设计好再编写1000行代码是完全不一样的。合适的设计可以使1000行代码变成200行,而坏的设计可能导致需要多编写10K行的代码。

对于开源库,很多都是逐步被开发出来的,例如,一些小的功能,然后不断在上面添加新功能,就像一个在新年树上的添加新的玩具。最后,这个新年树的结构会变得复杂而且脆弱。

相反,商业APIs在很多情况下,设计时综合考虑了使用的方便性和扩展性。通常它们会有多个层次的APIs,对于底层的操作(你可以得到最大程度的控制)还有对高层次的任务(你可以最快程度的完成工作)。

最后,开源库主要是通过程序员开发的,而专业的商业解决方案是通常通过软件架构师和分析师设计的,并由程序员编码。

enixyu
enixyu
翻译于 2013/04/25 21:29
1

独一无二的特性

开源开发者的目标是发布一些功能,并且快速的完成任务,通常在这个应用中只包含一些主要的流行的功能。

而商业库的开发者,必须超越在大众用户之前,实施一些拓展的功能。

扩展性方面的问题(例如,获取你需要的功能)在开源软件很难获得,除非你自己去开发这些特性,但是,通常这不是一个好的选择,尤其面对一些我们不熟悉的领域。而对于商业软件,你可以和供应商协商,并基于你的需求扩展应用,添加到你的软件版本中。

enixyu
enixyu
翻译于 2013/04/25 21:35
1

商业软件供应商的动力来自于他们想让他们的公司运营下去,这是最有效的推动力。而对于开源开发者,即使你愿意去一次性支付他们,也未必让他有足够的动力去扩展他们的产品(可能在很久之前已放弃更新,对于开源世界,这是很平常的事情)。

由组件供应商提供的独一无二的特性,其中一个得益是,这个特性可以让你创建一个USP(独特的卖点)的终端软件。并且,当你在做内部开发时,这些特性可以让你取悦你的上司,并展现你的对于帮助你的同事的积极态度,还有让商业流程更加有效的工作。换而言之,这些特性体现了你对你的客户的关注。

enixyu
enixyu
翻译于 2013/04/25 21:41
1

可靠性

对于每一个行业中,最重要的一个资产是得到客户的信任。你不可能长期维持你的商业,而一直得不到用户的信任。而在商业软件,与客户的关系是长期的,所以信任是必须的。

当一个缺陷出现后,对于商业供应商会很热衷于解决它,否者信任就会流失。并且用户需要得到保证,每个缺陷都要在最短的时间内得到解决。

对于开源库,即使你提交了一个缺陷(当开发者向你提供了这个错误报告),你通常不会觉得到这个缺陷会很快得到解决。相反,开源开发者收费去修复错误的成本往往超过同类商业软件的商业许可费用。

enixyu
enixyu
翻译于 2013/04/25 21:51
1
现在,你碰到过多少回,一个开源产品没有再被开发(或者已经过时了),因为开源软件的作者已经对它失去兴趣?事实上,对于开源库,这是很常见的。对于商业软件,有一个合理的组织去管理,不单单属于一个人,而是有很多相关人员和管理人员来支持。金钱是其中一个重要的支柱,但并非是唯一一个。义务,责任,合法的需求同样是有效的动机。所以,你可以安心,这个产品不会过时或者被抛弃。并且,你可以基于这个负责人的商业软件供应商,来开发你的项目。
enixyu
enixyu
翻译于 2013/04/25 21:56
1

维护

IT世界就是一个不同用户,服务器,商业服务,客户端系统,手机服务之间的连接或者桥梁。对于拥有这么多的参与者,修改和更新会变得很频繁,并且你必须保证你的应用能与时俱进。否则,你的应用出现兼容问题,得不到用户的满意,并且被用户所抱怨,最终导致生意的丢失。

当你的软件中使用第三方的组件,他们也必须得到同样的适应能力。对于新的功能,采用第三方组件和库通常比较容易,因为他们的作者也有这样的动机。

同样,软件的维护和兼容性的更新也是一个很好的途径,告诉你的用户,你的软件是可信赖的。那么,这里会有一个很大的可能行,你的供应商会不断的更新软件,即使你没有告诉他们这么去做。

enixyu
enixyu
翻译于 2013/04/25 22:03
1

专业知识

对于你知道如何解决的问题,你通常不会去采用第三方的代码,而是自己来编写。这对于通常的代码,是合理的,但是你在做底层的编程或者神经网络编程,OCR或者密码相关编程的时候,需要承受相应的风险。

任何一个人都不能是各方面的专家,所以我们才有这么多专注于不同领域的教授和专家。

商业供应商,尤其那些提供特殊的软件和组件的,雇佣那些顶尖的技术专家,提供高质量的软件。供应商拥有该领域的专家(例如OCR或者网络),软件设计的专家,编程的专家。这些专家们的合作,让你得到的是值得信赖的产品。但对于开源软件,很少有这样的例子。拥有某个领域的专业知识的专家通常只会为人民币服务,在业余时间陪陪家人,还有他的爱好。很难会到找一个软件架构专家(虽然不是完全不可能),同时也是一个编程专家。

所以,对于商业软件,你通常能得到一个高质量的软件(不单单是高质量的编程,而且是该领域的高性能),相对于开源的软件。

enixyu
enixyu
翻译于 2013/04/25 22:14
1
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(25)

LMcallme
LMcallme
至于架构,还是开源的好并且经典,毕竟,他是优秀思想的实验田,比如,在Windows上实验操作系统是不可能的除非你是微软员工,这对于绝大多数的研究者来说,是很不舒坦的
LMcallme
LMcallme
反了,开源比商业更优秀,因为不够优秀的也不会有更多的人参与自然也就淘汰了,更何况,开源是整个学术界的实验田,至于bug,开源比商业更有能力去弥补,人多而且没有人喜欢自己的后院有bug
抛出异常的爱
抛出异常的爱
开源与收费不矛盾
我记得以前用过一个报表打印软件,收费的,
有个BUG死活都不给我们改
不得已反编译他们的代码
改了bug
顺手把U-key验证跳过了

开源就像是医生使用X光机
冶病方便
一碗老酸菜
一碗老酸菜

引用来自“郭煜”的评论

开源软件好不好,就像中国人写的程序好不好一样,不值得单独列出来归纳讨论。因为这种分类方式没有普遍适用性。代码质量是不分开源与不开源的,开不开源是另一码事。

这才是正解啊!
yourOnlyJack
yourOnlyJack
云服务的时代,开源必然成为王道。亚马逊DB用的是开源的postgres。
qiuyukuhe
qiuyukuhe
开源是为了更好的商业
魔力猫
魔力猫
文档和实例
开源产品文档中好文档的非常多,商业产品中同样有文档质量可不敢恭维的。
精雕细琢的APIs
这里几乎就是说瀑布模式是经典,敏捷什么的都是邪道。IBM谷歌微软等大公司写开源产品的都是小工,他们的真正大牛都不参加,你信吗?而所谓的商业API,想想EJB就知道,有多好了。
独一无二的特性
我不知道为什么产品卖出后会有定制化,商家不是提供了独一无二的特性了吗?超前的特性?过度设计罢了。
可靠性
我们会及时修复补丁,这个修复patch已经被加入了下一个升级版,只要您支付升级费就可以了。
维护
维护?很抱歉,我们的公司已经破产,正在进行资产清算。什么!您要源代码好自己修复BUG?抱歉,源代码是公司清算最重要的部分,在董事会把这部分资产划分完成前我们不能考虑这个可能,因为我们要保证债权人和董事会的利益。如果您确实需要源代码,等资产清理完成,您可以和获得您需要那部分源代码的所有者联系。需要多久?抱歉,我不知道,因为源代码太复杂了,虽然破产委员会雇佣了大批的审计员进行审查,我们预计在下一个圣诞节前完成(这是圣诞节后上班的第一个电话)
专业知识
我们公司雇佣了10位优秀的专家,不过有个问题,他们的对手是全世界参与这个领域的专家。
协助
开源支持费用远低于商业许可加支持费用。
魔力猫
魔力猫
这篇文章不过是一篇恶心的软文罢了,大家看看什么嘴脸就好。里面的东西很多都不值一驳。小白请不要相信里面的任何观点,以免长歪。
BaiYang
BaiYang
此文中某位译者的翻译品质也从侧面证明了免费 & 免责产品中难以避免的质量问题 :-P
yyliu
yyliu
enthought python distribution里所有的库都是开源库(BSD license),但也算商业库。我看了看原文,那意思是作者的公司也提供源代码。

不过,对开源的好吐槽,珍爱生命,远离开源。
返回顶部
顶部