为什么 Wolfram 语言是(类似于)开源的六个原因
数年前,我曾写过一篇文章,阐述为什么我认为开源不适合 Wolfram 核心技术的商业模式(Wolfram 技术不开源的十二个原因)。也引发了一些关于不同模式优点的(大多是理性的)讨论。 n:c)R8X]
受这些讨论的影响,我意识到,尽管 Wolfram 不是开源,但大多数开源软件实际使用中的优点在 Wolfram 技术中也很明显。所以,如果你不介意这个有点标题党的标题,我想分六点阐述一下: ;U6z|O7L
1. 可以免费使用; 2.可以查看源代码 3.可以对代码进行修改 4.你可以做出自己的贡献 5.有技术支持的社区 6.我们一直积极开发各类功能 V,=V e<_p\LiOS
01你可以免费使用 pgK) qq0bIfF\4
由于我们的中心商业模式是做优秀的软件并出售其使用许可,所以当我说到有几种方法可以免费使用 Wolfram 语言你一定会感觉有点惊讶。当然, Wolfram|Alpha 是免费的,但我说的是完整的 Wolfram 语言。最简单的方法是创建一个免费的 Wolfram 云账户。这样你可以免费通过浏览器或 API 使用完整的语言功能。确实,你会有 CPU 时间和存储的时间限制,因为你使用的是免费账户而这些功能对我们而言都有成本,如果想要升级这些功能你可以选择付费。 想要本地使用?试试看 Raspberry Pi 版本。完整的 Wolfram 语言可以免费在这个五刀的电脑上使用,不过会有一些商业使用限制。想在个人电脑上使用的话,在 macOS、Windows 或 Linux 操作系统上有 Wolfram 引擎。你可以在项目开发阶段免费使用这个工具;还有 Wolfram 播放器,只可以免费用于运行代码,不可以编写新代码。 所以,虽然开源软件不是“免费做所有事”,但依然可以做很多事。 最重要的是,大家必须记住,由于很多人所在机构的支持,他们才可以免费使用技术栈的全部功能。很多优秀的大学拥有站点许可证,所以这些大学的学生和教职工才可以在个人不交任何费用的情况下免费使用这些技术。我们甚至有国家级别许可使用——如果你是埃及境内的学生、教师或学术研究者,你可以免费使用 Mathematica——这就有 4000 万的人口了。你可能会说,“这并不是免费的,还是有人在付钱”。但开源不就是这样吗?到目前为止,Jupyter 和相关项目已经花费了数以百万美元的费用,只想简化 Mathematica 的笔记本,很烦恼的是,这些资金一部分就来源于我的个人纳税! k@qn'Zi =;(w Bj
02可以查看源代码 R8
1z|+c|_
b[<Q_7~2
ht8%A 1|
Wolfram 技术栈的很大一部分且越来越多的内容都是用 Wolfram 语言编写的,所有这些的源代码都是可以查看的。只要关闭 ReadProtected 属性并请求定义即可。从 Mathematica 第一版开始就可以使用这个功能了,但是有些时候,还有一个没有记录但是大家心知肚明的内部函数让你可以仅用鼠标指向点击的方式就可以浏览定义。这个函数现在记录在Wolfram函数资源库中了,用法是 ResourceFunction["PrintDefinitions"]。 比如,这就是 ResourceFunction["PrintDefinitions"][URLRead] 的结果: ]d]tQPEU C^]y
iR-U `&2AN%Xz
点击代码中的函数可以查看其定义。以前用C语言编写的函数或核心函数不能用这种方法查看,但当然,一部分上述函数可以调用真实的开源资源库比如 MXNet、MKL、GMP 和 ImageJ,这些资源都可以在其他地方进行查看。 /6_>d$
RC5b'+E |