• Stars
    star
    111
  • Rank 314,510 (Top 7 %)
  • Language
  • Created about 8 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Scala Open Source Sprees: join us and learn how to contribute to open source!

Open Source Spree

The focus of Scala Sprees is to help newcomers and veterans alike participate in open source! Come meet contributors of well-known open source Scala projects and learn how you can make your own contribution.

The next spree is planned for September 2023 in Madrid.

Your challenge? Get one pull request merged into one of the projects, and get this awesome t-shirt:

Madrid, Spain. Friday, 15th of September 2023

We'd like to thank Habla Computing, the functional architecture studio, for hosting the event!

Habla Computing Logo

Time Friday, 15th of September 2023, 13:30-17:00
Location room 101, Universidad Rey Juan Carlos – Sede Madrid-ArgΓΌelles, C. de Quintana, 21, 28008 Madrid, Spain)
Event Registration https://airtable.com/shrwSI11zJHmh7CkZ
Bring laptop + power cord

Projects

If you are a maintainer of an OSS project and would like to mentor someone during the Spree on your project, please fill in the form, indicating that you would like to be a mentor.

Project Description Contact
docs.scala-lang.org Scala 3 additions, new material, restructuring, translations @bishabosha, @SethTisue
The Scala Toolkit Tookit introduces libraries for everyday tasks in Scala! We are in round 2 of selecting candidates @bishabosha, @szymon-rd
Doric Type safe Spark columns @alfonsorr, @eruizalo
Scala's Advent of Code contribute solutions and explanations for 2022, 2021 and earlier @bishabosha
Scala 3 Compiler linting, semanticdb, parsing, error messages, new features, etc. @smarter, @bishabosha, @SethTisue, @szymon-rd
TASTy Query static analysis of your classpath and the definitions within @bishabosha
all scala/* repos any of the Scala org's repos that interest you, I can help with @SethTisue
Scala Debug Adapter VS Code debugger for Scala @iusildra
Scala Metals Scala language server with rich IDE feature @tanishiking

Duration, pace steps

At the beginning, maintainers gather together in front of all the contributors to briefly explain their projects and tickets in one minute. The idea is to give a good high-level explanation to motivate participants without going into too much detail. A link to this page is provided.

When they are done, participants approach the projects they are most interested in and speak with the maintainers. Maintainers can listen to the participants' experience and provide guidance on what tickets would suit them.

Then, the fun begins! Participants start hacking on their projects and maintainers review PRs as they come, assisting participants when they ask for help. We encourage maintainers to merge as many PRs on the spot if possible, for two reasons:

  1. Participants get a small token of appreciation from the Scala Center.
  2. It increases the motivation of the participants.

If a participant gets their first PR merged, they are invited to continue solving issues until they are happy with their work!

At the middle of the spree, the Scala Center and sponsors of the event provide maintainers and participants alike with some refreshment (drinks, sandwiches, pizza, etc).

Participants can leave the event at any time they want. When the time approaches the end, everyone starts to wrap up: participants finish their PRs while maintainers finish their review, and organizers of the spree give away Scala t-shirts. We finish by thanking your hard work for open-source.

For Maintainers

How to propose a project

A Scala Center spree is the perfect event to gauge interest in your open-source projects. You not only have the opportunity to get new contributors involved in your project, but you can make friends and co-maintainers that help you make a difference in the open-source world.

There is only one requirement to submit a project -- you need to be present for the duration of the Scala Center spree. Your physical presence is important to assist and motivate contributors.

If you are a maintainer of an open-source Scala project, fill in the registration form and we will get in touch with you.

What you need to do

Create a PR with the following information:

  • Project information.
  • Your contact details.
  • A link to a "spree" or "hackathon" label with curated tickets for the participants. See this project for inspiration.

It's important that the curated tickets are entry-level, typical issues that you would solve in 15-20 minutes of your time as an experienced maintainer. In our experience, newcomers will take 1 to 2 hours to address them, assuming they are unfamiliar with the codebase and this is their first contribution.

How to be an effective maintainer

Maintainers can make a difference by tweaking some knobs:

  • Provide a CONTRIBUTING guide. Contributing guides explain to newcomers the usual workflow to get started and what's expected from them. Good guides: scala/scala, sbt/zinc, scalameta/scalameta, scalacenter/scalafix.
  • Provide a motivating README with clear instructions. Make sure docs are up to date.
  • Link to documentation when possible, or show contributors how to search for docs. You can label as docs any issue or PR with relevant discussions to get acquainted with implementation details and design decisions.
  • Be nice to newcomers, they will always remember it!

How to write good tickets

Curating tickets is not easy. If you want to optimize for the highest number of contributors, we recommend you to:

  • Give hints on potential solutions. Say which solutions are not on the table, if any.
  • Describe the purpose of the ticket and its context. Having a clear idea of why your ticket is relevant will motivate participants.
  • Add links to source code sparingly. Show the entry-points for the requested functionality / fix, give a basic explanation of the code structure.
  • Be concise and detail specifics of your project or its implementation. Providing this kind of domain knowledge to participants will help them finish off their tickets sooner, and move to the next one!

More Repositories

1

bloop

Bloop is a build server and CLI tool to compile, test and run Scala fast from any editor or build tool.
Scala
898
star
2

scalafix

Refactoring and linting tool for Scala
Scala
831
star
3

scastie

An interactive playground for Scala
Scala
431
star
4

scala-3-migration-guide

The Scala 3 migration guide for everyone.
Scala
237
star
5

scalajs-bundler

Scala
235
star
6

scaladex

The Scala Package Index
Scala
197
star
7

sbt-missinglink

An sbt plugin for missinglink
Scala
133
star
8

scalac-profiling

Compilation profiling tool for Scala 2 projects
Scala
129
star
9

macros

Archived - Scala Macros
Scala
123
star
10

scala3-migrate

A tool to help migrating from Scala 2 to Scala 3
Scala
102
star
11

advisoryboard

Scala Center Advisory Board planning
Scala
101
star
12

sbt-scalafix

sbt plugin for Scalafix
Scala
88
star
13

sbt-version-policy

Compatibility checks for your dependencies
Scala
81
star
14

sbt-dependency-submission

A Github Action to submit the dependency graph of an sbt build to the Dependency Submission API
Scala
58
star
15

scala-debug-adapter

Implementation of the Debug Adapter Protocol for Scala
Scala
56
star
16

scala-advent-of-code

Scala Center's solution of Advent of Code
Scala
54
star
17

tasty-query

Scala
47
star
18

GoogleSummerOfCode

Ideas list for GSoC 2024 mentored by Scala Center
38
star
19

course-management-tools

Course Management tools
Scala
28
star
20

classpath-shrinker

Scalac plugin to detect classpath entries that aren't directly used
Scala
28
star
21

sbtfix

Scalafix rewrites to migrate from sbt 0.13 to 1.0.
Scala
23
star
22

tooling-working-groups

Scala Tooling Working Groups
20
star
23

sbt-eviction-rules

An sbt plugin enhancing the evicted key.
Scala
19
star
24

scala-syntax

Scalameta pretty printer for better Scalafix refactorings
Scala
17
star
25

mix-macros-scala-2-and-3

Demo mixing definitions of macros for Scala 2 and 3 in one source file
Scala
17
star
26

GoogleSummerOfCode2021

16
star
27

simple-rockets-compiler

A Scala 3 DSL to compile programs for SimpleRockets 2
Scala
11
star
28

scalafix.g8

Giter8 template to implement custom rewrites
Scala
10
star
29

tasty-mima

TASTy Migration Manager
Scala
9
star
30

load-plugin

A sbt helper to programmatically load plugins
Scala
9
star
31

scaladex-contrib

pom => github
8
star
32

student-projects

The list of the available projects at the Scala Center for bachelor and master students.
8
star
33

tasty-reader-compat-testkit

Validating the TASTy Reader for Scala 2 with external projects that are published for Scala 3
Scala
8
star
34

gradle-bloop

Gradle plugin for Bloop
Scala
7
star
35

accessible-scala

SCP-016: Accessible Scala
Scala
7
star
36

effective-scala-slide-code

Scala
6
star
37

platform

The Scala Platform process and the tools around it.
Scala
6
star
38

library-example

Scala
6
star
39

ambassadors

This repo contains the materials for the Scala Center ambassadors to be used in their activities
5
star
40

sbt-tasty-mima

sbt plugin for TASTy-MiMa
Scala
4
star
41

sbt-scalafix-example

Example sbt build using scalafix
Scala
4
star
42

example-scalafix-rule

Scala
3
star
43

scaladex-index

bintray search meta, bintray poms, sonatype poms, users poms, live data
3
star
44

scalafix-named-literal-arguments

Example Scalafix rule to insert named arguments for boolean literals. This repo only exists for documentation purposes. The rule itself is not intended to be used
Scala
3
star
45

homebrew-bloop

Homebrew formula for Bloop
Ruby
2
star
46

bloop-maven-plugin

Maven Plugin for Bloop
Scala
2
star
47

versions

Scala
2
star
48

scala3-migration-course

A Scala 3 migration course based on sbt-scala3-migrate
Scala
1
star
49

intellij-scala-quickinstall

EXPERIMENT - Single-click install script for IntelliJ + Scala plugin
1
star
50

scaladex-small-index

1
star
51

sbt-github-dependency-graph

An sbt plugin to submit your dependencies to the Github Dependency Graph API.
Scala
1
star
52

accessible-scala-demo

CSS
1
star
53

scalacenter.github.io

HTML
1
star
54

bloop-config

Bloop configuration library
Scala
1
star
55

snake-workshop

Workshop for Scalabase 2021
Scala
1
star