F#是开源的吗?

7

F#是开源的吗?如果不是,为什么微软会提供F#模块的源代码?

编辑

(2010年11月4日) 情况已经改变,请参见Brian McKenna的回答


由于某些原因,这感觉像是在为一个(没有拼写检查的)博客做广告... - SCdF
3
我投票关闭此问题,因为它涉及许可或法律问题,而非编程或软件开发。请参见这里这里获取详细信息,以及[帮助]获取更多信息。 - JasonMArcher
我投票关闭此问题,因为它涉及一个外部企业的决定,这个决定可能随时会改变。 - gunr2171
6个回答

12

1
这是我本周听到的最好的消息。点赞! - The Fiddler

6

目前,F#团队似乎非常忙于所有“产品化”工作。关于许可证计划的一封电子邮件在这里

在未来一年内完成这项工作后,我们计划发布F#编译器组件的相应源代码,采用MS-PL许可。

并且:

在此过程中,我们计划发布MSR“Power Pack”组件的源代码,同样采用MS-PL许可。这些工具包括fslex.exe和fsyacc.exe以及一些库。它们可能会更经常地发布,并且可能包含实验性组件。

总体上,我们的目标是使我们发布的F#源代码开放、稳定并与受支持的版本相对应。

或许最好的一点是:

总的来说,我们更喜欢“做”而不是“预先宣布”。

我还要注意,如果您不使用“开源”一词表示“已获得某些组织的批准为开源”,则源代码已包含在F#发行版中。(在VS中使用F12“转到定义”将直接跳转到源文件。)


据我所知,这没有任何意义。我认为这只是一种营销策略。如果有人知道得更好,请解释一下。 - Joonas Pulakka
1
拥有 F# 系统的源代码是非常有价值的,即使它不是“开放源代码”(尽管 MS-PL 已经被 OSI 接受)。1. 研究人员可以使用 F# 代码进行工作(我梦想着宏和依赖类型)。2. 拥有库代码对学习来说非常宝贵。 - MichaelGG
好的,我同意这个观点:拥有大量编写良好的代码库对于学习一门新语言是有益的。幸运的是,我们都有自主权来决定学习哪些语言。不开源意味着自动拒绝了许多人。 - Joonas Pulakka
@dotnet_1:回答你的问题:提供源代码是必要但不足以构成开源。你还必须提供一份许可证,允许世界其他地方使用这些源代码。只有这样,我们才能谈论真正的开源,而不仅仅是“共享源代码”。 - Joonas Pulakka
很抱歉听到你受到这样的限制 :(。 - MichaelGG
我并不是那么难过 - 有很多优秀的开源语言可供选择,很难决定下一个要学习哪一种。即使有一些限制也是好的。 - Joonas Pulakka

5
"微软研究共享源代码许可证"是F#发布的许可证,但该许可证未被开放源代码倡议组织或自由软件基金会批准(尽管另外一些微软许可证已获批准)。
总之,共享源代码与使产品成为开源产品关系不大。关键在于许可证,它允许或禁止更自由地使用和修改源代码。没有这样的许可证,源代码基本上没有用处。

1
这已经不再相关了,因为F#已经在Apache许可证下发布。 - The Fiddler
这是一件好事(商标)。我只是想知道为什么他们一开始没有发布一个体面的许可证。在那个愚蠢的MRSS许可证下度过了几年,有谁从中受益了呢? - Joonas Pulakka

4

它是在MS-Research的一个变体开源许可证下发布的。

我不知道这是否是“正式”的开源。


2

2008年CTP版本发布后,F#使用略有修改的微软研究共享源代码许可协议(“MSR-SSLA”)。

基本上,您可以进行修改,但是微软公司获得您所有修改的免费许可。

团队内部曾经讨论将其迁移到更开放的MS-PL许可证,我不知道情况如何,也不知道在计划将f#包含在VS2010中的情况下可能会带来什么影响。


不确定 -1 是什么意思?能告诉我吗? - ShuggyCoUk
没问题 - 只是想知道我有没有写错什么,如果是的话,它会在向下箭头上显示黄色高亮,所以我不认为有问题。 - ShuggyCoUk

0

有人真的尝试过从发布版中包含的源代码构建F#吗?在我看来,一些部分似乎缺失了,这会阻止构建。除此之外,许可证也不是OSI批准的。因此,F#不是开源的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接