Scala Governance?

#1

Hello,

How is Scala governed? Is the SIP committee the highest authority? How are its members appointed?

Thanks!

2 Likes
#2

I too would be interested to learn. Is there a reference anywhere showing the governance structure and processes?

1 Like
Proposal To Revise Implicit Parameters
#3

The SIP review process is explained here.

It seems the Process Lead is a very powerful person who leads the process and appoints the SIP committee.

That raises the question who appoints the Process Lead? Perhaps Scala Center leadership?

#4

That’s incorrect, see https://github.com/scala/docs.scala-lang/pull/1320

2 Likes
#5

Hi,

Sorry for the long delay in answering this topic.

For Scala as a language, and therefore changes to its specification, the highest authority is indeed the SIP committee. There is quite a lot of documentation on how it works at https://docs.scala-lang.org/sips/sip-submission.html, as was mentioned earlier in this thread.

A week ago, when I was about to answer this thread, I noticed there was a glaring mistake on that page about how the SIP committee members are selected (it said the Process Lead appointed them, which effectively gave an almost-all-powerful role to the Process Lead). In fact the Process Lead has virtually no power on the evolution of the language; it is an organizational role. The page was since fixed:

New members are elected by existing members of the SIP Committee, based on their expertise and involvement in the community.

That’s it for the language itself and its spec. The SIP Committee does not govern any other aspect of Scala as an organization. For that, you may want to look at https://www.scala-lang.org/community/#whos-behind-scala.

For other core components of Scala, such as the scalac compiler, the standard library, the dotty compiler, the scala-lang.org website, the Scala.js dialect, etc., there is no formal process like the SIP Committee. Instead, their repositories are handled very much like many other open source projects, with maintainers and contributors discussing issues and pull requests, and maintainers making the final call on whether to merge them or not and appointing new maintainers.

Hope that helps. I’m happy to answer any clarification questions. Also don’t hesitate to send PRs to the descriptions of the processes if you find something that is out of date.

2 Likes