Minutes of the 23rd meeting of the Scala Center, Q4 2021

Minutes are archived on the Scala Center website.

Summary

The following agenda was distributed to attendees: agenda.

Center activities for the past quarter focused on MOOCs, Scala 3 documentation, Scala at universities, Scala website modernization, the Scala 3 video series, participation in conferences, the Scala Center LinkedIn page, Advent of Code, a forthcoming Scala Online Shop for crowdfunding, the Inclusive Language Guide, the TASTy reader, Scala 3 support in Scala Native, an “Energy Efficiency of Scala” report, Scala.js, Scala 3 compiler maintenance, Metals, Bloop, Scaladex, Coursier, sbt, the Scala Debug Adapter, communication strategy, and the Center’s ongoing commitment to Scala 2.

In 2022, the Center plans to focus on providing robust and seamless tooling, onboarding newcomers, addressing governance and sustainability, boosting the adoption of Scala, and giving a positive image of Scala.

Details on all this are in the directors’ quarterly report and report on plans for 2022.

One new proposal was discussed:

  • SCP-028: Community Delegate Terms (Rob Norris, Bill Venners)

Note that the refactoring proposal from Twitter, SCP-027, remains active but discussion of the revised version was postponed until next meeting.

Other business discussed included finances, Scala 2, community feedback, and governance.

Date, Time and Location

The meeting took place virtually on Friday, January 28, 2022 at 4:00pm (UTC).

Minutes were taken by Seth Tisue (secretary).

Attendees

Officers:

  • Chris Kipp (chairperson)
    • also board member, representing Lunatech
  • Darja Jovanovic (executive director), EPFL
  • Sébastien Doeraene (technical director), EPFL
  • Martin Odersky (technical advisor), EPFL
  • Seth Tisue (secretary), Lightbend

Board members:

  • Diego Alonso, 47 Degrees
  • Maureen Elsberry, 47 Degrees
  • Graham Griffiths, Goldman Sachs
  • Rob Norris, community/Typelevel
  • Krzysztof Romanowski, VirtusLab
  • Daniela Sfregola, Morgan Stanley
  • Claire McGinty, Spotify
  • Bill Venners, community/Artima
  • Eugene Yokota, Twitter

Apologies:

  • Kris Mok, Databricks
  • Nicolas Rémond, SwissBorg (affiliate member)
  • Lukas Rytz, Lightbend
    • Seth Tisue represented Lightbend at this meeting

Guests:

  • Adam Goodman, Northwestern University
  • Julien Richard-Foy, EPFL

Activities report

Darja and Seb summarized Scala Center activities since the last meeting.

Their remarks were partly based on their quarterly report:

The following notes do not repeat the content of the report, but only supplement it.

Darja explained that the Center’s recent presence and activity on LinkedIn is intended to reach out to a broader audience that includes CEO’s and managers, not just the CTO’s and engineers it usually communicates with. She emphasized that the recent focus on LinkedIn is intended to establish the Center’s presence there, but other avenues of publicity won’t be neglected going forward.

Seb reiterated the Center’s ongoing commitment to Scala 2, in response to feedback at the last meeting. “The Scala 2 compiler is left to the care of Lightbend,” primarily, but the Center remains committed to including Scala 2 in its efforts around tooling, documentation, and community. They also intend to keep offering the existing Scala 2 based online courses. Starting this quarter, the Center’s technical report takes care to highlight which work items apply to which Scala versions.

Seb mentioned that the Center’s “Inclusive Language Guide” is now available on scala-lang.org. The guidelines have been applied to the Center’s own repos; if you notice anything that was missed, please let the Center know. The guide has been publicized on LinkedIn; several board members expressed an interest in seeing it publicized elsewhere as well.

Financial report

This was presented by Darja.

She said that the Center received some additional funds in Q4 from EPFL. The additional funds will be applied to the governance project, the upcoming 5-year report, and other activities.

The Center’s income in 2021 was 1’018’575 CHF: 37.7% from reserves, 33.1% from membership, 24.3% from MOOCS, and 5.0% from other sources. Its expenditures were 917’951 CHF: 90.9% salaries, 8.3% consultants, and 0.9% other.

The 2022 forecast is for income and expenditures of 827’000 CHF; the amount is lower because 2021’s level of expenditures from reserves was unusually high. The Center is also exploring a “preferred” scenario with a budget of 974’000 CHF, if this can be achieved via increased board membership, crowdfunding, and partnerships.

