A request for more visibility into the Scala Platform Process


#1

Hello all! I would like to call your attention to what I think is some lacking visibility into the Scala Platform Process. As an interested observer, I would like to be able to know the answers to questions which I will list below:

  • Which platforms exist? The documentation outlines a vision wherein multiple different competing platforms could coexist as bundles of libraries that work well with each other, but nowhere is there mentioned which platforms there actually are. I’m sure there is only the one platform for now, but it would be nice to have a canonical list somewhere so that people can just know for sure

  • For each platform, and in particular for the “official” platform:

    • How to use that platform as a library consumer, how to import it with build tools etc?
    • Which modules/libraries/hypothetical ideas have been considered for inclusion into the scala platform?
    • Which modules have been accepted and which have not been? Which are still in the process of being reviewed and which have been rejected? And why have they been rejected?
    • Which previous releases have there been?
    • What is the timeline / roadmap for upcoming releases?
    • Which platform releases will be released for which versions / targets(js/jvm/native) of scala?
    • If this platform group meets regularly, when is the next meeting and where I can I find out more about that?
    • What help is needed and how can I help with that?

After trawling the web, the experience of finding any information on this is pretty frustrating. Here is a list of compiled sources on the topic of the scala Platform:

  • The initial announcement of the Scala Platform from 2016:

  • From the announcement, the Youtube channel of scala process is linked, which has archives of all the previous SPP meetings (there have been 3 in 20 months):

  • The Scala Platform website itself:

    • https://scalacenter.github.io/platform
    • Does not seem to have been updated since inception, for example the main page (“What is the Scala Platform”) has multiple broken links on it, all the ones which are related to the Scala Platform (link to announcement of its prerelease, and the link to the Scala Platform Policies).
  • The github organization of the Scala Platform

    • https://github.com/scalaplatform
    • The fact that there are two repos here which are scala libraries seems to be the only indication anywhere online that any library is so far associated with the scala platform (scala-json and better-files)
  • Only from looking at the scala center website and clicking through to the scala platform section was I able to find this repo:

  • Finally the only source of information that gets regularly updated is filtering for Scala Platform tag on contributors.scala-lang.org:

    • https://contributors.scala-lang.org/c/scala-platform

    • These threads do not answer any of the questions above because many/most are just proposals (which is great!) but without any sort of conclusion. I don’t see the organizers of SPP chiming in to include these topics for discussion in the next SPP meeting. Even after reading through every thread in this tag, one is left knowing nothing about what the state of the proposal is.

    • Also there are the meeting notes published for each SPP meeting on the forum, for example

So I am willing to bet that I have spent more time following this rabbit hole than 99.99% of the rest of the scala coummunity and therefor I will conclude that 99.99% of Scala developers know 0 about the Scala Platform or its process. Since they are not in the loop about this, they cannot get involved, and the entire idea of the Scala Platform is therefor in jeopardy of abandonment.

How can we improve?

  • Official Status Page Create a section on scala-lang.org or other high-profile, high-visibility location like index.scala-lang.org or docs.scala-lang.org which answers the basic questions I had above. One reasonable source of inspiration can be the current status page for SIP’s https://docs.scala-lang.org/sips/all.html
  • Frequent Updates. Update this site on a weekly/biweekly or at least monthly basis to keep the community informed.
  • Proper issue tracker / database of ongoing Platform Proposals. Either move proposals off of, or duplicate them from contributors.scala-lang.org onto a proper issue tracker or similar system with tags like #WIP, #Accepted, #Parked, #AwaitingApproval, #HelpWanted, #2.13.0, etc
  • Followup all proposals and discussions with indications of next steps, conclusions, etc Organizers of Scala Platform can swiftly followup after a proposal on a forum, either rejecting a proposal or indicating what the next steps are, and creating an entry in the above mentioned status system.
  • Have SPP meetings much much much more frequently than they are currently happening right now. I understand that we are all busy but if you are going to be on an “official scala platform process committee”, and the primary avenue of making official decisions is to hold committee meetings where votes are held in real time, then I think that these meetings should be happening either biweekly or monthly. Not the current rate of on average every 6.6 months. These meetings could also be published in a more visible way. I publish each on reddit.com/r/scala, but they could also be put on, say, the lightbend podcast perhaps.

Thank you for your time