|
| 1 | +--- |
| 2 | +layout: contact |
| 3 | +--- |
| 4 | + |
| 5 | +# Minutes of the 12th meeting of the Scala Center, Q1 2019 |
| 6 | + |
| 7 | +Minutes are [archived](https://scala.epfl.ch/records.html) on the |
| 8 | +Scala Center website. |
| 9 | + |
| 10 | +## Summary |
| 11 | + |
| 12 | +The following agenda was distributed to attendees: |
| 13 | +[agenda](https://github.com/scalacenter/advisoryboard/blob/master/agendas/012-2019-q1.md). |
| 14 | + |
| 15 | +Rob Norris is the new community representative, replacing Lars Hupel. |
| 16 | +(Bill Venners continues as the other community representative.) |
| 17 | + |
| 18 | +Scala Center activities for the past quarter focused on |
| 19 | +Coursier, Bloop, MOOCs, documentation, Metals, mdoc, |
| 20 | +Scala.js, SIP meetings for Scala 3, and Scala Days 2019. |
| 21 | + |
| 22 | +Full details on these activities are in |
| 23 | +[Sébastien's report](../2019-03-06-march-6-2019.pdf). |
| 24 | + |
| 25 | +The main additional topic discussed at the meeting was the question of |
| 26 | +allowing board members to contribute engineering effort directly |
| 27 | +instead of funds. Sentiment on the board is generally positive; the |
| 28 | +change in still in process with EPFL legal and with a prospective new |
| 29 | +member. |
| 30 | + |
| 31 | +No new proposals were made this quarter. |
| 32 | + |
| 33 | +## Date, Time and Location |
| 34 | + |
| 35 | +The meeting took place virtually on Wednesday, March 6, 2019 at 4:30pm |
| 36 | +(UTC). |
| 37 | + |
| 38 | +Minutes were taken by Seth Tisue (secretary). |
| 39 | + |
| 40 | +## Attendees |
| 41 | + |
| 42 | +Board members present: |
| 43 | + |
| 44 | +* James Belsey, Morgan Stanley |
| 45 | +* Stu Hood, Twitter |
| 46 | +* Rob Norris, community/Typelevel |
| 47 | +* Olga Makhasoeva, 47 Degrees |
| 48 | +* Adriaan Moors, Lightbend |
| 49 | +* Jonathan Perry, Goldman Sachs |
| 50 | +* Frederick Reiss, IBM |
| 51 | +* Julien Tournay, Spotify |
| 52 | +* Bill Venners, community/Artima |
| 53 | + |
| 54 | +Apologies: |
| 55 | + |
| 56 | +* Thomas Gawlitza, SAP |
| 57 | + |
| 58 | +Officers: |
| 59 | + |
| 60 | +* Sébastien Doeraene (director), EPFL |
| 61 | +* Jon Pretty (chairperson), Propensive |
| 62 | +* Martin Odersky (technical advisor), EPFL |
| 63 | +* Seth Tisue (secretary), Lightbend |
| 64 | + |
| 65 | +## Proceedings |
| 66 | + |
| 67 | +As chairperson, Jon Pretty conducted the meeting. |
| 68 | + |
| 69 | +### Community representative |
| 70 | + |
| 71 | +The meeting began with a vote to approve the Rob Norris as the new |
| 72 | +community representative. |
| 73 | + |
| 74 | +Seb explained that the nomination arose as the outcome of discussions |
| 75 | +among "the whole Scala Center", as well as discussion at the December |
| 76 | +meeting. Then, Rob was voted in by the board. (Jon stopped the vote |
| 77 | +once the necessary number of votes were in.) |
| 78 | + |
| 79 | +After the vote, Rob joined the meeting and introduced himself. "I've |
| 80 | +been using Scala for about ten years, and I've been involved in the |
| 81 | +community and speaking at conferences for the last five or six |
| 82 | +years. [...] I spend a lot of time talking to [Scala] beginners, as |
| 83 | +well as advanced users." See separate [blog |
| 84 | +post](https://www.scala-lang.org/blog/2019/03/18/announcing-new-community-representative.html) |
| 85 | +for further information on Rob's background and professional |
| 86 | +affiliations. |
| 87 | + |
| 88 | +### Activities |
| 89 | + |
| 90 | +As the Center's Executive Director, Sébastien Doeraene summarized |
| 91 | +Scala Center activities since the last meeting. |
| 92 | + |
| 93 | +Most of Seb's remarks were based on his [detailed report](../2019-03-06-march-6-2019.pdf) |
| 94 | +on the Center's recent activities. The following notes are a |
| 95 | +supplement to Sébastien's report. |
| 96 | + |
| 97 | +He began by saying that the report has be redesigned to be more |
| 98 | +integrated, an group effort. He invites feedback on the new format. |
| 99 | + |
| 100 | +The Coursier work (on |
| 101 | +[SCP-020](https://github.com/scalacenter/advisoryboard/blob/master/proposals/020-sbt-transitive-dependencies-conflicts.md)) |
| 102 | +is progressing well, but isn't complete yet. |
| 103 | + |
| 104 | +The main Bloop highlight is faster incremental and no-op compiles, |
| 105 | +especially for complex builds. |
| 106 | + |
| 107 | +The trial of EdX as a MOOC platform began in January with the new |
| 108 | +Programming Reactive Systems course. Results are still preliminary, |
| 109 | +but "it looks like it's gaining as much traction as the other |
| 110 | +courses". Firmer conclusions will be possible in a few more months. |
| 111 | + |
| 112 | +Metals is "not shipped yet, but almost" (but has users already, |
| 113 | +regardless). Code completion support will be in soon, at which point |
| 114 | +it will be "a viable alternative" IDE experience, in Seb's view. |
| 115 | + |
| 116 | +For Scala Days 2019, platinum sponsorships are all signed and a number |
| 117 | +of gold sponsorships are lined up, with more coming. The conference |
| 118 | +schedule has now been announced. 15% of tickets sold in less than |
| 119 | +two weeks, which is very promising. |
| 120 | + |
| 121 | +### Financial report |
| 122 | + |
| 123 | +(Note that the USD/CHF exchange rate is currently very nearly 1-to-1.) |
| 124 | + |
| 125 | +"We got the rough results from the fourth quarter of our MOOCs for |
| 126 | +2018... We took in CHF 96K total," but it isn't known yet exactly how |
| 127 | +much of that money will actually come to the Scala Center. This is |
| 128 | +"slightly lower than our usual income for the MOOCs, we're not really |
| 129 | +sure why, but we hope that the new course will of course change the |
| 130 | +direction." |
| 131 | + |
| 132 | +The board continues with eight full members, for CHF 400K/year total |
| 133 | +income. Payroll outlay is currently only around CHF 300K, so the |
| 134 | +Center is hiring and is actively interviewing candidates. "If you |
| 135 | +know people who would like to work at the Scala Center, send them |
| 136 | +my way," said Seb. |
| 137 | + |
| 138 | +### Community feedback |
| 139 | + |
| 140 | +Bill said, "I've always had a hard time getting people to tell me |
| 141 | +what their pain points are. I'm supposed to represent the community, |
| 142 | +but people don't complain [to me] very much. So I came up with an idea |
| 143 | +that is actually working, which is that I give free lunch-and-learns, |
| 144 | +where I have slides to talk about what's in Dotty and so on, and ask |
| 145 | +about pain points." These are usually "the usual suspects". "Upgrade |
| 146 | +is always mentioned as a pain point. Upgrading to new versions of |
| 147 | +Scala can be hard. Upgrading is something very practical that |
| 148 | +everyone faces. Not just from Scala 2 to Scala 3, but in general." |
| 149 | + |
| 150 | +Seb broadened the topic a bit to include library upgrades as well as |
| 151 | +Scala upgrades. He mentioned that the Scala website does offer advice |
| 152 | +for library authors on this. Rob says that library compatibility is a |
| 153 | +frequent subject of discussion within Typelevel; Cats, for example, |
| 154 | +has a guide on this. Could standards around this be more standardized |
| 155 | +and publicized? The advent of TASTy may change the picture, though |
| 156 | +broadly, Seb said, "just replace binary compatibility with TASTy |
| 157 | +compatibility". |
| 158 | + |
| 159 | +On another subject, Rob emphasized "how excited everyone is about |
| 160 | +Metals and how pleased everybody is about how it's coming along. I |
| 161 | +ran into a lot of people who are using it and very excited about it" |
| 162 | +and the technologies it's based on, such as Scalameta and Bloop. Seb |
| 163 | +promised to pass that on to the team, especially Olaf and Jorge. |
| 164 | + |
| 165 | +### Proposals |
| 166 | + |
| 167 | +No proposals were received this quarter. |
| 168 | + |
| 169 | +### Other business |
| 170 | + |
| 171 | +### Contributor members |
| 172 | + |
| 173 | +As already mentioned at the [previous |
| 174 | +meeting](https://scala.epfl.ch/minutes/2018/12/05/december-5-2018.html), |
| 175 | +there is an open possibility of allowing prospective board members to |
| 176 | +participate by contributing engineering effort directly, instead of |
| 177 | +primarily contributing funds. Seb has been in discussions with one |
| 178 | +prospective board member interested in this arrangement. But Seb |
| 179 | +emphasized that this won't go forward unless the board approves. |
| 180 | + |
| 181 | +Seb also observed that "affiliate members" (at the lower CHF 15K |
| 182 | +funding level, but without voting rights) have so far been rare. So |
| 183 | +the idea is to introduce a "contributor" membership, where the member |
| 184 | +would provide a full-time engineer or equivalent. This would be known |
| 185 | +as a "contributor" membership. Initially this would be without voting |
| 186 | +rights, but if the right legal arrangement can be drafted and cleared, |
| 187 | +this could eventually lead to full membership with voting rights. |
| 188 | + |
| 189 | +Jon explains: "Initially, the anticipation was that we would be |
| 190 | +getting sponsors who had sufficient financial resources to spare 50K |
| 191 | +CHF/year to be on the board. But for some companies, it's easier to |
| 192 | +provide a full time engineer, say a company in Poland for example, |
| 193 | +versus a bank in London or a Silicon Valley company. So I would frame |
| 194 | +this as accommodating forms of payment that work better for |
| 195 | +differently sized and differently located companies." |
| 196 | + |
| 197 | +James asked for clarification on the timetable of eventually granting |
| 198 | +voting rights. Seb said "right now no, the regulations don't allow |
| 199 | +it", but the hope is to change that, it's "obvious" for "fairness". |
| 200 | +But making the change requires clearing it first with EPFL's lawyers, |
| 201 | +then presumably also with board members' own legal departments. |
| 202 | + |
| 203 | +James also asked about control: "Do they get to choose what they work |
| 204 | +on, or are going to dictate to them what they work on?" Seb said it |
| 205 | +would be a "common agreement". |
| 206 | + |
| 207 | +Of course, as Jon observes, the agreement for existing members doesn't |
| 208 | +involve either the board dictating, or the Center dictating. The |
| 209 | +board makes recommendations; the Center then chooses what to work on, |
| 210 | +but can't disregard recommendations too much, if they want to keep the |
| 211 | +board satisfied. |
| 212 | + |
| 213 | +Seb said that they're still drafting wording around this question. He |
| 214 | +expects there will be "a provision that we evaluate their work, and we |
| 215 | +if we aren't satisfied with it for two months in a row, or something |
| 216 | +like like that, then their contributor membership is in jeopardy." |
| 217 | + |
| 218 | +Seb said the Center has so far identified two projects that would be |
| 219 | +good choices for this kind of effort sharing: the Dotty IDE, and TASTy |
| 220 | +support in Scala 2 ([SCP-018](https://github.com/scalacenter/advisoryboard/blob/master/proposals/018-converging-214-30.md)). |
| 221 | + |
| 222 | +Stu suggested delaying granting voting rights until after "a minimum |
| 223 | +level of [engineer] contribution" has already been reached. Fred |
| 224 | +suggested building in some structure around how contributor members |
| 225 | +get invited, before the trial period begins. |
| 226 | + |
| 227 | +Jon asked Seb if the draft agreement could be shared with the board. |
| 228 | +Seb said yes, but not quite yet, after it's run past EPFL legal. |
| 229 | + |
| 230 | +Stu also raised this question: how many contributor members does the |
| 231 | +Center want? Two, three? Twenty, thirty? Ideal terms might depend |
| 232 | +on this. James said a large number seems like a "management |
| 233 | +headache". Seb agreed, and said he had been thinking perhaps five or |
| 234 | +so as a reasonable upper limit, or perhaps even lower, such as three. |
| 235 | +James observed, "There's no harm in capping it initially," then |
| 236 | +revisiting. |
| 237 | + |
| 238 | +Rob asked what "equivalent" means in the phrase "full-time engineer or |
| 239 | +equivalent". Must it be a single person full time, or could it be "40 |
| 240 | +hours gathered from consultants who don't have anything else to do |
| 241 | +that week"? Because "it's much more expensive" to actually hire |
| 242 | +someone, but also he didn't think that a patchwork of consultants |
| 243 | +would be nearly as useful as a dedicated person. Seb: "We want to |
| 244 | +have some flexibility" for engineers to be reassigned, but said he'd |
| 245 | +think about how much flexibility would be too much, as he completes |
| 246 | +drafting the terms. |
| 247 | + |
| 248 | +Seth asked about contributing less than a full-time engineer, is that |
| 249 | +possible? Jon asked a different form of this question: could |
| 250 | +it still qualify as a full-time equivalent, if the enginner in |
| 251 | +question was considered especially valuable? Seb was skeptical this |
| 252 | +could be "formalized". |
| 253 | + |
| 254 | +### Scala at Twitter |
| 255 | + |
| 256 | +Stu said that Eugene Burmako's departure from Twitter has some people |
| 257 | +wondering about the status of Scala at Twitter. Internal discussion |
| 258 | +about this included questions about Scala 3, JDK 11, Scalameta, and |
| 259 | +rsc (the "Reasonable Scala Compiler" project Eugene led). |
| 260 | + |
| 261 | +Some excerpts of Stu's remarks on this: |
| 262 | + |
| 263 | +* "We are continuing approximately as already planned in the |
| 264 | + absence of Eugene." |
| 265 | +* "Rsc is unlikely to remain a full compiler. We have another |
| 266 | + use case for the Rsc work, and we'll be talking more publicly |
| 267 | + about those plans soon. I hope to bring a proposal to the next |
| 268 | + meeting to attempt to get some Scala Center involvement there." |
| 269 | +* "We don't think we are drastically behind on moving to Scala 3, or |
| 270 | + on any Scala version upgrade. Upgrading can take a long time |
| 271 | + (several years) in 'wall clock time', but for example the |
| 272 | + person-time total for moving to 2.12 has only been about 6 months of |
| 273 | + one person's time . Many other companies are still moving from 2.11 |
| 274 | + to 2.12." |
| 275 | + |
| 276 | +To put this in context, Stu confirmed that Twitter has about 10 |
| 277 | +million lines of Scala code. He also said that the biggest delays in |
| 278 | +Scala version upgrades have been caused by Spark and other third party |
| 279 | +dependencies. So, backwards compatibility for Scala continues to be a |
| 280 | +major concern for Twitter. |
| 281 | + |
| 282 | +Since Spark was mentioned, Martin spoke up to say that "Spark is |
| 283 | +already running on Dotty, since Dotty is more forgiving than the Scala |
| 284 | +2 series about binary compatibility. Hopefully the problem with |
| 285 | +external dependencies will be a lot less [on Scala 3] than it is |
| 286 | +currently." |
| 287 | + |
| 288 | +## Conclusion |
| 289 | + |
| 290 | +Jon said that the next meeting will be held in-person at Scala Days in |
| 291 | +Lausanne, Switzerland in June. Members not able to attend in-person |
| 292 | +may still attend virtually. |
| 293 | + |
| 294 | +The tentative date and time is June 11, in the afternoon, before |
| 295 | +Martin's keynote. Timing this to be workable for US west coast |
| 296 | +members may not be possible. |
| 297 | + |
| 298 | + |
0 commit comments