Minutes of the 21st meeting of the Scala Center, Q2 2021

Minutes are archived on the Scala Center website.

Summary

Scala 3 was released in May. The Center’s new MOOC, “Effective Programming in Scala”, was also released the same month.

Databricks, known in the Scala community for their stewardship of Apache Spark, has now joined the advisory board as a full member and is represented by Kris Mok. Affiliate member SwissBorg joined the meeting for the first time, represented by Nicolas Rémond.

Fengyun Liu, from the engineering team, has left the Center. Valérie Pedroni has joined the new communications team as an intern.

Center activities for the past quarter focused on the Scala 3 release, the Scala 3 release party, ScalaCon (including three talks by Center speakers), the new MOOC, updating most of the existing MOOCs to Scala 3, the Scala 3 documentation website including the Scala 3 book, Let’s Talk About Scala 3 video series, Scala 3 compiler improvements, the TASTy reader, the Scala 3 migration tool, Scala 3 support in tooling (Metals, Scalameta, Scalafmt, Scalafix, sbt, Maven plugin, Scastie, Scaladex), Scala.js, Scala Native, a new sbt-version-policy plugin, Google Summer of Code, and community management and governance.

Details on all this are in Darja’s management report, Darja’s community management and governance proposal, and Seb’s technical report.

One new proposal was discussed:

  • SCP-026: Solidify Getting Started with Coursier (Chris Kipp (Lunatech) & Rob Norris (community))

The proposal was voted on and accepted.

Other business discussed included the community management and governance proposal.

Date, Time and Location

The meeting took place virtually on Monday, June 28, 2021 at 3:00pm (UTC).

Minutes were taken by Seth Tisue (secretary).

Attendees

Officers:

  • Adriaan Moors (chairperson)
    • also board member, representing Lightbend
  • 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
  • Chris Kipp, Lunatech
  • Kris Mok, Databricks
  • Rob Norris, community/Typelevel
  • Krzysztof Romanowski, VirtusLab
  • Daniela Sfregola, Morgan Stanley
  • Filipe Regadas, Spotify
  • Nicolas Rémond, SwissBorg (affiliate member)
  • Bill Venners, community/Artima
  • Eugene Yokota, Twitter

Apologies:

  • none

Guests:

  • none

Activities reports

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

Their remarks were largely based on their reports. The following notes do not repeat the content of the reports, but only supplement them.

Management report

Technical report

Seb emphasized that feedback from the board (and from the community) is especially welcome for scala3-migrate, the TASTy reader, and recent Scala Native improvements.

Seb’s report mentions a proposed new “Standalone Scala” effort. It was discussed further as part of the SCP-026 discussion, below.

Proposals

SCP-026: Solidify Getting Started with Coursier

The proposal was submitted by Chris Kipp (Lunatech) and Rob Norris (community).

Chris presented the proposal. He said that it reflects Lunatech’s experiences educating new Scala programmers as well as Rob’s experiences interacting with Scala beginners. Rob: “There’s a steady drip of people getting super frustrated and confused trying to get started with Scala. What do I download, where does it go, how do I do it, how do I get my editor to work.”

Chris pointed out that the proposal overlaps with the Standalone Scala effort, which they didn’t know about before. Krzysztof believes their plans are compatible with the proposal’s goals.

Seth said he hoped that Virtus and the Center will look at Dale Wijnand’s scala-runners project as one of their sources of inspiration.

Seb said “we love the proposal” at the Center. “We’re glad to see it. It mentions things that we were already working on, or planning to work on,” and then also has good suggestions they hadn’t considered yet. He acknowledged the issue with multiple sbt launchers and said that Coursier-based sbt launcher not being fully ready yet was the main blocker currently preventing cs setup from being the standard recommendation for beginners.

Martin: “The proposal is spot on. We have to give newcomers better guidance, and it needs to be the same, if we can, for Scala 2 and Scala 3.” Darja also expressed support.

Diego expressed support for the proposal and asked about the overlap with Standalone Scala (aka “scala-cli”). Some discussion about that with Seb, Krzysztof, and others followed. We mostly pass over that here, since that work is still in such early stages. So, more on this at next meeting. Krzysztof assured us that before too much longer, scala-cli will be an open-source and transparent project and all actions related to the language, documentation, and other key parts of the Scala ecosystem will be made in consultation with Scala Center and the community.

Eugene asked about the maintenance status of Coursier. Darja reminded us that Alexandre Archambault is at VirtusLab now. Krzysztof offered to be a liaison for board members concerned about Coursier issues. Seb acknowledged that the Center may need to become more involved.

Daniela expressed concern that the proposal could be too broad in scope, since it covers both improving the getting-started experience, and improving tools that are used by everyone for many purposes. Rob and Chris thought it remains to be seen to what extent this might turn into multiple streams of work, once the design questions have been explored more. Also, Adriaan noted that it’s ultimately up to the Center to bridge the gap between recommendations made by the board and the technical details of how they end up being addressed.

Voting: The proposal was accepted by unanimous vote.

Other business

Management and governance

Darja presented the new community management and governance proposal. Her opening remarks were based on the slides in the second half of her management report. The following notes do not repeat the content of these documents, but only supplement them.

Maureen asked if fundraising for this could or should be more broadly community-based, instead of only asking the advisory board. (Answer: open question, but likely yes.) She also asked what the expected time commitment would be for members of the Executive Working Group. (Answer: open question, but probably 1 or 2 hours/week for six months.)

Nicolas asked about learning from other communities’ experience; Darja said that the proposal includes budget for a consultant who has relevant expertise and a track record with the Drupal and Go communities.

Daniela suggested that any communication around fundraising should distinguish between what the Center will do regardless, and what it could do if additional funds are raised.

Several board members said they would check into whether their companies would be interested in contributing additional funding to this effort. (At least one member reminded us that the process of getting permission for this kind of thing can be slow, and that a document explaining the fundraising goals can’t assume familiarity with community history.)

Several board members expressed interest in participating in the Executive Working Group.

Scala on Twitter

Chris asked about the Scala Center’s Twitter presence; Darja confirmed that it’s by design that the Center uses https://twitter.com/scala_lang rather than expect users to follow a separate account.

Chris also asked if community governance matters, and communications around Scala more generally, should be understood by the community as issuing from the Center, or also from other involved parties such as Lightbend. Darja acknowledged that it’s natural for people in the community to be at least somewhat confused by the different groups sharing cooperative responsibility for Scala. She mentioned her talk “Scala 2 to Scala 3 Transition” (video), which may be helpful for people seeking to understand this better. Seth mentioned that the Scala website attempts to address this right at the top of the site’s community page. Darja said that the Center would take care to be especially clear about this in any communication around the community management changes.

Ammonite

Chris asked about the Center’s level of involvement in maintenance of Ammonite, particularly Scala 3 support. Seb said that although the Center contributed that support to Ammonite (through a contractor), that doesn’t mean the Center has assumed ongoing responsibility for it, but he said he would look into whether there’s something the Center could appropriately do about specific issues Chris mentioned.

Some discussion followed about the nature of the Center’s agreements with contractors, within EPFL’s constraints. (Darja added that the Center’s unusually heavy use of contractors in the preparation for the Scala 3 release was a one-time situation.)

Conclusion

We ran out of meeting time and didn’t elect a new chairman. (Adriaan’s one-year rotation is ending.) Seb suggested we deal with this asynchronously, but before the next meeting.

The next meeting will likely take place in September.