开源还是闭源?从SAS与Python说开去

如题所述

引 言

当我们讨论开源与闭源时,常关注软件的源代码开放性。但在特定领域如数据分析,还需考虑使用的编程语言。这导致了多种组合,例如开源软件与开源语言(如Python),闭源软件与闭源语言(如SAS)。本文将对比两个典型例子:开源软件与开源语言的Python,以及闭源软件与闭源语言的SAS。

为什么大型金融机构倾向于SAS,而互联网公司则偏好Python?

首先,历史遗留问题。Python虽然早于20世纪90年代初诞生,但真正用于商业环境的生产应用,是在近五年的历史。金融机构的大量历史代码,尤其是大型机构,多由SAS编写。重构这些代码为Python,可能因代码性能良好而不被采纳。

其次,人才梯队问题。会SAS的开发者相对较少,因其应用局限在数据分析领域,要求一定的数学与统计学基础。相比之下,Python的适用范围更广,对数学等基础学科知识要求较低。

第三,稳定性与精度要求。金融机构在风控、投资决策、量化模型等场景中,对运行稳定性和计算精度要求极高,以避免重大损失。互联网公司,则在智能推荐、产品运营等非致命场景下,偏好更广泛的应用场景和更灵活的开发环境。

Python底层代码包存在一些问题,如pandas,目前仍有3000+开放问题。这些问题影响着运行稳定性和计算精度,而金融机构对此要求极高。此外,Python包可能存在被恶意代码植入的风险,虽然概率较小,但金融机构对风险的容忍度极低。

信用背书问题。商业化运营公司需要信用背书,特别是在金融监管严格的环境下。SAS提供的稳定性和精度,以及其商业信誉,成为金融机构的首选。而一旦出现问题,使用开源软件的机构需自行承担责任。

成本问题。SAS的高成本体现在许可证续费、维保采购和维护团队的高昂费用上。相比之下,Python的成本多为隐形成本,随着开发团队的成长,这一成本将逐渐降低。

解决方案:金融机构可能采用Python建模、SAS生产环境的策略,同时利用脚本和工具将Python脚本转换为SAS语言,解决人才梯度、稳定性和精度需求及信用背书问题。但此方案仍需面对成本问题和历史遗留问题。为解决这些问题,可选择支持SAS语言的商业化软件,如WPS(现更名为Altair SLC),它支持多种语言,包括SAS、SQL、Python和R,既能运行SAS代码,又能助力公司向混合语言架构过渡,同时以较低成本保留闭源软件的优势。

在开源与闭源的选择中,需要综合考虑历史遗留、人才梯队、稳定性与精度、信用背书和成本等多方面因素。金融机构倾向于使用闭源软件SAS,而互联网公司则更偏好开源语言Python。为解决这些需求与挑战,使用支持多种语言的商业化软件,如WPS(Altair SLC),成为可能的解决方案。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