2KB项目,专业的源码交易网站 帮助 收藏 每日签到

选择商业库而不是开源库的 8 个理由

  • 时间:2019-01-23 18:51 编辑:2KB 来源:2KB.COM 阅读:385
  • 扫一扫,手机访问
  • 分享
摘要: 英文原文:8 r
英文原文:8 reasons to choose commercial library instead of open-source one

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

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

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

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

文档和实例

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

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

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

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

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

精雕细琢的APIs

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

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

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

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

独一无二的特性

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

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

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

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

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

可靠性

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

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

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

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

维护

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

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

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

专业知识

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

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

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

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

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


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部