F#会不会是开源的?

Nol*_*rin 6 compiler-construction f# open-source

2009年初讨论了微软是否会根据MS-PL /其他许可证发布F#编译器的来源.一个StackOverflow的线程中提到的状态的呢.

从那以后发生了很多事情.我们已经看到了使用.NET Framework 4.0(和Visual Studio 2010)正式发布的F#,据我所知,它仍然是完全封闭源代码.微软是否对此问题保持沉默,还是明确表示他们不再打算开源编译器?也许事情已经在进行中.基本上,任何新闻/考虑因素?

Bri*_*ian 7

(正如其他人所指出的那样,源代码一直可用,但尚未获得MS-PL,即"获得批准的开源"许可证 - 它目前拥有更严格的许可证.)

如果我完全是推测性的,我可能会假设有很多东西可能会"延迟"F#编译器的开源版本,包括:

  • 编译器代码需要整理一下.源代码一直是公开的,但没有开源许可证,没有太多人看过它.如果你打开它,人们会看,在这种情况下,如果代码遵循至少一些基本的样式指导,如使用RecommendedDotNETNamingConventions而不是old_legacy_ones.从某种意义上说,一个开源的F#编译器将是一个"规范的F#应用程序",因此对于像F#编码惯例这样的基本内容(随着时间的推移在过去5年内发展而来),代码必须具有高质量.自编译器代码最初开发以来的几年).
  • 目前的代码很难在任何平台上构建.一个开源版本至少需要关于如何构建编译器的合理文档(今天仍然非常重要!)并且理想地为主要平台(例如Windows/linux/etc)构建脚本.
  • 即使IronPython/IronRuby("开放"团队)在MS的F#团队"刚刚走下大厅",让事情"开放"仍然需要从管理层获得大量的买入/签收,并且如果管理层在您获得第一个开源版本之前更改,则从新管理层签字.
  • (管理开源项目的所有常规'开销')
  • 以上所有都需要人力,而花在这些事情上的人力是不花在其他事情上的人力,比如在下一版本的F#上工作.所以在实践中,少数做F#工作的人在空闲时间蚕食上述工作可能更为可行,而不是花费整整一个月来专注于开源版本.这样可能会减慢速度.(正如其他人通过指向工作岗位的链接而切向建议,一些人力可以假设由MSR的实习生填补.)

我强调所有这些都是完全假设的推测,因为很长一段时间内没有任何人发表任何官方消息.