Skip to content

March 2019 advisory board minutes #85

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 17, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added minutes/2019/03/06/2019-03-06-march-6-2019.pdf
Binary file not shown.
298 changes: 298 additions & 0 deletions minutes/_posts/2019-03-06-march-6-2019.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,298 @@
---
layout: contact
---

# Minutes of the 12th meeting of the Scala Center, Q1 2019

Minutes are [archived](https://scala.epfl.ch/records.html) on the
Scala Center website.

## Summary

The following agenda was distributed to attendees:
[agenda](https://github.com/scalacenter/advisoryboard/blob/master/agendas/012-2019-q1.md).

Rob Norris is the new community representative, replacing Lars Hupel.
(Bill Venners continues as the other community representative.)

Scala Center activities for the past quarter focused on
Coursier, Bloop, MOOCs, documentation, Metals, mdoc,
Scala.js, SIP meetings for Scala 3, and Scala Days 2019.

Full details on these activities are in
[Sébastien's report](../2019-03-06-march-6-2019.pdf).

The main additional topic discussed at the meeting was the question of
allowing board members to contribute engineering effort directly
instead of funds. Sentiment on the board is generally positive; the
change in still in process with EPFL legal and with a prospective new
member.

No new proposals were made this quarter.

## Date, Time and Location

The meeting took place virtually on Wednesday, March 6, 2019 at 4:30pm
(UTC).

Minutes were taken by Seth Tisue (secretary).

## Attendees

Board members present:

* James Belsey, Morgan Stanley
* Stu Hood, Twitter
* Rob Norris, community/Typelevel
* Olga Makhasoeva, 47 Degrees
* Adriaan Moors, Lightbend
* Jonathan Perry, Goldman Sachs
* Frederick Reiss, IBM
* Julien Tournay, Spotify
* Bill Venners, community/Artima

Apologies:

* Thomas Gawlitza, SAP

Officers:

* Sébastien Doeraene (director), EPFL
* Jon Pretty (chairperson), Propensive
* Martin Odersky (technical advisor), EPFL
* Seth Tisue (secretary), Lightbend

## Proceedings

As chairperson, Jon Pretty conducted the meeting.

### Community representative

The meeting began with a vote to approve the Rob Norris as the new
community representative.

Seb explained that the nomination arose as the outcome of discussions
among "the whole Scala Center", as well as discussion at the December
meeting. Then, Rob was voted in by the board. (Jon stopped the vote
once the necessary number of votes were in.)

After the vote, Rob joined the meeting and introduced himself. "I've
been using Scala for about ten years, and I've been involved in the
community and speaking at conferences for the last five or six
years. [...] I spend a lot of time talking to [Scala] beginners, as
well as advanced users." See separate [blog
post](https://www.scala-lang.org/blog/2019/03/18/announcing-new-community-representative.html)
for further information on Rob's background and professional
affiliations.

### Activities

As the Center's Executive Director, Sébastien Doeraene summarized
Scala Center activities since the last meeting.

Most of Seb's remarks were based on his [detailed report](../2019-03-06-march-6-2019.pdf)
on the Center's recent activities. The following notes are a
supplement to Sébastien's report.

He began by saying that the report has be redesigned to be more
integrated, an group effort. He invites feedback on the new format.

The Coursier work (on
[SCP-020](https://github.com/scalacenter/advisoryboard/blob/master/proposals/020-sbt-transitive-dependencies-conflicts.md))
is progressing well, but isn't complete yet.

The main Bloop highlight is faster incremental and no-op compiles,
especially for complex builds.

The trial of EdX as a MOOC platform began in January with the new
Programming Reactive Systems course. Results are still preliminary,
but "it looks like it's gaining as much traction as the other
courses". Firmer conclusions will be possible in a few more months.

Metals is "not shipped yet, but almost" (but has users already,
regardless). Code completion support will be in soon, at which point
it will be "a viable alternative" IDE experience, in Seb's view.

For Scala Days 2019, platinum sponsorships are all signed and a number
of gold sponsorships are lined up, with more coming. The conference
schedule has now been announced. 15% of tickets sold in less than
two weeks, which is very promising.

### Financial report

(Note that the USD/CHF exchange rate is currently very nearly 1-to-1.)

"We got the rough results from the fourth quarter of our MOOCs for
2018... We took in CHF 96K total," but it isn't known yet exactly how
much of that money will actually come to the Scala Center. This is
"slightly lower than our usual income for the MOOCs, we're not really
sure why, but we hope that the new course will of course change the
direction."

The board continues with eight full members, for CHF 400K/year total
income. Payroll outlay is currently only around CHF 300K, so the
Center is hiring and is actively interviewing candidates. "If you
know people who would like to work at the Scala Center, send them
my way," said Seb.

### Community feedback

Bill said, "I've always had a hard time getting people to tell me
what their pain points are. I'm supposed to represent the community,
but people don't complain [to me] very much. So I came up with an idea
that is actually working, which is that I give free lunch-and-learns,
where I have slides to talk about what's in Dotty and so on, and ask
about pain points." These are usually "the usual suspects". "Upgrade
is always mentioned as a pain point. Upgrading to new versions of
Scala can be hard. Upgrading is something very practical that
everyone faces. Not just from Scala 2 to Scala 3, but in general."

Seb broadened the topic a bit to include library upgrades as well as
Scala upgrades. He mentioned that the Scala website does offer advice
for library authors on this. Rob says that library compatibility is a
frequent subject of discussion within Typelevel; Cats, for example,
has a guide on this. Could standards around this be more standardized
and publicized? The advent of TASTy may change the picture, though
broadly, Seb said, "just replace binary compatibility with TASTy
compatibility".

On another subject, Rob emphasized "how excited everyone is about
Metals and how pleased everybody is about how it's coming along. I
ran into a lot of people who are using it and very excited about it"
and the technologies it's based on, such as Scalameta and Bloop. Seb
promised to pass that on to the team, especially Olaf and Jorge.

### Proposals

No proposals were received this quarter.

### Other business

### Contributor members

As already mentioned at the [previous
meeting](https://scala.epfl.ch/minutes/2018/12/05/december-5-2018.html),
there is an open possibility of allowing prospective board members to
participate by contributing engineering effort directly, instead of
primarily contributing funds. Seb has been in discussions with one
prospective board member interested in this arrangement. But Seb
emphasized that this won't go forward unless the board approves.

Seb also observed that "affiliate members" (at the lower CHF 15K
funding level, but without voting rights) have so far been rare. So
the idea is to introduce a "contributor" membership, where the member
would provide a full-time engineer or equivalent. This would be known
as a "contributor" membership. Initially this would be without voting
rights, but if the right legal arrangement can be drafted and cleared,
this could eventually lead to full membership with voting rights.

Jon explains: "Initially, the anticipation was that we would be
getting sponsors who had sufficient financial resources to spare 50K
CHF/year to be on the board. But for some companies, it's easier to
provide a full time engineer, say a company in Poland for example,
versus a bank in London or a Silicon Valley company. So I would frame
this as accommodating forms of payment that work better for
differently sized and differently located companies."

James asked for clarification on the timetable of eventually granting
voting rights. Seb said "right now no, the regulations don't allow
it", but the hope is to change that, it's "obvious" for "fairness".
But making the change requires clearing it first with EPFL's lawyers,
then presumably also with board members' own legal departments.

James also asked about control: "Do they get to choose what they work
on, or are going to dictate to them what they work on?" Seb said it
would be a "common agreement".

Of course, as Jon observes, the agreement for existing members doesn't
involve either the board dictating, or the Center dictating. The
board makes recommendations; the Center then chooses what to work on,
but can't disregard recommendations too much, if they want to keep the
board satisfied.

Seb said that they're still drafting wording around this question. He
expects there will be "a provision that we evaluate their work, and we
if we aren't satisfied with it for two months in a row, or something
like like that, then their contributor membership is in jeopardy."

Seb said the Center has so far identified two projects that would be
good choices for this kind of effort sharing: the Dotty IDE, and TASTy
support in Scala 2 ([SCP-018](https://github.com/scalacenter/advisoryboard/blob/master/proposals/018-converging-214-30.md)).

Stu suggested delaying granting voting rights until after "a minimum
level of [engineer] contribution" has already been reached. Fred
suggested building in some structure around how contributor members
get invited, before the trial period begins.

Jon asked Seb if the draft agreement could be shared with the board.
Seb said yes, but not quite yet, after it's run past EPFL legal.

Stu also raised this question: how many contributor members does the
Center want? Two, three? Twenty, thirty? Ideal terms might depend
on this. James said a large number seems like a "management
headache". Seb agreed, and said he had been thinking perhaps five or
so as a reasonable upper limit, or perhaps even lower, such as three.
James observed, "There's no harm in capping it initially," then
revisiting.

Rob asked what "equivalent" means in the phrase "full-time engineer or
equivalent". Must it be a single person full time, or could it be "40
hours gathered from consultants who don't have anything else to do
that week"? Because "it's much more expensive" to actually hire
someone, but also he didn't think that a patchwork of consultants
would be nearly as useful as a dedicated person. Seb: "We want to
have some flexibility" for engineers to be reassigned, but said he'd
think about how much flexibility would be too much, as he completes
drafting the terms.

Seth asked about contributing less than a full-time engineer, is that
possible? Jon asked a different form of this question: could
it still qualify as a full-time equivalent, if the enginner in
question was considered especially valuable? Seb was skeptical this
could be "formalized".

### Scala at Twitter

Stu said that Eugene Burmako's departure from Twitter has some people
wondering about the status of Scala at Twitter. Internal discussion
about this included questions about Scala 3, JDK 11, Scalameta, and
rsc (the "Reasonable Scala Compiler" project Eugene led).

Some excerpts of Stu's remarks on this:

* "We are continuing approximately as already planned in the
absence of Eugene."
* "Rsc is unlikely to remain a full compiler. We have another
use case for the Rsc work, and we'll be talking more publicly
about those plans soon. I hope to bring a proposal to the next
meeting to attempt to get some Scala Center involvement there."
* "We don't think we are drastically behind on moving to Scala 3, or
on any Scala version upgrade. Upgrading can take a long time
(several years) in 'wall clock time', but for example the
person-time total for moving to 2.12 has only been about 6 months of
one person's time . Many other companies are still moving from 2.11
to 2.12."

To put this in context, Stu confirmed that Twitter has about 10
million lines of Scala code. He also said that the biggest delays in
Scala version upgrades have been caused by Spark and other third party
dependencies. So, backwards compatibility for Scala continues to be a
major concern for Twitter.

Since Spark was mentioned, Martin spoke up to say that "Spark is
already running on Dotty, since Dotty is more forgiving than the Scala
2 series about binary compatibility. Hopefully the problem with
external dependencies will be a lot less [on Scala 3] than it is
currently."

## Conclusion

Jon said that the next meeting will be held in-person at Scala Days in
Lausanne, Switzerland in June. Members not able to attend in-person
may still attend virtually.

The tentative date and time is June 11, in the afternoon, before
Martin's keynote. Timing this to be workable for US west coast
members may not be possible.