新成立的 Scala 中心将重点关注教育和 Scala 社区

  • Michael Redlich
  • 谢丽

2016 年 8 月 22 日

话题:JavaScala语言 & 开发

在 2016 年 6 月的Scala Days 柏林大会上,研究员Heather Miller主题演讲中详细介绍了新成立的的Scala 中心。这是一个非盈利性的组织,将重点关注教育和开源社区。

InfoQ 在最近发表的一篇文章中介绍过 Scala 中心,这里我们将介绍更多的细节。

为什么成立 Scala 中心?

根据一篇发表于 2016 年 3 月 14 日的博文,之所以创建 Scala 中心,一是因为Scala 的职位日益增加,二是因为通过谷歌搜索“scala tutorial”可以看出,Scala 的应用稳步增长。Miller 解释说,Scala 不只是由Lightbend维护的 Scala 2.x 编译器,Scala 中心主要关注:

  • Scala 社区
  • Scala 生态系统
  • Dotty
  • 可选后端

Scala 中心位于瑞士洛桑联邦高等理工学院(EPFL),由 Miller 负责,她是该机构的执行理事。Scala 中心的顾问委员会成员如下:

  • Scala 中心代表
  • 社区代表
  • 公司代表

Lightbend Scala 技术负责人Adriaan Moors在接受 InfoQ 采访时介绍了他们参与 Scala 中心的情况。当我们问他是否会参与 Scala 中心的活动时,他答复说:

是的,由于 Scala 团队由 Lightbend 领导,所以我是 Scala 中心顾问委员会的成员,同时我也是 SIP/SLIP 委员会的成员。

当问及他从事那些活动的经历时,Moors 告诉 InfoQ:

我们有了一个非常好的开端!我很高兴,有一群敬业的人负责引导社区工作,并代表社区的利益。在 Lightbend,我们会继续兑现承诺,开发一个稳定且健壮的 Scala 发行版,并为此权衡我们的创新欲求。我们很高兴同时参与这两个方面的工作。

Lightbend 的角色依旧

Miller 宣布,今后,Scala 中心的工作与 Lightbend 互不影响。Lightbend 将继续维护 Scala 稳定版,而 Scala 中心将开始关注库和 Scala 生态系统,为了保持独立性,最终可能会关注DottyScala.jsScala Native。当问及 Lightbend 如何与 Scala 中心合作时,Moors 表示:

Lightbend 继续关注企业级 Scala 发行版,而 Scala 中心从事更多前瞻性、试验性的项目,比如 Dotty。他们还会领导更偏向于社区的项目,比如改进 Scala 2.13 标准库。

Scala 教育机会

Coursera网上的Scala 慕课(大规模开放式网络课程)提供了可以学习 Scala 的教育机会。个别未经认证的课程是免费的,而 Scala 认证证书和“迷你学位(mini degrees)”是收费的。

Miller 宣布,多周课程现在可以按需提供了,不需要像以前一样等待一年两次的预定。Miller 还列举了 Coursera 上的 4 门多周课程:

开源社区

Scala 中心致力于与 Scala 社区合作。据一篇发表于 2016 年 3 月 14 日的博文介绍:

Scala 中心的第一项使命是和社区用户协商,定义共同的目标,组织他人贡献的资源和自己的资源达成这些目标……该中心旨在帮助 Scala 生态系统中已有的实体机构,并作为一种补充。

尤其是,Lightbend(以前的 Typesafe)将继续维护和改进 Scala 的稳定发行版。Lightbend 是该中心的创始成员,其工程师有望参与该中心的项目。

现有的开源项目和平台可以和以前一样正常使用。该中心将通过一个包索引来提高开源库的可发现性。它还将接管那些符合共同利益的项目,利用可用的资源,推动它们的发展。

Miller 告诉 InfoQ,在下列情况下应该咨询 Scala 社区:

确定如何引导 Scala 中心的开发工作。那更多的是倾听社区开发人员的声音,为他们做一些一家公司无法单独贡献 / 做的事情。

当问到自 Scala 中心成立以来社区参与度是否增加了时,Moors 告诉 InfoQ:

我确实感觉到,我们的贡献呈上升态势,但遗憾的是,关于这一点,我们没有可靠的数据。Scala 中心无疑为此做出了贡献,但我还想强调下我们在这个领域的工作,包括技术方面(投入很大的精力减少技术债务,让新手可以访问我们的代码,迁移到一个标准 sbt 构建,提供快速完整的开源 CI)和社会方面:Lightbend 的整个团队花了大量的时间反馈 pull 请求,通过gitter和其他论坛提供有关编译器和库开发的建议。

Scaladex——新的 Scala 包索引

在主题演讲的过程中,Miller 提出了一个问题:“Node、Haskell 和 Rust 都有而 Scala 没有的东西是什么?”答案是:“包索引!”

Miller 解释说:

我们非常相信,如果你开发一个开源库,并通过 Maven 或其他的东西发布,那么你就不必为了让人们使用你的库而成为一名好销售。

据介绍,新的包索引名为Scaladex,是一幅 Scala 生态系统地图。它基于已发布的 Scala 库,资源来自 POMs、GitHub 和 StackOverflow。开发人员有一个地方可以发布并和社区共享他们自己的 Scala 库,而且可以在 GitHub README 文件中添加配置信息和“Scala 社区”标志。如 Miller 所述,“我们希望为优秀的项目发声,让他们不必进行市场营销和宣传。”

Miller 讨论了 Scaladex 可能带来的一些好处:

  • 展示已发布的、应用广泛的库;
  • 分析和展示开源构建文件中的重要信息;
  • 展示许可信息;
  • 将整个 Scala 生态系统添加到 Lightbend 社区;
  • 链接文档和模块。

2016 年 8 月 9 日,一篇博文宣布 Scaladex Beta 版发布。

SIP/SLIP——社区参与

Scala 改进流程(SIP)和Scala 库改进流程(SLIP)是 Scala 社区提交 Scala 编程语言和库变更的两个途径。在一篇发表于 2016 年 7 月 12 日的博文中,Miller 向开发人员概要地介绍了改进后的 SIP:

一项由委员会成员提出,并一致投票决定应该由 Scala 中心立即开展的计划是,理清 Scala 治理,尤其要致力于确保有一个开放协作的过程,用于语言和标准库的发展。为了实现这一目标,今天,我们发布了改进后的Scala 改进规范和提交流程

流程改进的一个主要目标是确保所有提交的 SIP 及时得到检查,以便 SIP 作者能够定期收到反馈,知道如何改善他们的建议。

Miller 还指出,以前一直有一种“倾向,就是提交的 SIP 不能及时得到反馈。”InfoQ 问 Moors,自新的 SIP 提交流程实现以后,他是否看到了这个方面的改善:

是的,我们刚刚使用新流程举行了第一次会议,反响不错!

InfoQ 问 Moors,Lightbend 是否也有类似的流程向导。他回答说:

我们密切参与,但我们不引导社区流程。在 Lightbend,我们一直觉得,由一个类似 Scala 中心这样的实体机构来代表社区,符合每个人的最佳利益,我们很高兴这已经成为现实。积极参与,帮助创建 Scala 的未来!

总之,根据 Miller 提供的消息,Scala 中心“为所有人谋利益”,而“社区 = 我们所有人。”Scala 中心和 Lightbend欢迎开发人员为 Scala 生态系统做贡献

查看英文原文The New Scala Center Focuses on Education and the Scala Community

JavaScala语言 & 开发