Details of the new Scala Center, a non-profit organization created to focus on education and the open source community, were presented by research scientist Heather Miller during her June 16, 2016 keynote address at Scala Days Berlin.
A recent InfoQ article introduced the Scala Center and we present more details here.
Why a Center?
As reported in the March 14, 2016 blog post, the Scala Center was created due to an increase in available Scala positions as well as a Google search on “scala tutorial,” indicating a steady rise in adoption of Scala. Miller explained that Scala is more than just the Scala 2.x compiler maintained by Lightbend. The Scala Center would focus on:
- Libraries
- The Scala community
- Scala ecosystem
- Dotty
- Alternate back-ends
The Scala Center is located at École Polytechnique Fédérale de Lausanne (EPFL) and is led by Miller, who serves as its executive director. The Scala Center’s advisory board is comprised of:
- Scala Center representatives
- Community representatives
- Corporate representatives
Adriaan Moors, Scala tech lead at Lightbend, spoke to InfoQ about their involvement with the Scala Center. When asked if he was involved in Scala Center activities, he replied:
Yes, as the Scala team lead at Lightbend, I’m on the board of the Scala Center, as well as on the SIP/SLIP committee.
Asked about his experience been working on those activities, Moors told InfoQ:
We’re off to a great start! I’m excited about having a dedicated group of people to channel the efforts of the community as well as to represent their interests. We at Lightbend continue to balance our commitment to develop a stable and robust Scala distribution with our desire for innovation, and are glad to join forces on both fronts.
Continuing role of Lightbend
Miller announced that going forward, the Scala Center will work orthogonally with Lightbend. While Lightbend will continue to maintain the stable release of Scala, the Scala Center will start focusing on libraries and the Scala ecosystem and, to stay orthogonal, may ultimately focus on Dotty, Scala.js, and Scala Native. Asked how Lightbend is working with the Scala Center, Moors said:
Lightbend remains focused on the enterprise-grade Scala distribution, and the Scala Center works on the more forward-looking, experimental projects, such as dotty. They will also lead projects that are more community-oriented, such as evolving the standard library in Scala 2.13.
Scala educational opportunities
Educational opportunities to learn Scala have been available through Scala MOOCs (Massive Open Online Courses) on Coursera. Individual unverified courses are free-of-charge and verified Scala certificates and mini-degrees are fee-based.
Miller announced that multi-week courses are now available on-demand eliminating the wait for previous bi-annual schedule. Miller also listed the four multi-week courses on Coursera:
- Functional Programming Principles in Scala
- Functional Program Design in Scala
- Parallel Programming (new)
- Big Data Analysis with Scala and Spark (new)
Open Source Community
The Scala Center is dedicated to working with the Scala community. According to the March 14, 2016 blog post:
The first mission of the Scala Center is to consult with the user community, define common goals, and organize contributions and its own resources to achieve these goals...The Center aims in helping and complementing existing entities in the Scala ecosystem. In particular:
Lightbend (formerly Typesafe) will continue to maintain and evolve the stable Scala distribution. Lightbend is a founding member of the center and its engineers are looking forward to participating in its projects.
Existing open source projects and platforms will work as before. The Center will help in making open source libraries more discoverable using a package index. It will also step up to take over the evolution of projects of common interest, subject to its available resources.
Miller told InfoQ that the Scala community would be consulted:
in an effort to determine how to direct Scala Center development efforts. It's more about listening to the community of developers and to do things for them that one company can't contribute/do alone.
When asked if there has been an increase in community involvement since the inception of the Scala Center, Moors told InfoQ:
I definitely feel our contributions have been trending up, but we unfortunately don’t have solid data on this. The Scala Center certainly contributes to this, but I’d also like to highlight our efforts in this area, both on the technical front (investing heavily in removing technical debt and making our code base accessible to newcomers, moving to a standard sbt build, providing fast and completely open source CI) as well as on the social side: the whole team at Lightbend spends a significant amount of time providing feedback on pull requests, giving advice on compiler and library development via gitter and other forums.
Scaladex - The new Scala package index
During her keynote, Miller asked the question, “What do Node, Haskell, and Rust have in common that Scala doesn’t?” The answer was: "A package index!"
Miller explained:
We believe very much that if you develop an open source library and you publish it through Maven or something else, you shouldn’t have to be a good salesman to get your library used by people.
This new package index, introduced as Scaladex, is a map of the Scala ecosystem that is based off published Scala libraries and generated from resources such as POMs, GitHub, and StackOverflow. Developers have a place to publish their own Scala libraries to share with the Scala community and can add configuration information and a “Scala community” badge to their GitHub README files. As Miller stated, “We want to give a voice to great projects without the need for marketing and publicity.”
Miller discussed some possible benefits of Scaladex:
- Demonstrate widely-used published libraries
- Parse and display important information from open-source build files
- Display licensing information
- Add the entire Scala ecosystem to the Lightbend community
- Link between documentation and modules
An August 9, 2016 blog post announced the release of a beta version of Scaladex.
SIP/SLIP - Community participation
The Scala Improvement Process (SIP) and Scala Library Improvement Process (SLIP) are two avenues for the Scala community to submit changes to the Scala programming language and libraries. Miller outlined a reformed SIP for developers in a July 12, 2016 blog post:
One initiative put forward by the members of the committee, and unanimously voted as an initiative that the Scala Center should immediately undertake was to clarify the governance of Scala, and to in particular focus on ensuring that there is an open, collaborative process in place for evolving the language and standard libraries.In pursuit of this goal, today, we’ve published a reformed Scala Improvement Specification and Submission Process.
One major goal in reforming this process is to ensure that all submitted SIPs are reviewed in a timely manner, and that SIP authors receive regular feedback on how to improve their proposals.
Miller also points out that there has been a “tendency of submitted SIPs to get stuck in the queue.” InfoQ asked Moors if he was aware of any improvement in this area since the new SIP submission process has been implemented:
Yes, we’ve just had the first meeting using the new process and the response has been positive!
Moors was also asked if there are any SIP process leads at Lightbend. He replied:
We are closely involved, but we do not lead the community process. We at Lightbend have always felt it was in everyone’s best interest to have an entity like the Scala Center to represent the community, and are very glad this reality is now taking shape! Get involved and help create the future of Scala!
In summary, Miller’s message is that the Scala Center is “for the good of all” and “community = all of us.” The Scala Center and Lightbend encourage developers to contribute to the Scala ecosystem.