Giter Club home page Giter Club logo

sprees's Introduction

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 February 2024 in Nantes, France.

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

Nantes, France. Saturday, 17th of February 2024

We'd like to thank ScalaIO crew for hosting the event!

Time Saturday, 17th of February 2024 9:30-13:30
Location Le palace _icilundi, 4 rue voltaire, 44000 Nantes
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
Scala 3 Compiler Let's explore the compiler together and clean the issue tracker a bit. @anatoliykmetyuk
Scala Advent of Code Days 21 and 22 still need official solution, which we can work on during the Spree. @anatoliykmetyuk
Pillars Build your backend service in Scala 3 the easy way @rlemaitre

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!

sprees's People

Contributors

adpi2 avatar alexandru avatar alexarchambault avatar ambantis avatar anatoliykmetyuk avatar bishabosha avatar darjutak avatar duhemm avatar dwijnand avatar gedochao avatar heathermiller avatar holdenk avatar holograph avatar iusildra avatar julienrf avatar jvican avatar larsrh avatar laughedelic avatar olafurpg avatar pjazdzewski1990 avatar propensive avatar raboof avatar sethtisue avatar sjrd avatar smarter avatar szymon-rd avatar tgodzik avatar tues avatar vil1 avatar xingyif avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sprees's Issues

Add guidelines on how to add projects to a hackathon

Write small document explaining:

  • Organization of the hackathon. Duration, pace, steps.
  • Steps to add a project to a Scala Center hackathon.
  • Suggestions on how to be a good maintainer.
  • Suggestions on how to write good issues.
  • Suggestions on how to guide first-time contributors.

I will use my experience running hackathons to write those guidelines.

Fix readme with all Lambda World projects

There have been some changes that I merged and make the README a little bit inconsistent, since it mixes details from both Scala IO and Lambda World.

Tomorrow morning I will work on adding only Lambda World details and putting all Scala io spree details in another document, with a link to it from the README. @julienrf

/cc @Duhemm Any chance we can add scala-native to the project list? It would be awesome to have some spree tickets there.

add "spree" label to scala/scala issues for next spree

well, this is daunting. there are 1,967 open issues at https://github.com/scala/bug

499 of them are labeled "quickfix": https://github.com/scala/bug/issues?q=is%3Aopen+is%3Aissue+label%3Aquickfix

help is needed even doing the triaging. the label may have been inappropriately applied in some cases, there are may be duplicates, etc. the number 499 seems suspiciously high to me. I looked at https://github.com/adriaanm/bbj/blob/master/src/main/scala/bbj/JiraExport.scala just now and it looks like all issues that had priority of "Minor" or "Trivial" are now labeled quick fix, in addition to all the issues that had the "low-hanging-fruit" tag.

the "Trivial" priority is probably usually correct, and I think the "low-hanging-fruit" tag was usually correct, too, but I think lots of "Minor" tickets were given that priority not because they were easy, but because someone thought they were of lesser importance.

under the circumstances, at present the easiest way to find eligible tickets is to search JIRA, actually ๐Ÿ˜ข

well, that's still a lot.

but anyway, once you find a JIRA issue with a URL such as https://issues.scala-lang.org/browse/SI-1234, the URL for the corresponding issue on GitHub is scala/bug#1234

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.