The Center’s forthcoming 5-year report will include more information about the Center’s financial goals and plans.

Plans for 2022

Julien Richard-Foy, longtime employee of the Center, attended the meeting as a guest and presented this report on the Center’s plans for 2022:

with special emphasis on planned activities in the first quarter of the year.

Proposals

SCP-027: Refactoring

This proposal from Twitter, SCP-027, has been revised in response to feedback at the last meeting, but the revisions were made too close to meeting time to permit proper discussion of the revised version. We intend to return to it next meeting.

SCP-028: Community Delegate Terms

The proposal was submitted by both community representatives, Bill Venners and Rob Norris.

It seeks to establish a standard term of two years for community representatives. (Representatives can still potentially serve multiple terms.)

Voting: The proposal was unanimously approved.

As always, votes are advisory; there isn’t yet any clear timetable on when action might be taken on this. Darja mentioned that it’s possible that the governance project will result in further changes in this area.

Past proposals

Our new chair, Chris, recently made a pass over all of the past proposals the board has considered and updated their statuses. The updated list is viewable on GitHub.

Other business

Scala 2

On behalf of the Scala team at Lightbend, Seth presented some Scala 2 news items:

Scala 2.13.8 was released. This was a modest release focused on fixing regressions in 2.13.7 (which was a more ambitious release containing six months of changes). 2.13.8 seems to have been well-received; there is no need to rush out a 2.13.9.

Changes to the Scala 2 release process, discussed at previous meetings, have been made. There is now a longer delay between designating a release candidate and promoting it to final release; the release announcement doesn’t go out until tooling has been updated to support the new version; Scala Steward upgrade PRs don’t go out until after the release has been announced; and communication among stakeholders during the entire process is improved.

Lightbend completed handoff of the Play Framework to Open Collective. The crew of maintainers includes current and former Lightbend employees. They’ve done one release already, independently of the company. They’re working on supporting Scala 3, JDK 17, and newer sbt.

Lightbend is working on improving JDK 17 support across our whole stack.

One board member asked how long Scala 2.12 and 2.13 maintenance and releases will continue at Lightbend. Seth said that the team expects to keep the 2.13 series going indefinitely. How long 2.12 releases will continue is less clear, but there’s no danger of releases stopping anytime soon, and any change in long-term plans would be announced well in advance.

Community feedback

Several board members asked about Coursier’s maintenance status and about how scala-cli fits into SCP-026, the proposal about Coursier’s role in the Scala getting-started experience, which the Center is still working on. There wasn’t time to into detail about it, but Seb and Krzysztof said that technical progress is ongoing and the design questions about how these tools will relate are under active discussion between the Center and VirtusLab. “We’re aware.”

Bill observed that in-person conferences could become possible again before too much longer. “It was a pretty big loss for our community that we couldn’t get together in person,” so it’s worth starting to plan what COVID rules will be necessary. Rob also expressed optimism that resuming in-person conferences could be good for the community; “the inability to get together in person can inflame misunderstandings”.

Other community observations from Rob: “People really enjoyed the Center’s Advent of Code series. People are starting to use scala-cli and are very enthusiastic about it. And there continue to be more and more questions about Scala 3.” He did an informal poll on Twitter asking what was holding people from back from moving to Scala 3 and metaprogramming was by far the most common answer.

So, he expressed interest in increased representation on Discord from people directly involved with Scala 3, especially around metaprogramming. One board member observed that time zone differences are difficult for chat; could “office hours” be a solution? Another observed that information in chat tends to get lost, so chat is only a partial solution. Seb mentioned that the Scala 3 issue sprees are one of LAMP’s efforts in this area, and perhaps that scope of that could be broadened to include more on metaprogramming.

Chris reminded the board that proposals to the Center can be small and modest; the proposal discussed today was an example of that.

Governance

Adam Goodman was present at the meeting as a guest. He introduced himself as follows: “I’m a professor at Northwestern University, which is based just outside of Chicago. I’m an advisor on helping you put together a more robust governance model. The university has a center for leadership, which is my primary academic field.” He is experienced with community-based governance, including open-source communities.

Darja presented the following proposed timeline for the governance project: Q1 mapping out and understanding, Q2 approving, and Q3 implementation. Some work already happened in Q1 compiling a map of relevant stakeholders, including stakeholders (or potential ones) we aren’t currently hearing from. Adam said that in Q1 he’d be scheduling individual meetings with all board members to get their perspectives.

Conclusion

Since this meeting occurred somewhat late, we should aim to meet again in late March or early April.