├── 2016 └── lambda-world.md ├── 2017 ├── flatmap.md ├── scalasphere.md ├── scala-io.md ├── scalaworld.md ├── scaladays-cph.md └── lambdaworld.md ├── 2018 ├── curryon-amsterdam.md ├── scaladaysnyc.md └── scalaio2018.md ├── 2019 └── scaladays.md ├── 2020 └── bern.md ├── 2022 ├── paris.md └── warsaw.md ├── 2023 ├── habla_computing_logo.png ├── madrid.md └── usa.md ├── .gitignore └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .metals/ -------------------------------------------------------------------------------- /2023/habla_computing_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalacenter/sprees/HEAD/2023/habla_computing_logo.png -------------------------------------------------------------------------------- /2017/flatmap.md: -------------------------------------------------------------------------------- 1 | # [flatMap(Oslo) 2017](http://2017.flatmap.no/) 2 | 3 | 4 | | Project | Issues | Related links | Contact | 5 | | ------- | ------ | ------------- | ------- | 6 | | scalafmt | ["hackathon"][scalafmt] | [quick-help][scalafmt-contrib] | [@olafurpg][olafurpg] | 7 | | scalameta | [prettyprinter][prettyprinter] | [tutorial][scalameta-contrib] | [@olafurpg][olafurpg] | 8 | | dotty | ["help wanted"][dotty] | [Docs][dotty-contrib] | [@felixmulder][felixmulder] | 9 | | contextual | ["help wanted"][contextual] | | [@propensive][propensive] | 10 | 11 | # Contributions 12 | 13 | * [propensive/contextual#17](https://github.com/propensive/contextual/pull/17) 14 | * [lampepfl/dotty#2341](https://github.com/lampepfl/dotty/pull/2341) 15 | * [scalameta/scalameta#825](https://github.com/scalameta/scalameta/pull/825) 16 | * [scalameta/scalameta#826](https://github.com/scalameta/scalameta/pull/826) 17 | * [scalameta/scalafmt#919](https://github.com/scalameta/scalafmt/pull/919) 18 | * [scala-js/scala-js#2919](https://github.com/scala-js/scala-js/pull/2919) 19 | 20 | 21 | [propensive]: https://github.com/propensive 22 | [olafurpg]: https://github.com/olafurpg 23 | [felixmulder]: https://github.com/felixmulder 24 | 25 | [prettyprinter]: https://github.com/scalameta/scalameta/issues/567 26 | [contextual]: https://github.com/propensive/contextual/labels/help%20wanted 27 | [dotty]: https://github.com/lampepfl/dotty/labels/help%20wanted 28 | [scalafmt]: https://github.com/scalameta/scalafmt/labels/hackathon 29 | [scalameta]: https://github.com/scalameta/scalameta/labels/hackathon 30 | 31 | [dotty-contrib]: http://dotty.epfl.ch/docs/index.html 32 | [scalafmt-contrib]: https://github.com/scalameta/scalafmt/blob/master/Tutorial.md 33 | [scalameta-contrib]: http://scalameta.org/tutorial 34 | 35 | 36 | -------------------------------------------------------------------------------- /2016/lambda-world.md: -------------------------------------------------------------------------------- 1 | # Lambda World 2 | 3 | | Project | Contact | 4 | | ------------- | ------------- | 5 | | [scala-exercises](https://github.com/scala-exercises/scala-exercises), [issues](https://gist.github.com/raulraja/9267f5c98c92eafe5b2abbf1d22027d8) | Raul, Fede, Paco | 6 | | [scaladex](https://github.com/scalacenter/scaladex/issues?q=is%3Aissue+is%3Aopen+label%3Ahackathon) | Jorge | 7 | | [scalafmt](https://github.com/olafurpg/scalafmt/issues?q=is%3Aissue+is%3Aopen+label%3Ahackathon), ["Hacking on scalafmt"](https://github.com/olafurpg/scalafmt#hacking-on-scalafmt) | Olaf | 8 | | [scala.meta](https://github.com/scalameta/scalameta/issues?q=is%3Aissue+is%3Aopen+label%3AHackathon) | Jorge, Olaf | 9 | | [rapture](https://github.com/propensive/rapture/issues/242) | Jon | 10 | | [cats](https://github.com/typelevel/cats/issues?q=is%3Aopen+is%3Aissue+label%3A%22low-hanging+fruit%22) | Erik, Juan Manuel | 11 | | [jawn](https://github.com/non/jawn/issues) | Erik | 12 | | Your project here? Don't hesitate to send us a PR :) | | 13 | 14 | 15 | 16 | # Contributed PRs 17 | 18 | * [scalameta/scalameta#498](https://github.com/scalameta/scalameta/pull/498) 19 | * [typelevel/cats#1398](https://github.com/typelevel/cats/pull/1398) 20 | * [scala-exercises/exercises-scalacheck#17](https://github.com/scala-exercises/exercises-scalacheck/pull/17) 21 | * [olafurpg/scalafmt#482](https://github.com/olafurpg/scalafmt/pull/482) 22 | * [olafurpg/scalafmt#483](https://github.com/olafurpg/scalafmt/pull/483) 23 | * [olafurpg/scalafmt#484](https://github.com/olafurpg/scalafmt/pull/484) 24 | * [propensive/rapture#245](https://github.com/propensive/rapture/pull/245) 25 | * [propensive/rapture#244](https://github.com/propensive/rapture/pull/244) 26 | * [propensive/rapture#243](https://github.com/propensive/rapture/pull/243) 27 | * [scalacenter/scaladex#264](https://github.com/scalacenter/scaladex/pull/264) 28 | * [scalacenter/scaladex#265](https://github.com/scalacenter/scaladex/pull/265) 29 | * [scalacenter/scaladex#266](https://github.com/scalacenter/scaladex/pull/266) 30 | * [scalacenter/scaladex#268](https://github.com/scalacenter/scaladex/pull/268) 31 | -------------------------------------------------------------------------------- /2018/curryon-amsterdam.md: -------------------------------------------------------------------------------- 1 | ## CurryOn 2018 (Amsterdam) July 18th 2 | 3 | | | | 4 | | ----------------------- | ------------------------------------------------------------------------------------------ | 5 | | Time | July 18th, 02:30pm - 09:00pm | 6 | | Location | HQ ING NL [Bijlmerdreef 24, Amsterdam Zuid Oost.][venue] | 7 | | Conference registration | **Not Required** | 8 | | Event Registration | **Free, required**: [event-registration](https://www.meetup.com/amsterdam-scala/events/252627071/) | 9 | | Food | **Free**: Sponsored by ING | 10 | | Bring | Laptop + Power Cord + ID for security check | 11 | 12 | [venue]: https://www.google.com/maps/place/Acanthus,+Bijlmerdreef+24,+1102+CT+Amsterdam,+Netherlands/data=!4m2!3m1!1s0x47c60b91227b1f3d:0x8f2538ebec1b00c5?sa=X&ved=0ahUKEwid_56isYvcAhVJc98KHTUwAUwQ8gEIKjAA 13 | [event-registration]: ??? 14 | 15 | 16 | ### Detailed Schedule 17 | | | | 18 | | ----------------------- | -------------------------------------| 19 | | Start Time | 2:30 PM | 20 | | Opening Remark | 3 PM | 21 | | Contributing | 3:30 PM | 22 | | Dinner & Networking | 7 PM | 23 | | Heather Miller's Talk | 8 PM | 24 | 25 | 26 | 27 | ### Projects (**Maintainers: Please add your project here!**) 28 | 29 | Here is a list of projects that you could contribute to during the spree: 30 | 31 | | Project | Contact | 32 | | ----------------------------------------------------------------------------------------- | ------------------- | 33 | | [Akka] - toolkit for concurrent, distributed, and resilient message-driven applications | [@raboof] | 34 | | [scala-lang.org] - scala.lang.org / [docs.scala-lang.org] - docs.scala-lang.org | [@Philippus] | 35 | | Add your project here! | | 36 | 37 | Who will be leading the Scala Open Source Spree? 38 | 39 | * Heather Miller, [@heathermiller] (Scala Center, CMU) 40 | * Darja Jovanovic, [@darjutak] (Scala Center) 41 | * Yifan Xing, [@yifanxing] 42 | 43 | Want to add your project to the list? Jump to the next section! 44 | 45 | [@darjutak]: https://github.com/darjutak 46 | [@heathermiller]: https://github.com/heathermiller 47 | [@yifanxing]: https://github.com/xingyif 48 | [@raboof]: https://github.com/raboof 49 | [@Philippus]: https://github.com/Philippus 50 | 51 | [Akka]: https://github.com/akka/akka/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22 52 | [scala-lang.org]: https://github.com/scala/scala-lang/issues 53 | [docs.scala-lang.org]: https://github.com/scala/docs.scala-lang/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 54 | 55 | -------------------------------------------------------------------------------- /2018/scaladaysnyc.md: -------------------------------------------------------------------------------- 1 | # [ScalaDays 2018 (New York)](https://na.scaladays.org/) June 19th 2 | 3 | | | | 4 | | ----------------------- | ------------------------------------------------------------------------------------------ | 5 | | Time | June 19th, 09:00am - 04:00pm | 6 | | Location | [60 Madison Ave, New York, NY 10010, United States][venue] (12th floor, sponsored by Tapad | 7 | | Conference registration | **Not Required** | 8 | | Event Registration | **Free, required**: [event-registration] | 9 | | Food | **Free**: Sponsored by Lightbend. | 10 | | Bring | Laptop + ID for security check | 11 | 12 | [venue]: https://goo.gl/maps/YAg5eNZtN3y 13 | [event-registration]: https://goo.gl/forms/Rn624OQKXaDUhtpk2 14 | 15 | ### Projects 16 | 17 | Here is a list of projects that you could contribute to during the spree: 18 | 19 | | Project | Contact | 20 | | ----------------------------------------------------------------------------------------- | ------------------- | 21 | | [Bloop] - Scala build server and command-line tool for faster developer workflows | [@duhemm] [@jvican] | 22 | | [sbt] - the Scala ecosystem's build tool | [@eed3si9n] [@dwijnand] | 23 | | [Dotty] - The research compiler that will become Scala 3 | [@smarter] [@duhemm] | 24 | | Help upgrade community projects to the new collections in Scala 2.13 | adriaanm | 25 | | [Magnolia] - simpler, faster generic derivation with better diagnostics | [@propensive] | 26 | | [Kaleidoscope] - support for constructing and pattern matching new types of literals | [@propensive] | 27 | | [scala-library]/[collection-strawman] - improve API documentation, fix remaining issues | [@julienrf] | 28 | | add your project here! | | 29 | 30 | Who will be leading the Scala Open Source Spree? 31 | 32 | * Darja Jovanovic, [@darjutak] (Scala Center) 33 | 34 | 35 | [@laughedelic]: https://github.com/laughedelic 36 | [@smarter]: https://github.com/smarter 37 | [@eed3si9n]: https://github.com/eed3si9n 38 | [@dwijnand]: https://github.com/dwijnand 39 | [@cunei]: https://github.com/cunei 40 | [@olafurpg]: https://github.com/olafurpg 41 | [@darjutak]: https://github.com/darjutak 42 | [@duhemm]: https://github.com/Duhemm 43 | [@julienrf]: https://github.com/julienrf 44 | [@jvican]: https://github.com/jvican 45 | [@propensive]: https://github.com/propensive 46 | [@allanrenucci]: https://github.com/allanrenucci 47 | [@nicolasstucki]: https://github.com/nicolasstucki 48 | [bloop]: https://github.com/scalacenter/bloop/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22 49 | [Guillotine]: https://github.com/propensive/guillotine 50 | [Magnolia]: https://github.com/propensive/magnolia 51 | [Kaleidoscope]: https://github.com/propensive/kaleidoscope 52 | [scala native]: https://github.com/scala-native/scala-native 53 | [dotty]: https://github.com/lampepfl/dotty/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22 54 | [metals]: https://github.com/scalameta/metals/labels/good%20first%20issue 55 | [sbt]: https://github.com/sbt/sbt/labels/good%20first%20issue 56 | [scala-library]: https://github.com/scala/bug/issues?q=is%3Aopen+label%3Acollections+label%3A%22good+first+issue%22 57 | [collection-strawman]: https://github.com/scala/collection-strawman/issues?q=is%3Aopen+label%3A%22low+hanging+fruit%22+label%3Aready 58 | [scalameta]: https://github.com/scalameta/scalameta/labels/Good%20first%20contribution 59 | [scalafmt]: https://github.com/scalameta/scalafmt/labels/good%20first%20time%20contribution 60 | [scalafix]: https://github.com/scalacenter/scalafix/labels/good%20first%20issue 61 | [metadoc]: https://github.com/scalameta/metadoc/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22+sort%3Aupdated-desc 62 | -------------------------------------------------------------------------------- /2017/scalasphere.md: -------------------------------------------------------------------------------- 1 | # [Scalasphere 2017](http://scalasphere.org/) 2 | 3 | 4 | | Project | Issues | Related links | Contact | 5 | | ------- | ------ | ------------- | ------- | 6 | | scastie | ["hackathon"][scastie] | [contributing][scastie-contrib] | [@olafurpg][olafurpg], [@MasseGuillaume][MasseGuillaume] | 7 | | scalafix | ["hackathon"][scalafix] | [contributing][scalafix-contrib] | [@olafurpg][olafurpg] | 8 | | scalafmt | ["hackathon"][scalafmt] | [quick-help][scalafmt-contrib] | [@olafurpg][olafurpg] | 9 | | scala.meta | ["hackathon"][scalameta] | [tutorial][scalameta-contrib] | [@olafurpg][olafurpg], [@xeno-by][xeno-by] | 10 | | Zinc | ["hackathon"][zinc] | [contributing][zinc-contrib] | [@jvican][jvican], [@dwijnand][dwijnand], [@eed3si9n][eed3si9n] | 11 | | sbt | ["hackathon"][sbt] | [contributing][sbt-contrib] | [@dwijnand][dwijnand], [@eed3si9n][eed3si9n], [@jvican][jvican] | 12 | | Scaladex | ["hackathon"][scaladex] | [contributing][scaladex-contrib] | [@MasseGuillaume][MasseGuillaume], [@jvican][jvican] | 13 | | Hoarder | ["hackathon"][hoarder] | [contributing][hoarder-contrib] | [@romanowski][romanowski] | 14 | | Ensime Scala Debugger | ["hackathon"][ensime-scala-debugger] | [contributing][ensime-scala-debugger-contrib] | [@chipsenkbeil][chipsenkbeil] [@fommil][fommil] | 15 | 16 | # Contributions 17 | 18 | * [romanowski/hoarder#16](https://github.com/romanowski/hoarder/issues/16) 19 | * [romanowski/hoarder#17](https://github.com/romanowski/hoarder/issues/17) 20 | * [scalameta/scalameta#713](https://github.com/scalameta/scalameta/pull/713) 21 | * [scalameta/scalameta#722](https://github.com/scalameta/scalameta/pull/722) 22 | * [olafurpg/scalafmt#769](https://github.com/olafurpg/scalafmt/pull/769) 23 | * [olafurpg/scalafmt#770](https://github.com/olafurpg/scalafmt/pull/770) 24 | * [olafurpg/scalafmt#771](https://github.com/olafurpg/scalafmt/pull/771) 25 | * [olafurpg/scalafmt#772](https://github.com/olafurpg/scalafmt/pull/772) 26 | * [olafurpg/scalafmt#773](https://github.com/olafurpg/scalafmt/pull/773) 27 | * [olafurpg/scalafmt#776](https://github.com/olafurpg/scalafmt/pull/776) 28 | 29 | 30 | [MasseGuillaume]: https://github.com/MasseGuillaume 31 | [xeno-by]: https://github.com/xeno-by 32 | [olafurpg]: https://github.com/olafurpg 33 | [jvican]: https://github.com/jvican 34 | [eed3si9n]: https://github.com/eed3si9n 35 | [dwijnand]: https://github.com/dwijnand 36 | [romanowski]: https://github.com/romanowski 37 | [chipsenkbeil]: https://github.com/chipsenkbeil 38 | [fommil]: https://github.com/fommil 39 | 40 | [scalafmt]: https://github.com/olafurpg/scalafmt/labels/hackathon 41 | [scalameta]: https://github.com/scalameta/scalameta/labels/hackathon 42 | [scalafix]: https://github.com/scalacenter/scalafix/labels/hackathon 43 | [scastie]: https://github.com/scalacenter/scastie/labels/hackathon 44 | [zinc]: https://github.com/sbt/zinc/labels/hackathon 45 | [scaladex]: https://github.com/scalacenter/scaladex/labels/hackathon 46 | [sbt]: https://github.com/sbt/sbt/projects/3 47 | [hoarder]: https://github.com/romanowski/hoarder 48 | [ensime-scala-debugger]: https://github.com/ensime/scala-debugger 49 | 50 | [scastie-contrib]: https://github.com/scalacenter/scastie/blob/master/CONTRIBUTING.md 51 | [scalafix-contrib]: https://github.com/scalacenter/scalafix/blob/master/CONTRIBUTING.md 52 | [scalafmt-contrib]: https://github.com/olafurpg/scalafmt#quick-help 53 | [scalameta-contrib]: http://scalameta.org/tutorial/ 54 | [zinc-contrib]: https://github.com/sbt/zinc/blob/1.0/CONTRIBUTING.md 55 | [scaladex-contrib]: https://github.com/scalacenter/scaladex/blob/master/doc/dev/README.md 56 | [sbt-contrib]: https://github.com/sbt/sbt/tree/0.13 57 | [hoarder-contrib]: https://github.com/romanowski/hoarder/blob/master/README.md 58 | [ensime-scala-debugger-contrib]: https://github.com/ensime/scala-debugger/blob/master/CONTRIBUTING.md 59 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Open Source Spree 2 | 3 | The focus of Scala Sprees is to help newcomers and veterans alike participate 4 | in open source! Come meet contributors of well-known open source Scala projects and 5 | learn how you can make your own contribution. 6 | 7 | The next spree is planned for February 2024 in Nantes, France. 8 | 9 | **Your challenge?** Get one pull request merged into one of the projects, and 10 | get this awesome t-shirt: 11 | ![](https://pbs.twimg.com/media/CtnCrtvWAAAO0nE.jpg:small) 12 | 13 | ## Nantes, France. Saturday, 17th of February 2024 14 | 15 | We'd like to thank [ScalaIO](https://scala.io/) crew for hosting the event! 16 | 17 | | | | 18 | |--------------------|-------------------------------------------------------------------------------------------------| 19 | | Time | Saturday, 17th of February 2024 9:30-13:30 | 20 | | Location | Le palace _icilundi, 4 rue voltaire, 44000 Nantes | 21 | | Event Registration | | 22 | | Bring | laptop + power cord | 23 | 24 | ### Projects 25 | 26 | 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](https://airtable.com/shrwSI11zJHmh7CkZ), indicating that you would like to be a mentor. 27 | 28 | | Project |Description | Contact | 29 | |--------------------------------------------------------------------------------------|------------|----------------------------------------------------------------------| 30 | | [Scala 3 Compiler](https://github.com/lampepfl/dotty) | Let's explore the compiler together and clean the issue tracker a bit. | [@anatoliykmetyuk](https://github.com/anatoliykmetyuk) | 31 | | [Scala Advent of Code](https://scalacenter.github.io/scala-advent-of-code/2023/) | Days 21 and 22 still need official solution, which we can work on during the Spree. | [@anatoliykmetyuk](https://github.com/anatoliykmetyuk) | 32 | | [Pillars](https://github.com/rlemaitre/pillars) | Build your backend service in Scala 3 the easy way | [@rlemaitre](https://github.com/rlemaitre) | 33 | 34 | ## Duration, pace steps 35 | 36 | At the beginning, maintainers gather together in front of all the contributors 37 | to briefly explain their projects and tickets in one minute. The idea is to give 38 | a good high-level explanation to motivate participants without going into too 39 | much detail. A link to this page is provided. 40 | 41 | When they are done, participants approach the projects they are most 42 | interested in and speak with the maintainers. Maintainers can listen 43 | to the participants' experience and provide guidance on what tickets 44 | would suit them. 45 | 46 | Then, the fun begins! Participants start hacking on their projects and 47 | maintainers review PRs as they come, assisting participants when they ask for 48 | help. We encourage maintainers to merge as many PRs on the spot if possible, 49 | for two reasons: 50 | 51 | 1. Participants get a small token of appreciation from the Scala Center. 52 | 2. It increases the motivation of the participants. 53 | 54 | If a participant gets their first PR merged, they are invited to continue solving 55 | issues until they are happy with their work! 56 | 57 | At the middle of the spree, the Scala Center and sponsors of the event provide 58 | maintainers and participants alike with some refreshment (drinks, sandwiches, 59 | pizza, etc). 60 | 61 | Participants can leave the event at any time they want. When the time approaches 62 | the end, everyone starts to wrap up: participants finish their PRs while 63 | maintainers finish their review, and organizers of the spree give away Scala 64 | t-shirts. We finish by thanking your hard work for open-source. 65 | 66 | ## For Maintainers 67 | 68 | ### How to propose a project 69 | 70 | A Scala Center spree is the perfect event to gauge interest in your open-source 71 | projects. You not only have the opportunity to get new contributors involved in 72 | your project, but you can make friends and co-maintainers that help you 73 | make a difference in the open-source world. 74 | 75 | There is only one requirement to submit a project -- you need to be present for 76 | the duration of the Scala Center spree. Your physical presence is important to 77 | assist and motivate contributors. 78 | 79 | If you are a maintainer of an open-source Scala project, fill in the registration 80 | [form](https://airtable.com/shrwSI11zJHmh7CkZ) and we will get in touch with you. 81 | 82 | ### What you need to do 83 | 84 | Create a PR with the following information: 85 | 86 | - Project information. 87 | - Your contact details. 88 | - A link to a "spree" or "hackathon" label with curated tickets for the 89 | participants. See [this](https://github.com/lampepfl/dotty/issues?q=is%3Aopen+is%3Aissue+label%3ASpree) project for inspiration. 90 | 91 | It's important that the curated tickets are entry-level, typical issues that you 92 | would solve in 15-20 minutes of your time as an experienced maintainer. In our 93 | experience, newcomers will take 1 to 2 hours to address them, assuming they are 94 | unfamiliar with the codebase and this is their first contribution. 95 | 96 | ### How to be an effective maintainer 97 | 98 | Maintainers can make a difference by tweaking some knobs: 99 | 100 | - Provide a `CONTRIBUTING` guide. Contributing guides explain to newcomers the 101 | usual workflow to get started and what's expected from them. Good guides: 102 | [scala/scala](https://github.com/scala/scala/blob/2.13.x/CONTRIBUTING.md), 103 | [sbt/zinc](https://github.com/sbt/zinc/blob/develop/CONTRIBUTING.md), 104 | [scalameta/scalameta](https://github.com/scalameta/scalameta/blob/main/CONTRIBUTING.md), 105 | [scalacenter/scalafix](https://github.com/scalacenter/scalafix/blob/main/CONTRIBUTING.md). 106 | - Provide a motivating `README` with clear instructions. Make sure docs are up 107 | to date. 108 | - Link to documentation when possible, or show contributors how to search for 109 | docs. You can label as `docs` any issue or PR with relevant discussions to get 110 | acquainted with implementation details and design decisions. 111 | - [Be nice to newcomers](http://brson.github.io/2017/04/05/minimally-nice-maintainer), 112 | they will always remember it! 113 | 114 | ### How to write good tickets 115 | 116 | Curating tickets is not easy. If you want to optimize for the highest number of 117 | contributors, we recommend you to: 118 | 119 | - Give hints on potential solutions. Say which solutions are not on the table, 120 | if any. 121 | - Describe the purpose of the ticket and its context. Having a clear idea of why 122 | your ticket is relevant will motivate participants. 123 | - Add links to source code sparingly. Show the entry-points for the requested 124 | functionality / fix, give a basic explanation of the code structure. 125 | - Be concise and detail specifics of your project or its implementation. 126 | Providing this kind of domain knowledge to participants will help them finish 127 | off their tickets sooner, and move to the next one! 128 | -------------------------------------------------------------------------------- /2022/paris.md: -------------------------------------------------------------------------------- 1 | # Open Source Spree 2 | 3 | The focus of Scala Sprees is to introduce newcomers and veterans alike to open 4 | source! Come meet contributors of well-known open source Scala projects and 5 | learn how you can make your own contribution. 6 | 7 | **Your challenge?** Get one pull request merged into one of the projects, and 8 | get this awesome t-shirt: 9 | ![](https://pbs.twimg.com/media/CtnCrtvWAAAO0nE.jpg:small) 10 | 11 | [![Join the chat at https://gitter.im/scalacenter/sprees](https://badges.gitter.im/scalacenter/sprees.svg)](https://gitter.im/scalacenter/sprees?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 12 | 13 | ## Paris, France. Thursday, 3rd November 2022 14 | 15 | | | | 16 | | ------------------ | ---------------------------------------------------------------------------------------------------- | 17 | | Time | Thursday, 3rd November 2022, 13:30 | 18 | | Location | 81 rue de Clichy, Paris, 75009 | 19 | | Event Registration | https://scala.io/ | 20 | | Food | Pizza after the spree | 21 | | Bring | Laptop + Power Cord | 22 | 23 | ### Detailed Schedule 24 | 25 | | | | 26 | | ---------------- | ----- | 27 | | Start Time | 13:30 | 28 | | Coffee break | 15:00 | 29 | | Pizza | 16:30 | 30 | | End Time, Drinks | 17:30 | 31 | 32 | ### Projects (**Maintainers: Please add your project here!**) 33 | 34 | Here is a list of projects that you could contribute to during the spree: 35 | 36 | | Project | Contact | 37 | | --------------------------------------------------------------------------------------------- | ---------------- | 38 | | [TASTy Query] – a library for semantic analysis of Scala programs | [@bishabosha], [@sjrd] | 39 | | [Scaladex] — a Scala libraries search engine | [@adpi2] | 40 | | [Scala Debugger in Metals] — a debugger for Scala programs | [@adpi2] | 41 | | [Slinc] — Scala Link to C using Project Panama | [@markehammons] | 42 | | [Scala 2] | [@SethTisue] | 43 | | [Scala 3] | [@SethTisue] | 44 | | [scala-collection-compat] | [@SethTisue] | 45 | | [Scala Website] | [@julienrf] | 46 | | [sbt-version-policy] - a plugin to help enforce semantic versioning | [@julienrf] | 47 | | Add your project here! | | 48 | 49 | [@adpi2]: https://github.com/adpi2 50 | [@bishabosha]: https://github.com/bishabosha 51 | [@julienrf]: https://github.com/julienrf 52 | [@markehammons]: https://github.com/markehammons 53 | [@sjrd]: https://github.com/sjrd 54 | [@SethTisue]: https://github.com/SethTisue 55 | [Scala 2]: https://github.com/scala/bug/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 56 | [Scala 3]: https://github.com/lampepfl/dotty/issues?q=is%3Aopen+label%3ASpree+sort%3Aupdated-desc 57 | [scala-collection-compat]: https://github.com/scala/scala-collection-compat/labels/good%20first%20issue 58 | [TASTy Query]: https://github.com/scalacenter/tasty-query/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 59 | [Scaladex]: https://github.com/scalacenter/scaladex/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 60 | [Scala Debugger in Metals]: https://github.com/scalacenter/scala-debug-adapter/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 61 | [Slinc]: https://github.com/markehammons/slinc/issues 62 | [Scala Website]: https://github.com/scala/docs.scala-lang 63 | [sbt-version-policy]: https://github.com/scalacenter/sbt-version-policy 64 | 65 | Who will be leading the Scala Open Source Spree? 66 | 67 | - Anatolii Kmetiuk, [@anatoliykmetyuk] (Scala Center) 68 | 69 | [@anatoliykmetyuk]: https://github.com/anatoliykmetyuk 70 | 71 | Want to add your project to the list? Jump to the next section! 72 | 73 | ## Duration, pace steps 74 | 75 | At the beginning, maintainers gather together in front of all the contributors 76 | to briefly explain their projects and tickets in one minute. The idea is to give 77 | a good high-level explanation to motivate participants without going into too 78 | much detail. A link to this page is provided. 79 | 80 | When they are done, participants approach the projects they are most interested 81 | in and get it contact with the maintainers. At this point, maintainers usually 82 | listen to the participants' experience and provide personal guidance on tickets 83 | that would suit them. 84 | 85 | Then, the fun begins! Participants start hacking on their projects and 86 | maintainers review PRs as they come, assisting participants when they ask for 87 | help. We encourage maintainers to merge as many PRs as possible in the place, 88 | for two reasons: 89 | 90 | 1. Participants get a small token of appreciation from the Scala Center. 91 | 2. It increases the motivation of the participants. 92 | 93 | If participants get the first PR merged, they are invited to continue solving 94 | issues until they are happy with their work! 95 | 96 | At the middle of the spree, the Scala Center and sponsors of the event provide 97 | maintainers and participants alike with some refreshment (drinks, sandwiches, 98 | pizza, etc). 99 | 100 | Participants can leave the event at any time they want. When the time approaches 101 | the end, everyone starts to wrap up: participants finish their PRs while 102 | maintainers finish their review, and organizers of the spree give away Scala 103 | t-shirts. We finish by thanking your hard work for open-source. 104 | 105 | ## For Maintainers: 106 | 107 | ### How to propose a project 108 | 109 | A Scala Center spree is the perfect event to gauge interest in your open-source 110 | projects. You not only have the opportunity to get new contributors involved in 111 | your project, but you can win friends and lifetime maintainers that help you 112 | make a difference in the open-source world. 113 | 114 | There is only one requirement to submit a project -- you need to be present for 115 | the duration of the Scala Center spree. Your physical presence is important to 116 | assist and motivate contributors. 117 | 118 | If you are a maintainer of an open-source Scala project, make a PR to add your 119 | project to the list! 120 | 121 | ### What you need to do 122 | 123 | Create a PR with the following information: 124 | 125 | - Project information. 126 | - Your contact details. 127 | - A link to a "spree" or "hackathon" label with curated tickets for the 128 | participants. See 129 | [this project](https://github.com/sbt/zinc/issues?utf8=✓&q=label:hackathon%20is:issue) 130 | for inspiration. 131 | 132 | It's important that the curated tickets are entry-level, typical issues that you 133 | would solve in 15-20 minutes of your time as an experienced maintainer. In our 134 | experience, newcomers will take 1 to 2 hours to address them, assuming they are 135 | unfamiliar with the codebase and this is their first contribution. 136 | 137 | ### How to be an effective maintainer 138 | 139 | Maintainers can make a difference by tweaking some knobs: 140 | 141 | - Provide a `CONTRIBUTING` guide. Contributing guides explain to newcomers the 142 | usual workflow to get started and what's expected from them. Good guides: 143 | [scala/scala](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md), 144 | [sbt/zinc](https://github.com/sbt/zinc/blob/1.x/CONTRIBUTING.md), 145 | [scalameta/scalameta](https://github.com/scalameta/scalameta/blob/master/CONTRIBUTING.md), 146 | [scalacenter/scalafix](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md). 147 | - Provide a motivating `README` with clear instructions. Make sure docs are up 148 | to date. 149 | - Link to documentation when possible, or show contributors how to search for 150 | docs. You can label as `docs` any issue or PR with relevant discussions to get 151 | acquainted with implementation details and design decisions. 152 | - [Be nice to newcomers](http://brson.github.io/2017/04/05/minimally-nice-maintainer), 153 | they will always remember it! 154 | 155 | ### How to write good tickets 156 | 157 | Curating tickets is not easy. If you want to optimize for the highest number of 158 | contributors, we recommend you to: 159 | 160 | - Give hints on potential solutions. Say which solutions are not on the table, 161 | if any. 162 | - Describe the purpose of the ticket and its context. Having a clear idea of why 163 | your ticket is relevant will motivate participants. 164 | - Add links to source code sparingly. Show the entry-points for the requested 165 | functionality / fix, give a basic explanation of the code structure. 166 | - Be concise and detail specifics of your project or its implementation. 167 | Providing this kind of domain knowledge to participants will help them finish 168 | off their tickets sooner, and move to the next one! 169 | -------------------------------------------------------------------------------- /2019/scaladays.md: -------------------------------------------------------------------------------- 1 | # Open Source Spree 2 | 3 | The focus of Scala Sprees is to introduce newcomers and veterans alike to open 4 | source! Come meet contributors of well-known open source Scala projects and 5 | learn how you can make your own contribution. 6 | 7 | **Your challenge?** Get one pull request merged into one of the projects, and 8 | get this awesome t-shirt: 9 | ![](https://pbs.twimg.com/media/CtnCrtvWAAAO0nE.jpg:small) 10 | 11 | [![Join the chat at https://gitter.im/scalacenter/sprees](https://badges.gitter.im/scalacenter/sprees.svg)](https://gitter.im/scalacenter/sprees?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 12 | 13 | ## Lausanne, Switzerland. June 11th 2019 14 | 15 | | | | 16 | | ------------------ | ------------------------------------------------------------ | 17 | | Time | June 11th, 09:00 - 16:00 | 18 | | Location | EPFL building BC, 4th Floor, room no. 410, Lausanne, Switzerland | 19 | | Event Registration | Free [here](https://www.meetup.com/Scala-Romandie/events/261590615/) | 20 | | Food | Free! See detailed schedule. | 21 | | Bring | Laptop + Power Cord | 22 | 23 | ### Detailed Schedule 24 | 25 | | | | 26 | | ---------- | ------- | 27 | | Welcome Breakfast | 08:00 - 09:00 | 28 | | Start Time | 09:00 | 29 | | Coffee and fruits break | 11:00 | 30 | | Lunch | 12:30 | 31 | | End Time | 16:00 | 32 | 33 | ### Projects (**Maintainers: Please add your project here!**) 34 | 35 | Here is a list of projects that you could contribute to during the spree: 36 | 37 | | Project | Contact | 38 | | --------------------------------------------------------- | ---------------- | 39 | | [Coursier] — Library and CLI tool to manage dependencies | @alexarchambault | 40 | | [Almond] (aka jupyter-scala) — Scala kernel for Jupyter | @alexarchambault | 41 | | [Bloop] — Scala build server for fast developer workflows | @jvican | 42 | | [Scala.js] — scalac backend that produces JavaScript | @sjrd | 43 | | [scalac] — The Scala compiler and standard library | @sjrd, @szeiger | 44 | | [dotty] — The Scala 3 compiler | @smarter, @anatoliykmetyuk, ... | 45 | | [scalajs-bundler] — Integration with npm and webpack | @julienrf | 46 | | [endpoints] — Consistent HTTP client, server and docs | @julienrf | 47 | | [Metals] - Language Server for Scala | @olafurpg | 48 | | Add your project here! | | 49 | 50 | [almond]: https://github.com/almond-sh/almond/labels/low%20hanging%20fruit 51 | [coursier]: https://github.com/coursier/coursier/issues?q=is%3Aopen+is%3Aissue+label%3Aspree 52 | [scala.js]: https://github.com/scala-js/scala-js 53 | [scalac]: https://github.com/scala/bug/labels/good%20first%20issue 54 | [bloop]: https://github.com/scalacenter/bloop/labels/good%20first%20issue 55 | [intellij scala]: https://github.com/jetbrains/intellij-scala 56 | [scalajs-bundler]: 57 | https://github.com/scalacenter/scalajs-bundler/labels/low%20hanging%20fruit 58 | [cats]: https://github.com/typelevel/cats/issues 59 | [cats-collections]: https://github.com/typelevel/cats-collections 60 | [cats-mtl]: https://github.com/typelevel/cats-mtl 61 | [scaladex]: https://github.com/scalacenter/scaladex/labels/Scala%20Spree 62 | [graalvm]: https://github.com/oracle/graal 63 | [dotty]: 64 | https://github.com/lampepfl/dotty/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22 65 | [@smarter]: https://github.com/smarter 66 | [akka]: https://github.com/akka/akka 67 | [akka-http]: https://github.com/akka/akka-http 68 | [metals]: https://github.com/scalameta/metals 69 | [endpoints]: https://github.com/julienrf/endpoints 70 | 71 | Who will be leading the Scala Open Source Spree? 72 | 73 | - Darja Jovanovic, @darjutak (Scala Center) 74 | - Sébastien Doeraene, @sjrd (Scala Center) 75 | 76 | Want to add your project to the list? Jump to the next section! 77 | 78 | ## Duration, pace steps 79 | 80 | At the beginning, maintainers gather together in front of all the contributors 81 | to briefly explain their projects and tickets in one minute. The idea is to give 82 | a good high-level explanation to motivate participants without going into too 83 | much detail. A link to this page is provided. 84 | 85 | When they are done, participants approach the projects they are most interested 86 | in and get it contact with the maintainers. At this point, maintainers usually 87 | listen to the participants' experience and provide personal guidance on tickets 88 | that would suit them. 89 | 90 | Then, the fun begins! Participants start hacking on their projects and 91 | maintainers review PRs as they come, assisting participants when they ask for 92 | help. We encourage maintainers to merge as many PRs as possible in the place, 93 | for two reasons: 94 | 95 | 1. Participants get a small token of appreciation from the Scala Center. 96 | 2. It increases the motivation of the participants. 97 | 98 | If participants get the first PR merged, they are invited to continue solving 99 | issues until they are happy with their work! 100 | 101 | At the middle of the spree, the Scala Center and sponsors of the event provide 102 | maintainers and participants alike with some refreshment (drinks, sandwiches, 103 | pizza, etc). 104 | 105 | Participants can leave the event at any time they want. When the time approaches 106 | the end, everyone starts to wrap up: participants finish their PRs while 107 | maintainers finish their review, and organizers of the spree give away Scala 108 | t-shirts. We finish by thanking your hard work for open-source. 109 | 110 | ## For Maintainers: 111 | 112 | ### How to propose a project 113 | 114 | A Scala Center spree is the perfect event to gauge interest in your open-source 115 | projects. You not only have the opportunity to get new contributors involved in 116 | your project, but you can win friends and lifetime maintainers that help you 117 | make a difference in the open-source world. 118 | 119 | There is only one requirement to submit a project -- you need to be present for 120 | the duration of the Scala Center spree. Your physical presence is important to 121 | assist and motivate contributors. 122 | 123 | If you are a maintainer of an open-source Scala project, make a PR to add your 124 | project to the list! 125 | 126 | ### What you need to do 127 | 128 | Create a PR with the following information: 129 | 130 | - Project information. 131 | - Your contact details. 132 | - A link to a "spree" or "hackathon" label with curated tickets for the 133 | participants. See 134 | [this project](https://github.com/sbt/zinc/issues?utf8=✓&q=label:hackathon%20is:issue) 135 | for inspiration. 136 | 137 | It's important that the curated tickets are entry-level, typical issues that you 138 | would solve in 15-20 minutes of your time as an experienced maintainer. In our 139 | experience, newcomers will take 1 to 2 hours to address them, assuming they are 140 | unfamiliar with the codebase and this is their first contribution. 141 | 142 | ### How to be an effective maintainer 143 | 144 | Maintainers can make a difference by tweaking some knobs: 145 | 146 | - Provide a `CONTRIBUTING` guide. Contributing guides explain to newcomers the 147 | usual workflow to get started and what's expected from them. Good guides: 148 | [scala/scala](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md), 149 | [sbt/zinc](https://github.com/sbt/zinc/blob/1.x/CONTRIBUTING.md), 150 | [scalameta/scalameta](https://github.com/scalameta/scalameta/blob/master/CONTRIBUTING.md), 151 | [scalacenter/scalafix](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md). 152 | - Provide a motivating `README` with clear instructions. Make sure docs are up 153 | to date. 154 | - Link to documentation when possible, or show contributors how to search for 155 | docs. You can label as `docs` any issue or PR with relevant discussions to get 156 | acquainted with implementation details and design decisions. 157 | - [Be nice to newcomers](http://brson.github.io/2017/04/05/minimally-nice-maintainer), 158 | they will always remember it! 159 | 160 | ### How to write good tickets 161 | 162 | Curating tickets is not easy. If you want to optimize for the highest number of 163 | contributors, we recommend you to: 164 | 165 | - Give hints on potential solutions. Say which solutions are not on the table, 166 | if any. 167 | - Describe the purpose of the ticket and its context. Having a clear idea of why 168 | your ticket is relevant will motivate participants. 169 | - Add links to source code sparingly. Show the entry-points for the requested 170 | functionality / fix, give a basic explanation of the code structure. 171 | - Be concise and detail specifics of your project or its implementation. 172 | Providing this kind of domain knowledge to participants will help them finish 173 | off their tickets sooner, and move to the next one! 174 | -------------------------------------------------------------------------------- /2023/madrid.md: -------------------------------------------------------------------------------- 1 | # Open Source Spree 2 | 3 | The focus of Scala Sprees is to help newcomers and veterans alike participate 4 | in open source! Come meet contributors of well-known open source Scala projects and 5 | learn how you can make your own contribution. 6 | 7 | The next spree is planned for September 2023 in Madrid. 8 | 9 | **Your challenge?** Get one pull request merged into one of the projects, and 10 | get this awesome t-shirt: 11 | ![](https://pbs.twimg.com/media/CtnCrtvWAAAO0nE.jpg:small) 12 | 13 | ## Madrid, Spain. Monday, 15th of September 2023 14 | 15 | We'd like to thank Habla Computing, the functional architecture studio, for hosting the event! 16 | 17 | Habla Computing Logo 18 | 19 | | | | 20 | |--------------------|-------------------------------------------------------------------------------------------------| 21 | | Time | Friday, 15th of September 2023, 13:30-17:00 | 22 | | Location | Universidad Rey Juan Carlos – Sede Madrid-Argüelles, C. de Quintana, 21, 28008 Madrid, Spain) | 23 | | Event Registration | | 24 | | Bring | laptop + power cord | 25 | 26 | ### Projects 27 | 28 | 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](https://airtable.com/shrwSI11zJHmh7CkZ), indicating that you would like to be a mentor. 29 | 30 | | Project |Description | Contact | 31 | |--------------------------------------------------------------------------------------|------------|----------------------------------------------------------------------| 32 | | [docs.scala-lang.org](https://github.com/scala/docs.scala-lang) | Scala 3 additions, new material, restructuring, translations | [@bishabosha](https://github.com/bishabosha), [@SethTisue](https://github.com/SethTisue) | 33 | | [The Scala Toolkit](https://github.com/scala/toolkit) | Tookit introduces libraries for everyday tasks in Scala! We are in round 2 of selecting candidates | [@bishabosha](https://github.com/bishabosha) | 34 | | [Doric](https://github.com/hablapps/doric)| Type safe Spark columns | [@alfonsorr](https://github.com/alfonsorr) | 35 | | [Scala's Advent of Code](https://github.com/scalacenter/scala-advent-of-code)| contribute solutions and explanations for 2022, 2021 and earlier | [@bishabosha](https://github.com/bishabosha) | 36 | | [Scala 3 Compiler](https://github.com/lampepfl/dotty) | linting, semanticdb, parsing, error messages, new features, etc. | [@smarter](https://github.com/smarter), [@bishabosha](https://github.com/bishabosha), [@dwijnand](https://github.com/dwijnand), [@SethTisue](https://github.com/SethTisue) | 37 | | [TASTy Query](https://github.com/scalacenter/tasty-query) | static analysis of your classpath and the definitions within | [@bishabosha](https://github.com/bishabosha) | 38 | | [all scala/* repos](https://github.com/scala) | any of the Scala org's repos that interest you, I can help with | [@SethTisue](https://github.com/SethTisue) | 39 | | [Scala Debug Adapter](https://github.com/scalacenter/scala-debug-adapter) | VS Code debugger for Scala | [@iusildra](https://github.com/iusildra) 40 | 41 | 49 | 50 | ## Duration, pace steps 51 | 52 | At the beginning, maintainers gather together in front of all the contributors 53 | to briefly explain their projects and tickets in one minute. The idea is to give 54 | a good high-level explanation to motivate participants without going into too 55 | much detail. A link to this page is provided. 56 | 57 | When they are done, participants approach the projects they are most 58 | interested in and speak with the maintainers. Maintainers can listen 59 | to the participants' experience and provide guidance on what tickets 60 | would suit them. 61 | 62 | Then, the fun begins! Participants start hacking on their projects and 63 | maintainers review PRs as they come, assisting participants when they ask for 64 | help. We encourage maintainers to merge as many PRs on the spot if possible, 65 | for two reasons: 66 | 67 | 1. Participants get a small token of appreciation from the Scala Center. 68 | 2. It increases the motivation of the participants. 69 | 70 | If a participant gets their first PR merged, they are invited to continue solving 71 | issues until they are happy with their work! 72 | 73 | At the middle of the spree, the Scala Center and sponsors of the event provide 74 | maintainers and participants alike with some refreshment (drinks, sandwiches, 75 | pizza, etc). 76 | 77 | Participants can leave the event at any time they want. When the time approaches 78 | the end, everyone starts to wrap up: participants finish their PRs while 79 | maintainers finish their review, and organizers of the spree give away Scala 80 | t-shirts. We finish by thanking your hard work for open-source. 81 | 82 | ## For Maintainers 83 | 84 | ### How to propose a project 85 | 86 | A Scala Center spree is the perfect event to gauge interest in your open-source 87 | projects. You not only have the opportunity to get new contributors involved in 88 | your project, but you can make friends and co-maintainers that help you 89 | make a difference in the open-source world. 90 | 91 | There is only one requirement to submit a project -- you need to be present for 92 | the duration of the Scala Center spree. Your physical presence is important to 93 | assist and motivate contributors. 94 | 95 | If you are a maintainer of an open-source Scala project, fill in the registration 96 | [form](https://airtable.com/shrwSI11zJHmh7CkZ) and we will get in touch with you. 97 | 98 | ### What you need to do 99 | 100 | Create a PR with the following information: 101 | 102 | - Project information. 103 | - Your contact details. 104 | - A link to a "spree" or "hackathon" label with curated tickets for the 105 | participants. See 106 | [this project](https://github.com/sbt/zinc/issues?utf8=✓&q=label:hackathon%20is:issue) 107 | for inspiration. 108 | 109 | It's important that the curated tickets are entry-level, typical issues that you 110 | would solve in 15-20 minutes of your time as an experienced maintainer. In our 111 | experience, newcomers will take 1 to 2 hours to address them, assuming they are 112 | unfamiliar with the codebase and this is their first contribution. 113 | 114 | ### How to be an effective maintainer 115 | 116 | Maintainers can make a difference by tweaking some knobs: 117 | 118 | - Provide a `CONTRIBUTING` guide. Contributing guides explain to newcomers the 119 | usual workflow to get started and what's expected from them. Good guides: 120 | [scala/scala](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md), 121 | [sbt/zinc](https://github.com/sbt/zinc/blob/1.x/CONTRIBUTING.md), 122 | [scalameta/scalameta](https://github.com/scalameta/scalameta/blob/master/CONTRIBUTING.md), 123 | [scalacenter/scalafix](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md). 124 | - Provide a motivating `README` with clear instructions. Make sure docs are up 125 | to date. 126 | - Link to documentation when possible, or show contributors how to search for 127 | docs. You can label as `docs` any issue or PR with relevant discussions to get 128 | acquainted with implementation details and design decisions. 129 | - [Be nice to newcomers](http://brson.github.io/2017/04/05/minimally-nice-maintainer), 130 | they will always remember it! 131 | 132 | ### How to write good tickets 133 | 134 | Curating tickets is not easy. If you want to optimize for the highest number of 135 | contributors, we recommend you to: 136 | 137 | - Give hints on potential solutions. Say which solutions are not on the table, 138 | if any. 139 | - Describe the purpose of the ticket and its context. Having a clear idea of why 140 | your ticket is relevant will motivate participants. 141 | - Add links to source code sparingly. Show the entry-points for the requested 142 | functionality / fix, give a basic explanation of the code structure. 143 | - Be concise and detail specifics of your project or its implementation. 144 | Providing this kind of domain knowledge to participants will help them finish 145 | off their tickets sooner, and move to the next one! 146 | -------------------------------------------------------------------------------- /2018/scalaio2018.md: -------------------------------------------------------------------------------- 1 | # Open Source Spree 2 | 3 | The focus of Scala Sprees is to introduce newcomers and veterans alike to open 4 | source! Come meet contributors of well-known open source Scala projects and 5 | learn how you can make your own contribution. 6 | 7 | **Your challenge?** Get one pull request merged into one of the projects, and 8 | get this awesome t-shirt: 9 | ![](https://pbs.twimg.com/media/CtnCrtvWAAAO0nE.jpg:small) 10 | 11 | [![Join the chat at https://gitter.im/scalacenter/sprees](https://badges.gitter.im/scalacenter/sprees.svg)](https://gitter.im/scalacenter/sprees?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 12 | 13 | ## Scala.IO 2018 (Lyon, France) October 30th and 31st 14 | 15 | | | | 16 | | ----------------------- | ------------------------------------------------------------------------------------------ | 17 | | Time | October 30th, 9:00am - 5:00pm, October 31st 9:00am - 4:00pm | 18 | | Location | [CPE Lyon](https://www.google.com/maps/place/CPE+Lyon/@45.7838533,4.8690119,12z/data=!4m12!1m6!3m5!1s0x0:0x9efbb71d73134a76!2sCPE+Lyon!8m2!3d45.7838533!4d4.8690119!3m4!1s0x0:0x9efbb71d73134a76!8m2!3d45.7838533!4d4.8690119?hl=fr-FR) Bâtiment Hubert Curien, Domaine Scientifique de la Doua, 43 Boulevard du 11 Novembre 1918, 69100 Villeurbanne | 19 | | Conference registration | **Required** [event registration](https://scala.io) | 20 | | Event Registration | **Free, not required** | 21 | | Food | **Free** | 22 | | Bring | Laptop + Power Cord | 23 | 24 | 25 | 26 | ### Detailed Schedule 27 | | | | 28 | | ----------------------- | -------------------------------------| 29 | | Start Time | 9:00am | 30 | | Presenting the projects | 9:30am | 31 | | Contributing | 10:00am | 32 | | Dinner & Networking | 12:30am Oct 30th, 1:00pm Oct 31th | 33 | | Contributing | 1:30pm Oct 30th, 2:00pm Oct 31th | 34 | | Wrap up | 5:00pm Oct 30th, 4:00pm Oct 31th | 35 | 36 | 37 | 38 | ### Projects (**Maintainers: Please add your project here!**) 39 | 40 | Here is a list of projects that you could contribute to during the spree: 41 | 42 | | Project | Contact | 43 | | ----------------------------------------------------------------------------------------- | ------------------- | 44 | | [Fury] | @propensive | 45 | | [scala.js] and/or [scalac] | @sjrd | 46 | | [Hamsters] A mini Scala utility library | @dgouyette | 47 | | IntelliJ Scala plugin | @jastice | 48 | | [scalajs-bundler], [endpoints], [scalac] | @julienrf | 49 | | [fs2-cassandra], [fs2-rabbit] and / or [fs2-redis] | @gvolpe | 50 | | [ZIO] — A principled, powerful, standalone effect data type for any Scala project. | @jdegoes | 51 | | [coursier] — Library and CLI tool to manage dependencies | @alexarchambault | 52 | | Add your project here! | | 53 | 54 | [coursier]: https://github.com/coursier/coursier 55 | [Fury]: https://github.com/propensive/fury 56 | [scala.js]: https://github.com/scala-js/scala-js 57 | [scalac]: https://github.com/scala/scala 58 | [Hamsters]: https://github.com/scala-hamsters/hamsters 59 | [scalajs-bundler]: https://github.com/scalacenter/scalajs-bundler 60 | [endpoints]: https://github.com/julienrf/endpoints 61 | [fs2-cassandra]: https://github.com/Spinoco/fs2-cassandra 62 | [fs2-rabbit]: https://github.com/gvolpe/fs2-rabbit 63 | [fs2-redis]: https://github.com/gvolpe/fs2-redis 64 | [ZIO]: https://github.com/scalaz/scalaz-zio 65 | 66 | Who will be leading the Scala Open Source Spree? 67 | 68 | * Darja Jovanovic, [@darjutak] (Scala Center) 69 | 70 | Want to add your project to the list? Jump to the next section! 71 | 72 | 73 | ## Duration, pace steps 74 | 75 | At the beginning, maintainers gather together in front of all the contributors 76 | to briefly explain their projects and tickets in one minute. The idea is to give 77 | a good high-level explanation to motivate participants without going into too 78 | much detail. A link to this page is provided. 79 | 80 | When they are done, participants approach the projects they are most interested 81 | in and get it contact with the maintainers. At this point, maintainers usually 82 | listen to the participants' experience and provide personal guidance on tickets 83 | that would suit them. 84 | 85 | Then, the fun begins! Participants start hacking on their projects and 86 | maintainers review PRs as they come, assisting participants when they ask for 87 | help. We encourage maintainers to merge as many PRs as possible in the place, 88 | for two reasons: 89 | 90 | 1. Participants get a small token of appreciation from the Scala Center. 91 | 2. It increases the motivation of the participants. 92 | 93 | If participants get the first PR merged, they are invited to continue solving 94 | issues until they are happy with their work! 95 | 96 | At the middle of the spree, the Scala Center and sponsors of the event provide 97 | maintainers and participants alike with some refreshment (drinks, sandwiches, 98 | pizza, etc). 99 | 100 | Participants can leave the event at any time they want. When the time approaches 101 | the end, everyone starts to wrap up: participants finish their PRs while 102 | maintainers finish their review, and organizers of the spree give away Scala 103 | t-shirts. We finish by thanking your hard work for open-source. 104 | 105 | ## For Maintainers: 106 | 107 | ### How to propose a project 108 | 109 | A Scala Center spree is the perfect event to gauge interest in your open-source 110 | projects. You not only have the opportunity to get new contributors involved in 111 | your project, but you can win friends and lifetime maintainers that help you 112 | make a difference in the open-source world. 113 | 114 | There is only one requirement to submit a project -- you need to be present for 115 | the duration of the Scala Center spree. Your physical presence is important to 116 | assist and motivate contributors. 117 | 118 | If you are a maintainer of an open-source Scala project, make a PR to add your 119 | project to the list! 120 | 121 | ### What you need to do 122 | 123 | Create a PR with the following information: 124 | 125 | * Project information. 126 | * Your contact details. 127 | * A link to a "spree" or "hackathon" label with curated tickets for the 128 | participants. See 129 | [this project](https://github.com/sbt/zinc/issues?utf8=✓&q=label:hackathon%20is:issue) 130 | for inspiration. 131 | 132 | It's important that the curated tickets are entry-level, typical issues that you 133 | would solve in 15-20 minutes of your time as an experienced maintainer. In our 134 | experience, newcomers will take 1 to 2 hours to address them, assuming they are 135 | unfamiliar with the codebase and this is their first contribution. 136 | 137 | ### How to be an effective maintainer 138 | 139 | Maintainers can make a difference by tweaking some knobs: 140 | 141 | * Provide a `CONTRIBUTING` guide. Contributing guides explain to newcomers the 142 | usual workflow to get started and what's expected from them. Good guides: 143 | [scala/scala](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md), 144 | [sbt/zinc](https://github.com/sbt/zinc/blob/1.x/CONTRIBUTING.md), 145 | [scalameta/scalameta](https://github.com/scalameta/scalameta/blob/master/CONTRIBUTING.md), 146 | [scalacenter/scalafix](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md). 147 | * Provide a motivating `README` with clear instructions. Make sure docs are up 148 | to date. 149 | * Link to documentation when possible, or show contributors how to search for 150 | docs. You can label as `docs` any issue or PR with relevant discussions to get 151 | acquainted with implementation details and design decisions. 152 | * [Be nice to newcomers](http://brson.github.io/2017/04/05/minimally-nice-maintainer), 153 | they will always remember it! 154 | 155 | ### How to write good tickets 156 | 157 | Curating tickets is not easy. If you want to optimize for the highest number of 158 | contributors, we recommend you to: 159 | 160 | * Give hints on potential solutions. Say which solutions are not on the table, 161 | if any. 162 | * Describe the purpose of the ticket and its context. Having a clear idea of why 163 | your ticket is relevant will motivate participants. 164 | * Add links to source code sparingly. Show the entry-points for the requested 165 | functionality / fix, give a basic explanation of the code structure. 166 | * Be concise and detail specifics of your project or its implementation. 167 | Providing this kind of domain knowledge to participants will help them finish 168 | off their tickets sooner, and move to the next one! 169 | -------------------------------------------------------------------------------- /2017/scala-io.md: -------------------------------------------------------------------------------- 1 | # Open Source Spree 2 | 3 | The Scala Center is organizing an *Open Source Spree* during 4 | [Scala.io], on Friday, November 3rd! 5 | 6 | | | | 7 | | -------- | -------------------- | 8 | | Time | Nov 3rd, 14:00 - 18:00 | 9 | | Location | [CPE, Lyon](https://goo.gl/maps/jzfE7y5vSbz) | 10 | | Conference registration | **Required** | 11 | | Event Registration | Part of conference registration | 12 | | Food | Conference lunch is before the event | 13 | 14 | The focus of Scala Sprees is to introduce newcomers and veterans alike to open source! 15 | Come meet contributors of well-known open source Scala projects and learn how 16 | you can make your own contribution. 17 | 18 | **Your challenge?** Get one pull request merged into one of the projects, 19 | and get this awesome t-shirt: 20 | ![](https://pbs.twimg.com/media/CtnCrtvWAAAO0nE.jpg:small) 21 | 22 | [![Join the chat at https://gitter.im/scalacenter/sprees](https://badges.gitter.im/scalacenter/sprees.svg)](https://gitter.im/scalacenter/sprees?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 23 | 24 | 25 | ## Projects 26 | 27 | Here is a list of projects that you could contribute to during the spree: 28 | 29 | | Project | Contact | 30 | | ------- | ------- | 31 | | [hamsters] - utility library | [@loicdescotte] | 32 | | [dotty] - next major version of Scala | [@smarter] | 33 | | [scalafix] - code rewriting tool | [@gabro] | 34 | | [freestyle] - free monad utility | [@raulraja] | 35 | | [scalaz] - general functional programming library | [@jdegoes] | 36 | | [magnolia], [contextual], [totalitarian] and “others” - nicely named libraries | [@propensive] | 37 | | [cbt] - build tool | [@cvogt] | 38 | | [scaladex] - index of Scala projects | [@MasseGuillaume] | 39 | | [scastie] - web-based Scala playground | [@MasseGuillaume] | 40 | | [scalajs-bundler] - NPM modules bundler for Scala.js | [@julienrf] | 41 | | [doodle] - composable vector graphics | [@julienrf] | 42 | | [endpoints] - remote communication | [@julienrf] | 43 | | add your project here! | | 44 | 45 | Who will be leading the Scala Open Source Spree? 46 | - Julien Richard-Foy, [@julienrf] (Scala Center) 47 | - Guillaume Massé, [@MasseGuillaume] (Scala Center) 48 | 49 | Want to add your project to the list? Jump to the next section! 50 | 51 | [@cvogt]: https://github.com/cvogt 52 | [@gabro]: https://github.com/gabro 53 | [@jdegoes]: https://github.com/jdegoes 54 | [@julienrf]: https://github.com/julienrf 55 | [@loicdescotte]: https://github.com/loicdescotte 56 | [@MasseGuillaume]: https://github.com/MasseGuillaume 57 | [@propensive]: https://github.com/propensive 58 | [@raulraja]: https://github.com/raulraja 59 | [@smarter]: https://github.com/smarter 60 | 61 | [cbt]: https://github.com/cvogt/cbt 62 | [contextual]: https://github.com/propensive/contextual 63 | [coursier]: https://github.com/coursier/coursier 64 | [doodle]: https://github.com/underscoreio/doodle/labels/hackathon 65 | [dotty]: https://github.com/lampepfl/dotty 66 | [endpoints]: https://github.com/julienrf/endpoints/labels/low-hanging%20fruit 67 | [freestyle]: https://github.com/frees-io/freestyle 68 | [hamsters]: https://github.com/scala-hamsters/hamsters 69 | [magnolia]: https://github.com/propensive/magnolia 70 | [scaladex]: https://github.com/scalacenter/scaladex/labels/hackathon 71 | [scalafix]: https://github.com/scalacenter/scalafix 72 | [scalajs-bundler]: https://github.com/scalacenter/scalajs-bundler/issues?q=is%3Aissue+is%3Aopen+label%3A%22low+hanging+fruit%22 73 | [scalaz]: https://github.com/scalaz/scalaz 74 | [scastie]: https://github.com/scalacenter/scastie/labels/hackathon 75 | [totalitarian]: https://github.com/propensive/totalitarian 76 | 77 | [Scala.io]: https://scala.io/ 78 | 79 | ## Duration, pace steps 80 | 81 | At the beginning, maintainers gather together in front of all the contributors 82 | to briefly explain their projects and tickets in one minute. The idea is to give 83 | a good high-level explanation to motivate participants without going into too 84 | much detail. A link to this page is provided. 85 | 86 | When they are done, participants approach the projects they are most interested 87 | in and get it contact with the maintainers. At this point, maintainers usually 88 | listen to the participants' experience and provide personal guidance on tickets 89 | that would suit them. 90 | 91 | Then, the fun begins! Participants start hacking on their projects and 92 | maintainers review PRs as they come, assisting participants when they ask for 93 | help. We encourage maintainers to merge as many PRs as possible in the place, 94 | for two reasons: 95 | 96 | 1. Participants get a small token of appreciation from the Scala Center. 97 | 2. It increases the motivation of the participants. 98 | 99 | If participants get the first PR merged, they are invited to continue solving 100 | issues until they are happy with their work! 101 | 102 | At the middle of the spree, the Scala Center and sponsors of the event provide 103 | maintainers and participants alike with some refreshment (drinks, sandwiches, 104 | pizza, etc). 105 | 106 | Participants can leave the event at any time they want. When the time approaches 107 | the end, everyone starts to wrap up: participants finish their PRs while 108 | maintainers finish their review, and organizers of the spree give away Scala 109 | t-shirts. We finish by thanking your hard work for open-source. 110 | 111 | ## How to propose a project 112 | 113 | A Scala Center spree is the perfect event to gauge interest in your open-source 114 | projects. You not only have the opportunity to get new contributors involved in 115 | your project, but you can win friends and lifetime maintainers that help you 116 | make a difference in the open-source world. 117 | 118 | There is only one requirement to submit a project -- you need to be present for 119 | the duration of the Scala Center spree. Your physical presence is important to 120 | assist and motivate contributors. 121 | 122 | If you are a maintainer of an open-source Scala project, make a PR to add your 123 | project to the list! 124 | 125 | ### What you need to do 126 | 127 | Create a PR with the following information: 128 | 129 | * Project information. 130 | * Your contact details. 131 | * A link to a "spree" or "hackathon" label with curated tickets for the 132 | participants. See [this project](https://github.com/sbt/zinc/issues?utf8=✓&q=label:hackathon%20is:issue) for inspiration. 133 | 134 | It's important that the curated tickets are entry-level, typical issues that you 135 | would solve in 15-20 minutes of your time as an experienced maintainer. In our 136 | experience, newcomers will take 1 to 2 hours to address them, assuming they are 137 | unfamiliar with the codebase and this is their first contribution. 138 | 139 | #### How to be an effective maintainer 140 | 141 | Maintainers can make a difference by tweaking some knobs: 142 | 143 | * Provide a `CONTRIBUTING` guide. Contributing guides explain to newcomers the 144 | usual workflow to get started and what's expected from them. Good guides: 145 | [scala/scala](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.m://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md), 146 | [sbt/zinc](https://github.com/sbt/zinc/blob/1.0/CONTRIBUTING.md), [scalameta/scalameta](https://github.com/scalameta/scalameta/blob/master/CONTRIBUTING.md), 147 | [scalacenter/scalafix](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md). 148 | * Provide a motivating `README` with clear instructions. Make sure docs are up to date. 149 | * Link to documentation when possible, or show contributors how to search for 150 | docs. You can label as `docs` any issue or PR with relevant discussions to 151 | get acquainted with implementation details and design decisions. 152 | * [Be nice to newcomers](http://brson.github.io/2017/04/05/minimally-nice-maintainer), they 153 | will always remember it! 154 | 155 | #### How to write good tickets 156 | 157 | Curating tickets is not easy. If you want to optimize for the highest number of 158 | contributors, we recommend you to: 159 | 160 | * Give hints on potential solutions. Say which solutions are not on the table, 161 | if any. 162 | * Describe the purpose of the ticket and its context. Having a clear idea of why 163 | your ticket is relevant will motivate participants. 164 | * Add links to source code sparingly. Show the entry-points for the requested 165 | functionality / fix, give a basic explanation of the code structure. 166 | * Be concise and detail specifics of your project or its implementation. 167 | Providing this kind of domain knowledge to participants will help them 168 | finish off their tickets sooner, and move to the next one! 169 | -------------------------------------------------------------------------------- /2020/bern.md: -------------------------------------------------------------------------------- 1 | # Open Source Spree 2 | 3 | The focus of Scala Sprees is to introduce newcomers and veterans alike to open 4 | source! Come meet contributors of well-known open source Scala projects and 5 | learn how you can make your own contribution. 6 | 7 | **Your challenge?** Get one pull request merged into one of the projects, and 8 | get this awesome t-shirt: 9 | ![](https://pbs.twimg.com/media/CtnCrtvWAAAO0nE.jpg:small) 10 | 11 | [![Join the chat at https://gitter.im/scalacenter/sprees](https://badges.gitter.im/scalacenter/sprees.svg)](https://gitter.im/scalacenter/sprees?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 12 | 13 | ## Bern, Switzerland. February 26th 2020 14 | 15 | | | | 16 | | ------------------ | ---------------------------------------------------------------------------------------------------- | 17 | | Time | February 26th, 10:00 - 18:00 | 18 | | Location | Sqooba (Schweiz) AG, Effingerstrasse 47, 3008 Bern | 19 | | Event Registration | Free [here](https://www.meetup.com/Bern-Scala-User-Group/events/268650397/) | 20 | | Food | Free! See detailed schedule. | 21 | | Bring | Laptop + Power Cord | 22 | 23 | ### Detailed Schedule 24 | 25 | | | | 26 | | ------------ | ----- | 27 | | Start Time | 10:00 | 28 | | Coffee break | 12:00 | 29 | | Pizza | 14:00 | 30 | | Talk by [Nicolas Rinaudo](https://twitter.com/NicolasRinaudo) | 16:30 | 31 | | End Time | 18:00 | 32 | 33 | ### Projects (**Maintainers: Please add your project here!**) 34 | 35 | Here is a list of projects that you could contribute to during the spree: 36 | 37 | | Project | Contact | 38 | | --------------------------------------------------------------------------------------------- | ---------------- | 39 | | [Scala.js] — scalac backend that produces JavaScript | @sjrd | 40 | | [scalac] — The Scala compiler and standard library | @sjrd, @lrytz | 41 | | [tasty-reader] — Use Scala 3 dependencies from Scala 2 | @bishabosha | 42 | | [scala-collection-compat] — Use the Scala 2.13’s new collections in Scala 2.12 projects | @julienrf | 43 | | [sbt-missinglink] — Detects binary incompatibilitiy errors | @julienrf, @sjrd | 44 | | [dotty] | @anatoliykmetyuk | 45 | | [tf-dotty] — Experimental Dotty library for statically checking TensorFlow types and shapes | @maximekjaer | 46 | | Add your project here! | | 47 | 48 | [almond]: https://github.com/almond-sh/almond/labels/low%20hanging%20fruit 49 | [coursier]: 50 | https://github.com/coursier/coursier/issues?q=is%3Aopen+is%3Aissue+label%3Aspree 51 | [scala.js]: https://github.com/scala-js/scala-js 52 | [scalac]: https://github.com/scala/bug/labels/good%20first%20issue 53 | [tasty-reader]: https://github.com/scalacenter/scala/labels/topic%3Atasty%2Fscala2 54 | [bloop]: https://github.com/scalacenter/bloop/labels/good%20first%20issue 55 | [intellij scala]: https://github.com/jetbrains/intellij-scala 56 | [scalajs-bundler]: 57 | https://github.com/scalacenter/scalajs-bundler/labels/low%20hanging%20fruit 58 | [cats]: https://github.com/typelevel/cats/issues 59 | [cats-collections]: https://github.com/typelevel/cats-collections 60 | [cats-mtl]: https://github.com/typelevel/cats-mtl 61 | [scaladex]: https://github.com/scalacenter/scaladex/labels/Scala%20Spree 62 | [graalvm]: https://github.com/oracle/graal 63 | [dotty]: 64 | https://github.com/lampepfl/dotty/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22 65 | [akka]: https://github.com/akka/akka 66 | [monix]: https://github.com/monix/monix 67 | [akka-http]: https://github.com/akka/akka-http 68 | [metals]: https://github.com/scalameta/metals 69 | [endpoints]: https://github.com/julienrf/endpoints 70 | [scala-collection-compat]: https://github.com/scala/scala-collection-compat/labels/good%20first%20issue 71 | [sbt-missinglink]: https://github.com/scalacenter/sbt-missinglink/labels/good%20first%20issue 72 | [tf-dotty]: https://github.com/MaximeKjaer/tf-dotty/issues?q=is%3Aissue+is%3Aopen+label%3Aspree 73 | 74 | Who will be leading the Scala Open Source Spree? 75 | 76 | - Darja Jovanovic, @darjutak (Scala Center) 77 | - Sébastien Doeraene, @sjrd (Scala Center) 78 | 79 | Want to add your project to the list? Jump to the next section! 80 | 81 | ## Duration, pace steps 82 | 83 | At the beginning, maintainers gather together in front of all the contributors 84 | to briefly explain their projects and tickets in one minute. The idea is to give 85 | a good high-level explanation to motivate participants without going into too 86 | much detail. A link to this page is provided. 87 | 88 | When they are done, participants approach the projects they are most interested 89 | in and get it contact with the maintainers. At this point, maintainers usually 90 | listen to the participants' experience and provide personal guidance on tickets 91 | that would suit them. 92 | 93 | Then, the fun begins! Participants start hacking on their projects and 94 | maintainers review PRs as they come, assisting participants when they ask for 95 | help. We encourage maintainers to merge as many PRs as possible in the place, 96 | for two reasons: 97 | 98 | 1. Participants get a small token of appreciation from the Scala Center. 99 | 2. It increases the motivation of the participants. 100 | 101 | If participants get the first PR merged, they are invited to continue solving 102 | issues until they are happy with their work! 103 | 104 | At the middle of the spree, the Scala Center and sponsors of the event provide 105 | maintainers and participants alike with some refreshment (drinks, sandwiches, 106 | pizza, etc). 107 | 108 | Participants can leave the event at any time they want. When the time approaches 109 | the end, everyone starts to wrap up: participants finish their PRs while 110 | maintainers finish their review, and organizers of the spree give away Scala 111 | t-shirts. We finish by thanking your hard work for open-source. 112 | 113 | ## For Maintainers: 114 | 115 | ### How to propose a project 116 | 117 | A Scala Center spree is the perfect event to gauge interest in your open-source 118 | projects. You not only have the opportunity to get new contributors involved in 119 | your project, but you can win friends and lifetime maintainers that help you 120 | make a difference in the open-source world. 121 | 122 | There is only one requirement to submit a project -- you need to be present for 123 | the duration of the Scala Center spree. Your physical presence is important to 124 | assist and motivate contributors. 125 | 126 | If you are a maintainer of an open-source Scala project, make a PR to add your 127 | project to the list! 128 | 129 | ### What you need to do 130 | 131 | Create a PR with the following information: 132 | 133 | - Project information. 134 | - Your contact details. 135 | - A link to a "spree" or "hackathon" label with curated tickets for the 136 | participants. See 137 | [this project](https://github.com/sbt/zinc/issues?utf8=✓&q=label:hackathon%20is:issue) 138 | for inspiration. 139 | 140 | It's important that the curated tickets are entry-level, typical issues that you 141 | would solve in 15-20 minutes of your time as an experienced maintainer. In our 142 | experience, newcomers will take 1 to 2 hours to address them, assuming they are 143 | unfamiliar with the codebase and this is their first contribution. 144 | 145 | ### How to be an effective maintainer 146 | 147 | Maintainers can make a difference by tweaking some knobs: 148 | 149 | - Provide a `CONTRIBUTING` guide. Contributing guides explain to newcomers the 150 | usual workflow to get started and what's expected from them. Good guides: 151 | [scala/scala](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md), 152 | [sbt/zinc](https://github.com/sbt/zinc/blob/1.x/CONTRIBUTING.md), 153 | [scalameta/scalameta](https://github.com/scalameta/scalameta/blob/master/CONTRIBUTING.md), 154 | [scalacenter/scalafix](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md). 155 | - Provide a motivating `README` with clear instructions. Make sure docs are up 156 | to date. 157 | - Link to documentation when possible, or show contributors how to search for 158 | docs. You can label as `docs` any issue or PR with relevant discussions to get 159 | acquainted with implementation details and design decisions. 160 | - [Be nice to newcomers](http://brson.github.io/2017/04/05/minimally-nice-maintainer), 161 | they will always remember it! 162 | 163 | ### How to write good tickets 164 | 165 | Curating tickets is not easy. If you want to optimize for the highest number of 166 | contributors, we recommend you to: 167 | 168 | - Give hints on potential solutions. Say which solutions are not on the table, 169 | if any. 170 | - Describe the purpose of the ticket and its context. Having a clear idea of why 171 | your ticket is relevant will motivate participants. 172 | - Add links to source code sparingly. Show the entry-points for the requested 173 | functionality / fix, give a basic explanation of the code structure. 174 | - Be concise and detail specifics of your project or its implementation. 175 | Providing this kind of domain knowledge to participants will help them finish 176 | off their tickets sooner, and move to the next one! 177 | -------------------------------------------------------------------------------- /2017/scalaworld.md: -------------------------------------------------------------------------------- 1 | # [Open Source Spree][register] 2 | 3 | 4 | The Scala Center is organizing an *Open Source Spree* before 5 | [Scala World], on Wednesday, September 20th! 6 | 7 | | | | 8 | | -------- | -------------------- | 9 | | Time | Sept 20th, 14:10 - 18:00 | 10 | | Location | [Exhibition Halls, Rheged Centre](https://goo.gl/maps/t4ufgYH3GKw) | 11 | | Conference registration | **Required** | 12 | | Event Registration | Part of conference registration | 13 | | Food | Conference lunch is before the event | 14 | 15 | The focus of Scala Sprees is to introduce newcomers and veterans alike to open source! 16 | Come meet contributors of well-known open source Scala projects and learn how 17 | you can make your own contribution. 18 | 19 | **Your challenge?** Get one pull request merged into one of the projects, 20 | and get this awesome t-shirt: 21 | ![](https://pbs.twimg.com/media/CtnCrtvWAAAO0nE.jpg:small) 22 | 23 | [![Join the chat at https://gitter.im/scalacenter/sprees](https://badges.gitter.im/scalacenter/sprees.svg)](https://gitter.im/scalacenter/sprees?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 24 | 25 | 26 | ## Projects 27 | 28 | Here is a list of projects that you could contribute to during the spree: 29 | 30 | | Project | Contact | 31 | | ------- | ------- | 32 | | [scalafmt] - code formatter | [@olafurpg] | 33 | | [scalafix] - rewrite and linting tool | [@olafurpg] | 34 | | [scalameta] - developer tooling library | [@olafurpg] | 35 | | [scala-lang.org] - The Scala language website | [@heathermiller] | 36 | | [docs.scala-lang.org] - The Scala language documentation | [@heathermiller] | 37 | | [contextual] - static checking of interpolated strings | [@propensive] | 38 | | [xylophone] - functional, typesafe XML support for Scala | [@propensive] | 39 | | [testaceous] - dependently-typed shell/CLI interaction | [@propensive] | 40 | | [cats] - tools for functional programming in Scala | [@edmundnoble] | 41 | | [monix] - library for composing asynchronous programs | [@alexandru] | 42 | | [scala-fiddle] - Interactive playground for Scala | [@ochrons] | 43 | | [boopickle] - Fast binary serialization | [@ochrons] | 44 | | [suzaku] - Web UI framework for Scala | [@ochrons] | 45 | | add your project here! | | 46 | 47 | Who will be leading the Scala Open Source Spree? 48 | - Olafur Pall Geirsson, [@olafurpg] (Scala Center) 49 | - Heather Miller, [@heathermiller] (Scala Center) 50 | 51 | Want to add your project to the list? Jump to the next section! 52 | 53 | [MasseGuillaume]: https://github.com/MasseGuillaume 54 | [SethTisue]: https://github.com/SethTisue 55 | [@propensive]: https://github.com/propensive 56 | [cvogt]: https://github.com/cvogt 57 | [@olafurpg]: https://github.com/olafurpg 58 | [@dwijnand]: https://github.com/dwijnand 59 | [jvican]: https://github.com/jvican 60 | [lrytz]: https://github.com/lrytz 61 | [julienrf]: https://github.com/julienrf 62 | [noelwelsh]: https://github.com/noelwelsh 63 | [@heathermiller]: https://github.com/heathermiller 64 | [holograph]: https://github.com/holograph 65 | [densh]: https://github.com/densh 66 | [Duhemm]: https://github.com/Duhemm 67 | [fs2-rabbit]: https://github.com/gvolpe/fs2-rabbit 68 | [gvolpe]: https://github.com/gvolpe 69 | [rzeznik]: https://github.com/marcin-rzeznicki 70 | 71 | [docs.scala-lang.org]: https://github.com/scala/scala.github.com/issues?utf8=✓&q=is%3Aissue%20is%3Aopen%20label%3Aspree%20 72 | [scala]: https://github.com/scalacenter/sprees/issues/16 73 | [scala-lang.org]: https://github.com/scala/scala-lang/issues?q=is%3Aissue+is%3Aopen+label%3Aspree 74 | [scaladex]: https://github.com/scalacenter/scaladex/labels/hackathon 75 | [scastie]: https://github.com/scalacenter/scastie/labels/hackathon 76 | [cbt]: https://github.com/cvogt/cbt 77 | [sbt-dynver]: https://github.com/dwijnand/sbt-dynver 78 | [contextual]: https://github.com/propensive/contextual 79 | [xylophone]: https://github.com/propensive/xylophone 80 | [testaceous]: https://github.com/propensive/testaceous 81 | [scalafix]: https://github.com/scalacenter/scalafix/labels/good%20first%20contribution 82 | [scalafmt]: https://github.com/scalameta/scalafmt/labels/good%20first%20contribution 83 | [scalameta]: https://github.com/scalameta/scalameta/labels/Good%20first%20contribution 84 | [zinc]: https://github.com/sbt/zinc/labels/spree 85 | [sbt]: https://github.com/sbt/sbt/labels/spree 86 | [scalajs-bundler]: https://github.com/scalacenter/scalajs-bundler/issues?q=is%3Aissue+is%3Aopen+label%3A%22low+hanging+fruit%22 87 | [endpoints]: http://julienrf.github.io/endpoints/ 88 | [creative-scala]: https://github.com/underscoreio/creative-scala/labels/hackathon 89 | [doodle]: https://github.com/underscoreio/doodle/labels/hackathon 90 | [accord]: https://github.com/wix/accord/labels/spree 91 | [kebs]: https://github.com/theiterators/kebs/labels/spree 92 | [scala-native]: https://github.com/scala-native/scala-native 93 | [suzaku]: https://github.com/suzaku-io/suzaku 94 | [boopickle]: https://github.com/suzaku-io/boopickle 95 | [scala-fiddle]: https://github.com/scalafiddle/scalafiddle-core 96 | [monix]: https://github.com/monix/monix/labels/low-hanging%20fruit 97 | [cats]: https://github.com/typelevel/cats/labels/low-hanging%20fruit 98 | [@alexandru]: https://github.com/alexandru 99 | [@edmundnoble]: https://github.com/edmundnoble 100 | [@ochrons]: https://github.com/ochrons 101 | 102 | [register]: https://www.meetup.com/FunctionalTricity/events/240905056/ 103 | [scalawave]: http://scalawave.io/ 104 | [Scala World]: https://scala.world/typelevel 105 | 106 | ## Duration, pace steps 107 | 108 | At the beginning, maintainers gather together in front of all the contributors 109 | to briefly explain their projects and tickets in one minute. The idea is to give 110 | a good high-level explanation to motivate participants without going into too 111 | much detail. A link to this page is provided. 112 | 113 | When they are done, participants approach the projects they are most interested 114 | in and get it contact with the maintainers. At this point, maintainers usually 115 | listen to the participants' experience and provide personal guidance on tickets 116 | that would suit them. 117 | 118 | Then, the fun begins! Participants start hacking on their projects and 119 | maintainers review PRs as they come, assisting participants when they ask for 120 | help. We encourage maintainers to merge as many PRs as possible in the place, 121 | for two reasons: 122 | 123 | 1. Participants get a small token of appreciation from the Scala Center. 124 | 2. It increases the motivation of the participants. 125 | 126 | If participants get the first PR merged, they are invited to continue solving 127 | issues until they are happy with their work! 128 | 129 | At the middle of the spree, the Scala Center and sponsors of the event provide 130 | maintainers and participants alike with some refreshment (drinks, sandwiches, 131 | pizza, etc). 132 | 133 | Participants can leave the event at any time they want. When the time approaches 134 | the end, everyone starts to wrap up: participants finish their PRs while 135 | maintainers finish their review, and organizers of the spree give away Scala 136 | t-shirts. We finish by thanking your hard work for open-source. 137 | 138 | ## How to propose a project 139 | 140 | A Scala Center spree is the perfect event to gauge interest in your open-source 141 | projects. You not only have the opportunity to get new contributors involved in 142 | your project, but you can win friends and lifetime maintainers that help you 143 | make a difference in the open-source world. 144 | 145 | There is only one requirement to submit a project -- you need to be present for 146 | the duration of the Scala Center spree. Your physical presence is important to 147 | assist and motivate contributors. 148 | 149 | If you are a maintainer of an open-source Scala project, make a PR to add your 150 | project to the list! 151 | 152 | ### What you need to do 153 | 154 | Create a PR with the following information: 155 | 156 | * Project information. 157 | * Your contact details. 158 | * A link to a "spree" or "hackathon" label with curated tickets for the 159 | participants. See [this project](https://github.com/sbt/zinc/issues?utf8=✓&q=label:hackathon%20is:issue) for inspiration. 160 | 161 | It's important that the curated tickets are entry-level, typical issues that you 162 | would solve in 15-20 minutes of your time as an experienced maintainer. In our 163 | experience, newcomers will take 1 to 2 hours to address them, assuming they are 164 | unfamiliar with the codebase and this is their first contribution. 165 | 166 | #### How to be an effective maintainer 167 | 168 | Maintainers can make a difference by tweaking some knobs: 169 | 170 | * Provide a `CONTRIBUTING` guide. Contributing guides explain to newcomers the 171 | usual workflow to get started and what's expected from them. Good guides: 172 | [scala/scala](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.m://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md), 173 | [sbt/zinc](https://github.com/sbt/zinc/blob/1.0/CONTRIBUTING.md), [scalameta/scalameta](https://github.com/scalameta/scalameta/blob/master/CONTRIBUTING.md), 174 | [scalacenter/scalafix](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md). 175 | * Provide a motivating `README` with clear instructions. Make sure docs are up to date. 176 | * Link to documentation when possible, or show contributors how to search for 177 | docs. You can label as `docs` any issue or PR with relevant discussions to 178 | get acquainted with implementation details and design decisions. 179 | * [Be nice to newcomers](http://brson.github.io/2017/04/05/minimally-nice-maintainer), they 180 | will always remember it! 181 | 182 | #### How to write good tickets 183 | 184 | Curating tickets is not easy. If you want to optimize for the highest number of 185 | contributors, we recommend you to: 186 | 187 | * Give hints on potential solutions. Say which solutions are not on the table, 188 | if any. 189 | * Describe the purpose of the ticket and its context. Having a clear idea of why 190 | your ticket is relevant will motivate participants. 191 | * Add links to source code sparingly. Show the entry-points for the requested 192 | functionality / fix, give a basic explanation of the code structure. 193 | * Be concise and detail specifics of your project or its implementation. 194 | Providing this kind of domain knowledge to participants will help them 195 | finish off their tickets sooner, and move to the next one! 196 | -------------------------------------------------------------------------------- /2022/warsaw.md: -------------------------------------------------------------------------------- 1 | # Open Source Spree 2 | 3 | The focus of Scala Sprees is to introduce newcomers and veterans alike to open 4 | source! Come meet contributors of well-known open source Scala projects and 5 | learn how you can make your own contribution. 6 | 7 | **Your challenge?** Get one pull request merged into one of the projects, and 8 | get this awesome t-shirt: 9 | ![](https://pbs.twimg.com/media/CtnCrtvWAAAO0nE.jpg:small) 10 | 11 | [![Join the chat at https://gitter.im/scalacenter/sprees](https://badges.gitter.im/scalacenter/sprees.svg)](https://gitter.im/scalacenter/sprees?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 12 | 13 | ## Warsaw, Poland. Wednesday, 7th of December 2022 14 | 15 | | | | 16 | |--------------------|-------------------------------------------------------------------------------------------------| 17 | | Time | Wednesday, 7th of December 2022, 17:00 | 18 | | Location | [Giełdowa 1, Warsaw](https://goo.gl/maps/pvyqLmdCpMpLAbWA9) ([Synerise](https://synerise.com/)) | 19 | | Event Registration | [Meetups](https://www.meetup.com/scalawaw/events/289954415/) | 20 | | Food | Pizza and drinks | 21 | | Bring | Laptop + Power Cord | 22 | 23 | ### Detailed Schedule 24 | 25 | | | | 26 | |------------------|-------| 27 | | Start Time | 17:00 | 28 | | End Time, Drinks | 22:00 | 29 | 30 | ### Projects (**Maintainers: Please add your project here!**) 31 | 32 | Here is a list of projects that you could contribute to during the spree: 33 | 34 | | Project | Contact | 35 | |--------------------------------------------------------------------------------------|----------------------------------------------------------------------| 36 | | [TASTy Query][TASTy Query] – a library for semantic analysis of Scala programs | [@bishabosha][@bishabosha] | 37 | | [Scaladex][Scaladex] — a Scala libraries search engine | [@adpi2][@adpi2] | 38 | | [Scala Debugger in Metals][Scala Debugger in Metals] — a debugger for Scala programs | [@adpi2][@adpi2] | 39 | | [Scala CLI][Scala CLI] — a command-line tool to interact with the Scala language | [@lwronski][@lwronski], [@Gedochao][@Gedochao], [@wleczny][@wleczny] | 40 | | [Metals][Metals] — Scala LSP server | [@tgodzik][@tgodzik] | 41 | | [Mdoc][Mdoc] — Typechecked markdown documentation for Scala | [@tgodzik][@tgodzik] | 42 | | [Scalameta][Scalameta] — Scala parser and semanticdb generation | [@tgodzik][@tgodzik] | 43 | | [sttp][sttp] — The Scala HTTP client that you always wanted! | [@Pask423][@Pask423] | 44 | | [kebs][kebs] — a Scala library to eliminate boilerplate | [@luksow][@luksow] | 45 | | [magnolia][magnolia] — fast and friendly typeclass derivation for Scala | [@micsza][@micsza] | 46 | | Add your project here! | | 47 | 48 | Who will be leading the Scala Open Source Spree? 49 | 50 | - Anatolii Kmetiuk, [@anatoliykmetyuk][@anatoliykmetyuk] (Scala Center) 51 | 52 | Want to add your project to the list? Jump to the next section! 53 | 54 | ## Duration, pace steps 55 | 56 | At the beginning, maintainers gather together in front of all the contributors 57 | to briefly explain their projects and tickets in one minute. The idea is to give 58 | a good high-level explanation to motivate participants without going into too 59 | much detail. A link to this page is provided. 60 | 61 | When they are done, participants approach the projects they are most interested 62 | in and get it contact with the maintainers. At this point, maintainers usually 63 | listen to the participants' experience and provide personal guidance on tickets 64 | that would suit them. 65 | 66 | Then, the fun begins! Participants start hacking on their projects and 67 | maintainers review PRs as they come, assisting participants when they ask for 68 | help. We encourage maintainers to merge as many PRs as possible in the place, 69 | for two reasons: 70 | 71 | 1. Participants get a small token of appreciation from the Scala Center. 72 | 2. It increases the motivation of the participants. 73 | 74 | If participants get the first PR merged, they are invited to continue solving 75 | issues until they are happy with their work! 76 | 77 | At the middle of the spree, the Scala Center and sponsors of the event provide 78 | maintainers and participants alike with some refreshment (drinks, sandwiches, 79 | pizza, etc). 80 | 81 | Participants can leave the event at any time they want. When the time approaches 82 | the end, everyone starts to wrap up: participants finish their PRs while 83 | maintainers finish their review, and organizers of the spree give away Scala 84 | t-shirts. We finish by thanking your hard work for open-source. 85 | 86 | ## For Maintainers: 87 | 88 | ### How to propose a project 89 | 90 | A Scala Center spree is the perfect event to gauge interest in your open-source 91 | projects. You not only have the opportunity to get new contributors involved in 92 | your project, but you can win friends and lifetime maintainers that help you 93 | make a difference in the open-source world. 94 | 95 | There is only one requirement to submit a project -- you need to be present for 96 | the duration of the Scala Center spree. Your physical presence is important to 97 | assist and motivate contributors. 98 | 99 | If you are a maintainer of an open-source Scala project, make a PR to add your 100 | project to the list! 101 | 102 | ### What you need to do 103 | 104 | Create a PR with the following information: 105 | 106 | - Project information. 107 | - Your contact details. 108 | - A link to a "spree" or "hackathon" label with curated tickets for the 109 | participants. See 110 | [this project](https://github.com/sbt/zinc/issues?utf8=✓&q=label:hackathon%20is:issue) 111 | for inspiration. 112 | 113 | It's important that the curated tickets are entry-level, typical issues that you 114 | would solve in 15-20 minutes of your time as an experienced maintainer. In our 115 | experience, newcomers will take 1 to 2 hours to address them, assuming they are 116 | unfamiliar with the codebase and this is their first contribution. 117 | 118 | ### How to be an effective maintainer 119 | 120 | Maintainers can make a difference by tweaking some knobs: 121 | 122 | - Provide a `CONTRIBUTING` guide. Contributing guides explain to newcomers the 123 | usual workflow to get started and what's expected from them. Good guides: 124 | [scala/scala](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md), 125 | [sbt/zinc](https://github.com/sbt/zinc/blob/1.x/CONTRIBUTING.md), 126 | [scalameta/scalameta](https://github.com/scalameta/scalameta/blob/master/CONTRIBUTING.md), 127 | [scalacenter/scalafix](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md). 128 | - Provide a motivating `README` with clear instructions. Make sure docs are up 129 | to date. 130 | - Link to documentation when possible, or show contributors how to search for 131 | docs. You can label as `docs` any issue or PR with relevant discussions to get 132 | acquainted with implementation details and design decisions. 133 | - [Be nice to newcomers](http://brson.github.io/2017/04/05/minimally-nice-maintainer), 134 | they will always remember it! 135 | 136 | ### How to write good tickets 137 | 138 | Curating tickets is not easy. If you want to optimize for the highest number of 139 | contributors, we recommend you to: 140 | 141 | - Give hints on potential solutions. Say which solutions are not on the table, 142 | if any. 143 | - Describe the purpose of the ticket and its context. Having a clear idea of why 144 | your ticket is relevant will motivate participants. 145 | - Add links to source code sparingly. Show the entry-points for the requested 146 | functionality / fix, give a basic explanation of the code structure. 147 | - Be concise and detail specifics of your project or its implementation. 148 | Providing this kind of domain knowledge to participants will help them finish 149 | off their tickets sooner, and move to the next one! 150 | 151 | [@adpi2]: https://github.com/adpi2 152 | [@bishabosha]: https://github.com/bishabosha 153 | [@julienrf]: https://github.com/julienrf 154 | [@markehammons]: https://github.com/markehammons 155 | [@sjrd]: https://github.com/sjrd 156 | [@SethTisue]: https://github.com/SethTisue 157 | [@luksow]: https://github.com/luksow 158 | [@Pask423]: https://github.com/Pask423 159 | [@tgodzik]: https://github.com/tgodzik 160 | [@micsza]: https://github.com/micsza 161 | [Scala 2]: https://github.com/scala/bug/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 162 | [Scala 3]: https://github.com/lampepfl/dotty/issues?q=is%3Aopen+label%3ASpree+sort%3Aupdated-desc 163 | [scala-collection-compat]: https://github.com/scala/scala-collection-compat/labels/good%20first%20issue 164 | [TASTy Query]: https://github.com/scalacenter/tasty-query/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 165 | [Scaladex]: https://github.com/scalacenter/scaladex/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 166 | [Scala Debugger in Metals]: https://github.com/scalacenter/scala-debug-adapter/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 167 | [Scala CLI]: https://github.com/VirtusLab/scala-cli/issues?q=is%3Aissue+is%3Aopen+label%3A%22Warsaw+Scala+Spree%22 168 | [sttp]: https://github.com/softwaremill/sttp/issues?q=is%3Aissue+is%3Aopen+label%3Aspree-warsaw 169 | [magnolia]: https://github.com/softwaremill/magnolia/issues?q=is%3Aissue+is%3Aopen+label%3Awarsaw-spree 170 | [Slinc]: https://github.com/markehammons/slinc/issues 171 | [Scala Website]: https://github.com/scala/docs.scala-lang 172 | [sbt-version-policy]: https://github.com/scalacenter/sbt-version-policy 173 | [kebs]: https://github.com/theiterators/kebs 174 | [@anatoliykmetyuk]: https://github.com/anatoliykmetyuk 175 | [Metals]: https://github.com/scalameta/metals/issues?q=is%3Aopen+is%3Aissue+label%3Aspree 176 | [Mdoc]: https://github.com/scalameta/mdoc/issues?q=is%3Aissue+is%3Aopen+label%3Aspree 177 | [Scalameta]: https://github.com/scalameta/scalameta/issues?q=is%3Aopen+is%3Aissue+label%3Aspree 178 | [@lwronski]: https://github.com/lwronski 179 | [@Gedochao]: https://github.com/Gedochao 180 | [@wleczny]: https://github.com/wleczny 181 | -------------------------------------------------------------------------------- /2017/scaladays-cph.md: -------------------------------------------------------------------------------- 1 | # [Open Source Spree][register] 2 | 3 | 4 | The Scala Center is organizing an *Open Source Spree* before 5 | [Scala Days Copenhagen][scaladays], on Wednesday, May 31st. 6 | It'll be co-located with the [Scala Bridge](http://www.scalabridge.org/) 7 | workshop taking place at the same time. 8 | 9 | | | | 10 | | -------- | -------------------- | 11 | | Time | May 31st, 10am - 4pm | 12 | | Location | [Bella Center](https://goo.gl/maps/w7SC1uZXpDB2) | 13 | | Event Registration | Free, signup [here][register] | 14 | | Food | Free refreshments + lunch | 15 | | Conference registration | Not required | 16 | 17 | The focus of Scala Sprees is to introduce newcomers and veterans alike to open source! 18 | Come meet contributors of well-known open source Scala projects and learn how 19 | you can make your own contribution. 20 | 21 | **Your challenge?** Get one pull request merged into one of the projects, 22 | and get this awesome t-shirt: 23 | ![](https://pbs.twimg.com/media/CtnCrtvWAAAO0nE.jpg:small) 24 | 25 | [![Join the chat at https://gitter.im/scalacenter/sprees](https://badges.gitter.im/scalacenter/sprees.svg)](https://gitter.im/scalacenter/sprees?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 26 | 27 | 28 | ## Projects 29 | 30 | Here is a list of projects that you could contribute to during the spree: 31 | 32 | | Project | Contact | 33 | | ------- | ------- | 34 | | [zinc][zinc] - Scala incremental compiler | [@jvican][jvican] | 35 | | [sbt][sbt] - Scala build tool | [@jvican][jvican] | 36 | | [scastie][scastie] | [@MasseGuillaume][MasseGuillaume] | 37 | | [scaladex][scaladex] | [@MasseGuillaume][MasseGuillaume] | 38 | | [scala-lang.org][scala-lang] | [@SethTisue][SethTisue] | 39 | | [docs.scala-lang.org][docs.scala-lang] | [@SethTisue][SethTisue] | 40 | | [scala][scala]
(spec, api docs, lib, compiler) | [@SethTisue][SethTisue], [@lrytz][lrytz] | 41 | | [cbt][cbt] - simple, fast scala builds | [@cvogt][cvogt] | 42 | | [contextual][contextual] - static checking of interpolated strings | [@propensive][propensive] | 43 | | [xylophone][xylophone] - functional, typesafe XML support for Scala | [@propensive][propensive] | 44 | | [testaceous][testaceous] - dependently-typed shell/CLI interaction | [@propensive][propensive] | 45 | | [scalafix][scalafix] | [@olafurpg][olafurpg] | 46 | | [scalameta][scalameta] | [@olafurpg][olafurpg] | 47 | | [scalafmt][scalafmt] | [@olafurpg][olafurpg] | 48 | | [scalajs-bundler][scalajs-bundler] | [@julienrf][julienrf] | 49 | | [endpoints][endpoints] - Remote communication | [@julienrf][julienrf] | 50 | | [Creative Scala][creative-scala] - introducing Scala via graphics | [@noelwelsh][noelwelsh] | 51 | | [Doodle][doodle] - composable cross-platform vector graphics | [@noelwelsh][noelwelsh] | 52 | | [Accord][accord] - A sane validation library for Scala | [@holograph][holograph] | 53 | | [scala-native][scala-native] - Compile Scala to Native! | [@densh][densh], [@Duhemm][Duhemm]| 54 | | add your project here! | | 55 | 56 | Who will be leading the Scala Open Source Spree? 57 | - Jorge Vicente Cantero, [@jvican][jvican] (Scala Center) 58 | - Guillaume Massé, [@MasseGuillaume][MasseGuillaume] (Scala Center) 59 | - Ólafur Páll Geirsson, [@olafurpg][olafurpg] (Scala Center) 60 | - Seth Tisue, [@SethTisue][SethTisue] (Lightbend) 61 | - Lukas Rytz, [@lrytz][lrytz] (Lightbend) 62 | - Jon Pretty, [@propensive][propensive] (Propensive) 63 | 64 | Want to add your project to the list? Jump to the next section! 65 | 66 | [MasseGuillaume]: https://github.com/MasseGuillaume 67 | [SethTisue]: https://github.com/SethTisue 68 | [propensive]: https://github.com/propensive 69 | [cvogt]: https://github.com/cvogt 70 | [olafurpg]: https://github.com/olafurpg 71 | [jvican]: https://github.com/jvican 72 | [lrytz]: https://github.com/lrytz 73 | [julienrf]: https://github.com/julienrf 74 | [noelwelsh]: https://github.com/noelwelsh 75 | [holograph]: https://github.com/holograph 76 | [densh]: https://github.com/densh 77 | [Duhemm]: https://github.com/Duhemm 78 | 79 | [docs.scala-lang]: https://github.com/scala/scala.github.com/issues?utf8=✓&q=is%3Aissue%20is%3Aopen%20label%3Aspree%20 80 | [scala]: https://github.com/scalacenter/sprees/issues/16 81 | [scala-lang]: https://github.com/scala/scala-lang/issues?q=is%3Aissue+is%3Aopen+label%3Aspree 82 | [scaladex]: https://github.com/scalacenter/scaladex/labels/hackathon 83 | [scastie]: https://github.com/scalacenter/scastie/labels/hackathon 84 | [cbt]: https://github.com/cvogt/cbt 85 | [contextual]: https://github.com/propensive/contextual 86 | [xylophone]: https://github.com/propensive/xylophone 87 | [testaceous]: https://github.com/propensive/testaceous 88 | [scalafix]: https://github.com/scalacenter/scalafix/labels/spree 89 | [scalafmt]: https://github.com/scalameta/scalafmt/labels/spree 90 | [scalameta]: https://github.com/scalameta/scalameta/labels/Spree 91 | [zinc]: https://github.com/sbt/zinc/labels/spree 92 | [sbt]: https://github.com/sbt/sbt/labels/spree 93 | [scalajs-bundler]: https://github.com/scalacenter/scalajs-bundler/issues?q=is%3Aissue+is%3Aopen+label%3A%22low+hanging+fruit%22 94 | [endpoints]: http://julienrf.github.io/endpoints/ 95 | [creative-scala]: https://github.com/underscoreio/creative-scala/labels/hackathon 96 | [doodle]: https://github.com/underscoreio/doodle/labels/hackathon 97 | [accord]: https://github.com/wix/accord/labels/spree 98 | [scala-native]: https://github.com/scala-native/scala-native 99 | 100 | [register]: https://www.meetup.com/The-Copenhagen-Scala-Users-Group/events/239930806/ 101 | [scaladays]: http://event.scaladays.org/scaladays-cph-2017 102 | 103 | ## Duration, pace steps 104 | 105 | The spree is usually 5 to 6 hours long. 106 | 107 | At the beginning, maintainers gather together in front of all the contributors 108 | to briefly explain their projects and tickets in one minute. The idea is to give 109 | a good high-level explanation to motivate participants without going into too 110 | much detail. A link to this page is provided. 111 | 112 | When they are done, participants approach the projects they are most interested 113 | in and get it contact with the maintainers. At this point, maintainers usually 114 | listen to the participants' experience and provide personal guidance on tickets 115 | that would suit them. 116 | 117 | Then, the fun begins! Participants start hacking on their projects and 118 | maintainers review PRs as they come, assisting participants when they ask for 119 | help. We encourage maintainers to merge as many PRs as possible in the place, 120 | for two reasons: 121 | 122 | 1. Participants get a small token of appreciation from the Scala Center. 123 | 2. It increases the motivation of the participants. 124 | 125 | If participants get the first PR merged, they are invited to continue solving 126 | issues until they are happy with their work! 127 | 128 | At the middle of the spree, the Scala Center and sponsors of the event provide 129 | maintainers and participants alike with some refreshment (drinks, sandwiches, 130 | pizza, etc). 131 | 132 | Participants can leave the event at any time they want. When the time approaches 133 | the end, everyone starts to wrap up: participants finish their PRs while 134 | maintainers finish their review, and organizers of the spree give away Scala 135 | t-shirts. We finish by thanking your hard work for open-source. 136 | 137 | ## How to propose a project 138 | 139 | A Scala Center spree is the perfect event to gauge interest in your open-source 140 | projects. You not only have the opportunity to get new contributors involved in 141 | your project, but you can win friends and lifetime maintainers that help you 142 | make a difference in the open-source world. 143 | 144 | There is only one requirement to submit a project -- you need to be present for 145 | the duration of the Scala Center spree. Your physical presence is important to 146 | assist and motivate contributors. 147 | 148 | If you are a maintainer of an open-source Scala project, make a PR to add your 149 | project to the list! 150 | 151 | ### What you need to do 152 | 153 | Create a PR with the following information: 154 | 155 | * Project information. 156 | * Your contact details. 157 | * A link to a "spree" or "hackathon" label with curated tickets for the 158 | participants. See [this project](https://github.com/sbt/zinc/issues?utf8=✓&q=label:hackathon%20is:issue) for inspiration. 159 | 160 | It's important that the curated tickets are entry-level, typical issues that you 161 | would solve in 15-20 minutes of your time as an experienced maintainer. In our 162 | experience, newcomers will take 1 to 2 hours to address them, assuming they are 163 | unfamiliar with the codebase and this is their first contribution. 164 | 165 | #### How to be an effective maintainer 166 | 167 | Maintainers can make a difference by tweaking some knobs: 168 | 169 | * Provide a `CONTRIBUTING` guide. Contributing guides explain to newcomers the 170 | usual workflow to get started and what's expected from them. Good guides: 171 | [scala/scala](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.m://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md), 172 | [sbt/zinc](https://github.com/sbt/zinc/blob/1.0/CONTRIBUTING.md), [scalameta/scalameta](https://github.com/scalameta/scalameta/blob/master/CONTRIBUTING.md), 173 | [scalacenter/scalafix](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md). 174 | * Provide a motivating `README` with clear instructions. Make sure docs are up to date. 175 | * Link to documentation when possible, or show contributors how to search for 176 | docs. You can label as `docs` any issue or PR with relevant discussions to 177 | get acquainted with implementation details and design decisions. 178 | * [Be nice to newcomers](http://brson.github.io/2017/04/05/minimally-nice-maintainer), they 179 | will always remember it! 180 | 181 | #### How to write good tickets 182 | 183 | Curating tickets is not easy. If you want to optimize for the highest number of 184 | contributors, we recommend you to: 185 | 186 | * Give hints on potential solutions. Say which solutions are not on the table, 187 | if any. 188 | * Describe the purpose of the ticket and its context. Having a clear idea of why 189 | your ticket is relevant will motivate participants. 190 | * Add links to source code sparingly. Show the entry-points for the requested 191 | functionality / fix, give a basic explanation of the code structure. 192 | * Be concise and detail specifics of your project or its implementation. 193 | Providing this kind of domain knowledge to participants will help them 194 | finish off their tickets sooner, and move to the next one! 195 | -------------------------------------------------------------------------------- /2017/lambdaworld.md: -------------------------------------------------------------------------------- 1 | # Open Source Spree 2 | 3 | The Scala Center is organizing an *Open Source Spree* during 4 | [Lambda World], on Thursday, October 26th! 5 | 6 | | | | 7 | | -------- | -------------------- | 8 | | Time | October 26th, 15:00 - 19:00 | 9 | | Location | [Palacio de Congresos, Cádiz](https://goo.gl/maps/yin5wbQJVxm) | 10 | | Conference registration | **Required** | 11 | | Event Registration | Part of conference registration | 12 | | Food | Conference lunch is before the event | 13 | 14 | The focus of Scala Sprees is to introduce newcomers and veterans alike to open source! 15 | Come meet contributors of well-known open source Scala projects and learn how 16 | you can make your own contribution. 17 | 18 | **Your challenge?** Get one pull request merged into one of the projects, 19 | and get this awesome t-shirt: 20 |

21 | ![](https://pbs.twimg.com/media/CtnCrtvWAAAO0nE.jpg:small) 22 | 23 | [![Join the chat at https://gitter.im/scalacenter/sprees](https://badges.gitter.im/scalacenter/sprees.svg)](https://gitter.im/scalacenter/sprees?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 24 | 25 | 26 | ## Projects 27 | 28 | Here is a list of projects that you could contribute to during the spree: 29 | 30 | | Project | Contact | 31 | | ------- | ------- | 32 | | [freestyle] - A cohesive & pragmatic framework of FP centric Scala libraries | [@raulraja] | 33 | | [magnolia], [contextual], [totalitarian] and “others” - nicely named libraries | [@propensive] | 34 | | [literator] - generate markdown docs from sources | [@laughedelic] | 35 | | [sbt-github-release] - publish release notes on Github | [@laughedelic] | 36 | | [sbt-notifications] - native OS notifications from sbt | [@laughedelic] | 37 | | [sbt-publish-more] - publish to several repositories | [@laughedelic] | 38 | | [zinc][zinc] - Scala incremental compiler | [@jvican] & [@Duhemm] | 39 | | [sbt][sbt] - Scala build tool | [@jvican] & [@Duhemm] | 40 | | [Scala Native][scala-native] | [@Duhemm] | 41 | | [scala-lang.org][scala-lang] | [@jvican] | 42 | | [docs.scala-lang.org][docs.scala-lang] | [@jvican] | 43 | | [sbt-release-early][sbt-release-early] | [@jvican] | 44 | | [sbt-bintray][sbt-bintray] | [@jvican] | 45 | | [sbt-pgp][sbt-pgp] | [@jvican] | 46 | | [sbt-crossproject][sbt-crossproject] | [@jvican] | 47 | | add your project here! | | 48 | 49 | ### Special Collaboration with 47 Degrees 50 | 51 | Here below a list of [Freestyle](https://github.com/frees-io/) projects that you might want to contribute during the spree: 52 | 53 | | Project | Contact | 54 | | ------- | ------- | 55 | | [freestyle] - A cohesive & pragmatic framework of FP centric Scala libraries | [@raulraja] & [@fedefernandez] & [@juanpedromoreno] | 56 | | [iota] - Fast [co]product types with a clean syntax. For Cats & Scalaz. | [@raulraja] & [@fedefernandez] & [@juanpedromoreno] | 57 | | [freestyle-cassandra] - Freestyle Cassandra | [@raulraja] & [@fedefernandez] & [@juanpedromoreno] | 58 | | [freestyle-rpc] - Freestyle RPC | [@raulraja] & [@fedefernandez] & [@juanpedromoreno] | 59 | | [sbt-freestyle-protogen] - Sbt plugin to generate .proto files from freestyle-rpc service definitions | [@raulraja] & [@fedefernandez] & [@juanpedromoreno] | 60 | 61 | Who will be leading the Scala Open Source Spree? 62 | - Julien Richard-Foy, [@julienrf] (Scala Center) 63 | - Guillaume Massé, [@MasseGuillaume] (Scala Center) 64 | 65 | Want to add your project to the list? Jump to the next section! 66 | 67 | [@cvogt]: https://github.com/cvogt 68 | [@fedefernandez]: https://github.com/fedefernandez 69 | [@gabro]: https://github.com/gabro 70 | [@jdegoes]: https://github.com/jdegoes 71 | [@juanpedromoreno]: https://github.com/juanpedromoreno 72 | [@julienrf]: https://github.com/julienrf 73 | [@laughedelic]: https://github.com/laughedelic 74 | [@loicdescotte]: https://github.com/loicdescotte 75 | [@MasseGuillaume]: https://github.com/MasseGuillaume 76 | [@propensive]: https://github.com/propensive 77 | [@raulraja]: https://github.com/raulraja 78 | [@smarter]: https://github.com/smarter 79 | [@Duhemm]: https://github.com/Duhemm 80 | [@jvican]: https://github.com/jvican 81 | 82 | [cbt]: https://github.com/cvogt/cbt 83 | [contextual]: https://github.com/propensive/contextual 84 | [coursier]: https://github.com/coursier/coursier 85 | [doodle]: https://github.com/underscoreio/doodle/labels/hackathon 86 | [dotty]: https://github.com/lampefl/dotty 87 | [endpoints]: https://github.com/julienrf/endpoints/labels/low-hanging%20fruit 88 | [freestyle]: https://github.com/frees-io/freestyle/labels/spree 89 | [freestyle-cassandra]: https://github.com/frees-io/freestyle-cassandra/labels/spree 90 | [freestyle-rpc]: https://github.com/frees-io/freestyle-rpc/labels/spree 91 | [hamsters]: https://github.com/scala-hamsters/hamsters 92 | [iota]: https://github.com/frees-io/iota/labels/spree 93 | [magnolia]: https://github.com/propensive/magnolia 94 | [literator]: https://github.com/laughedelic/literator/labels/spree 95 | [sbt-freestyle-protogen]: https://github.com/frees-io/sbt-freestyle-protogen/labels/spree 96 | [sbt-github-release]: https://github.com/ohnosequences/sbt-github-release/labels/spree 97 | [sbt-notifications]: https://github.com/laughedelic/sbt-notifications/labels/spree 98 | [sbt-publish-more]: https://github.com/laughedelic/sbt-publish-more/labels/spree 99 | [scaladex]: https://github.com/scalacenter/scaladex/labels/hackathon 100 | [scalafix]: https://github.com/scalacenter/scalafix 101 | [scalajs-bundler]: https://github.com/scalacenter/scalajs-bundler/issues?q=is%3Aissue+is%3Aopen+label%3A%22low+hanging+fruit%22 102 | [scalaz]: https://github.com/scalaz/scalaz 103 | [scastie]: https://github.com/scalacenter/scastie/labels/hackathon 104 | [totalitarian]: https://github.com/propensive/totalitarian 105 | 106 | [sbt-release-early]: https://github.com/scalacenter/sbt-release-early 107 | [sbt-bintray]: https://github.com/sbt/sbt-bintray 108 | [sbt-pgp]: https://github.com/sbt/sbt-pgp 109 | [sbt-crossproject]: https://github.com/scala-native/sbt-crossproject 110 | 111 | [docs.scala-lang]: https://github.com/scala/scala.github.com/issues?utf8=✓&q=is%3Aissue%20is%3Aopen%20label%3Aspree%20 112 | [scala]: https://github.com/scalacenter/sprees/issues/16 113 | [scala-lang]: https://github.com/scala/scala-lang/issues?q=is%3Aissue+is%3Aopen+label%3Aspree 114 | [cbt]: https://github.com/cvogt/cbt 115 | [contextual]: https://github.com/propensive/contextual 116 | [xylophone]: https://github.com/propensive/xylophone 117 | [testaceous]: https://github.com/propensive/testaceous 118 | [scalafix]: https://github.com/scalacenter/scalafix/labels/spree 119 | [scalafmt]: https://github.com/scalameta/scalafmt/labels/spree 120 | [scalameta]: https://github.com/scalameta/scalameta/labels/Spree 121 | [zinc]: https://github.com/sbt/zinc/labels/spree 122 | [sbt]: https://github.com/sbt/sbt/labels/spree 123 | [endpoints]: http://julienrf.github.io/endpoints/ 124 | [creative-scala]: https://github.com/underscoreio/creative-scala/labels/hackathon 125 | [doodle]: https://github.com/underscoreio/doodle/labels/hackathon 126 | [accord]: https://github.com/wix/accord/labels/spree 127 | [scala-native]: https://github.com/scala-native/scala-native/labels/spree 128 | 129 | [Lambda World]: http://lambda.world/ 130 | 131 | ## Duration, pace steps 132 | 133 | At the beginning, maintainers gather together in front of all the contributors 134 | to briefly explain their projects and tickets in one minute. The idea is to give 135 | a good high-level explanation to motivate participants without going into too 136 | much detail. A link to this page is provided. 137 | 138 | When they are done, participants approach the projects they are most interested 139 | in and get it contact with the maintainers. At this point, maintainers usually 140 | listen to the participants' experience and provide personal guidance on tickets 141 | that would suit them. 142 | 143 | Then, the fun begins! Participants start hacking on their projects and 144 | maintainers review PRs as they come, assisting participants when they ask for 145 | help. We encourage maintainers to merge as many PRs as possible in the place, 146 | for two reasons: 147 | 148 | 1. Participants get a small token of appreciation from the Scala Center. 149 | 2. It increases the motivation of the participants. 150 | 151 | If participants get the first PR merged, they are invited to continue solving 152 | issues until they are happy with their work! 153 | 154 | At the middle of the spree, the Scala Center and sponsors of the event provide 155 | maintainers and participants alike with some refreshment (drinks, sandwiches, 156 | pizza, etc). 157 | 158 | Participants can leave the event at any time they want. When the time approaches 159 | the end, everyone starts to wrap up: participants finish their PRs while 160 | maintainers finish their review, and organizers of the spree give away Scala 161 | t-shirts. We finish by thanking your hard work for open-source. 162 | 163 | ## How to propose a project 164 | 165 | A Scala Center spree is the perfect event to gauge interest in your open-source 166 | projects. You not only have the opportunity to get new contributors involved in 167 | your project, but you can win friends and lifetime maintainers that help you 168 | make a difference in the open-source world. 169 | 170 | There is only one requirement to submit a project -- you need to be present for 171 | the duration of the Scala Center spree. Your physical presence is important to 172 | assist and motivate contributors. 173 | 174 | If you are a maintainer of an open-source Scala project, make a PR to add your 175 | project to the list! 176 | 177 | ### What you need to do 178 | 179 | Create a PR with the following information: 180 | 181 | * Project information. 182 | * Your contact details. 183 | * A link to a "spree" or "hackathon" label with curated tickets for the 184 | participants. See [this project](https://github.com/sbt/zinc/issues?utf8=✓&q=label:hackathon%20is:issue) for inspiration. 185 | 186 | It's important that the curated tickets are entry-level, typical issues that you 187 | would solve in 15-20 minutes of your time as an experienced maintainer. In our 188 | experience, newcomers will take 1 to 2 hours to address them, assuming they are 189 | unfamiliar with the codebase and this is their first contribution. 190 | 191 | #### How to be an effective maintainer 192 | 193 | Maintainers can make a difference by tweaking some knobs: 194 | 195 | * Provide a `CONTRIBUTING` guide. Contributing guides explain to newcomers the 196 | usual workflow to get started and what's expected from them. Good guides: 197 | [scala/scala](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.m://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md), 198 | [sbt/zinc](https://github.com/sbt/zinc/blob/1.0/CONTRIBUTING.md), [scalameta/scalameta](https://github.com/scalameta/scalameta/blob/master/CONTRIBUTING.md), 199 | [scalacenter/scalafix](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md). 200 | * Provide a motivating `README` with clear instructions. Make sure docs are up to date. 201 | * Link to documentation when possible, or show contributors how to search for 202 | docs. You can label as `docs` any issue or PR with relevant discussions to 203 | get acquainted with implementation details and design decisions. 204 | * [Be nice to newcomers](http://brson.github.io/2017/04/05/minimally-nice-maintainer), they 205 | will always remember it! 206 | 207 | #### How to write good tickets 208 | 209 | Curating tickets is not easy. If you want to optimize for the highest number of 210 | contributors, we recommend you to: 211 | 212 | * Give hints on potential solutions. Say which solutions are not on the table, 213 | if any. 214 | * Describe the purpose of the ticket and its context. Having a clear idea of why 215 | your ticket is relevant will motivate participants. 216 | * Add links to source code sparingly. Show the entry-points for the requested 217 | functionality / fix, give a basic explanation of the code structure. 218 | * Be concise and detail specifics of your project or its implementation. 219 | Providing this kind of domain knowledge to participants will help them 220 | finish off their tickets sooner, and move to the next one! 221 | -------------------------------------------------------------------------------- /2023/usa.md: -------------------------------------------------------------------------------- 1 | # Open Source Spree 2 | 3 | The focus of Scala Sprees is to help newcomers and veterans alike participate 4 | in open source! Come meet contributors of well-known open source Scala projects and 5 | learn how you can make your own contribution. 6 | 7 | We have TWO sprees planned for June 2023 in Seattle and San Francisco! 8 | 9 | **Your challenge?** Get one pull request merged into one of the projects, and 10 | get this awesome t-shirt: 11 | ![](https://pbs.twimg.com/media/CtnCrtvWAAAO0nE.jpg:small) 12 | 13 | ## Seattle, USA. Monday, 5th of June 2023 14 | 15 | | | | 16 | |--------------------|-------------------------------------------------------------------------------------------------| 17 | | Time | Monday, 5th of June 2023, 13:30-17:00 | 18 | | Location | [Bell Harbor International Conference Center](https://scaladays.org/seattle-2023/the-venue), Waterlink Suite, Co-located with the Scala Days conference | 19 | | Event Registration | | 20 | | Bring | laptop + power cord | 21 | 22 | ### Projects 23 | 24 | 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](https://airtable.com/shrwSI11zJHmh7CkZ), indicating that you would like to be a mentor. 25 | 26 | | Project | Contact | 27 | |--------------------------------------------------------------------------------------|----------------------------------------------------------------------| 28 | | [Scala Compose](https://github.com/virtuslab/scala-compose) – a tool to enable multi-modular projects for Scala CLI. | Jamie Thompson [@bishabosha](https://github.com/bishabosha) | 29 | | [Scala 3 Compiler](https://github.com/lampepfl/dotty/issues?q=is%3Aopen+label%3ASpree+sort%3Aupdated-desc) and Scaladoc tool | Guillaume Martres [@smarter](https://github.com/smarter), Seth Tisue [@SethTisue](https://github.com/SethTisue), Szymon Rodziewicz [@szymon-rd](https://github.com/szymon-rd), Anatolii Kmetiuk [@anatoliykmetyuk](https://github.com/anatoliykmetyuk) | 30 | | [Scala 2 Compiler](https://github.com/scala/bug/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc) and standard library | Seth Tisue [@SethTisue](https://github.com/SethTisue) | 31 | | [scala-collection-compat](https://github.com/scala/scala-collection-compat/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc) makes Scala 2.13 APIs available in 2.12 and 2.11 | Seth Tisue [@SethTisue](https://github.com/SethTisue) | 32 | | [scala-library-next](https://github.com/scala/scala-library-next/issues?q=is%3Aopen+label%3A%22help+wanted%22+sort%3Aupdated-desc) proposed additions to Scala standard library | Seth Tisue [@SethTisue](https://github.com/SethTisue) | 33 | | Scala websites ([scala-lang](https://github.com/scala/scala-lang/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc), [docs.scala-lang](https://github.com/scala/docs.scala-lang/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc)) | Seth Tisue [@SethTisue](https://github.com/SethTisue) | 34 | | [Scala Metals](https://github.com/scalameta/metals/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc) IDE for VS Code, Emacs, vim, ... | Tomasz Godzik [@tgodzik](https://github.com/tgodzik) | 35 | | [Bloop](https://github.com/scalacenter/bloop/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc) build server used by Metals | Tomasz Godzik [@tgodzik](https://github.com/tgodzik) | 36 | | [Scalameta](https://github.com/scalameta/scalameta/issues?q=is%3Aopen+label%3Aspree+sort%3Aupdated-desc) library underlying Scalafix, Scalafmt, Metals, et al | Tomasz Godzik [@tgodzik](https://github.com/tgodzik) | 37 | | [Scala CLI](https://github.com/VirtusLab/scala-cli/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc) versatile Scala command line tool replacing `scala`/`scalac` | Tomasz Godzik [@tgodzik](https://github.com/tgodzik) | 38 | | [Scala Toolkit](https://github.com/VirtusLab/scala-cli/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc) library bundle making common tasks easy | Szymon Rodziewicz [@szymon-rd](https://github.com/szymon-rd) | 39 | 40 | 41 | | Jamie Thompson | Guillaume Martres | Anatolii Kmetiuk | 42 | |-|-|-| 43 | | | | | 44 | 45 | | Seth Tisue | Szymon Rodziewicz | Tomasz Godzik | 46 | |-|-|-| 47 | | | | | 48 | 49 | ## San Francisco, USA. Friday, 9th of June 2023 50 | 51 | | | | 52 | |--------------------|-------------------------------------------------------------------------------------------------| 53 | | Time | 9th June at 17:00-21:00 PST | 54 | | Location | [Tubi TV](https://tubitv.com): 315 Montgomery St, 16th Floor, San Francisco, 94104 | 55 | | Event Registration | | 56 | | Notes | Registration @Tubi (except employees): [Tubi Entry Form](https://forms.gle/43gFze68K39qoy6n8) | 57 | | Bring | laptop + power cord | 58 | | Questions | [Alexandros Bantis, Tubi (Avatar engineering)](mailto:abantis@tubi.tv?subject=Scala%20Spree%202023) | 59 | 60 | ### Projects 61 | 62 | 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](https://airtable.com/shrwSI11zJHmh7CkZ), indicating that you would like to be a mentor. 63 | 64 | | Project | Contact | 65 | |--------------------------------------------------------------------------------------|----------------------------------------------------------------------| 66 | | [lance](https://github.com/lancedb/lance/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc) -- needs JVM bindings | Chang She [@changhiskhan](https://github.com/changhiskhan) | 67 | | [Scala Compose](https://github.com/virtuslab/scala-compose) – a tool to enable multi-modular projects for Scala CLI. | Jamie Thompson [@bishabosha](https://github.com/bishabosha) | 68 | | [Scala 3 Compiler](https://github.com/scala/bug/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc) and Scaladoc tool | Guillaume Martres [@smarter](https://github.com/smarter), Seth Tisue [@SethTisue](https://github.com/SethTisue), Anatolii Kmetiuk [@anatoliykmetyuk](https://github.com/anatoliykmetyuk) | 69 | | [Scala 2 Compiler](https://github.com/scala/bug/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc) and standard library | Seth Tisue [@SethTisue](https://github.com/SethTisue) | 70 | | [scala-collection-compat](https://github.com/scala/bug/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc) makes Scala 2.13 APIs available in 2.12 and 2.11 | Seth Tisue [@SethTisue](https://github.com/SethTisue) | 71 | | [scala-library-next](https://github.com/scala/bug/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc) proposed additions to Scala standard library | Seth Tisue [@SethTisue](https://github.com/SethTisue) | 72 | | Scala websites ([scala-lang](https://github.com/scala/scala-lang/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc), [docs.scala-lang](https://github.com/scala/docs.scala-lang/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc)) | Seth Tisue [@SethTisue](https://github.com/SethTisue) | 73 | 74 | | Chang She | Guillaume Martres | Anatolii Kmetiuk | Seth Tisue | 75 | |-|-|-|-| 76 | | | | | | 77 | 78 | ## Duration, pace steps 79 | 80 | At the beginning, maintainers gather together in front of all the contributors 81 | to briefly explain their projects and tickets in one minute. The idea is to give 82 | a good high-level explanation to motivate participants without going into too 83 | much detail. A link to this page is provided. 84 | 85 | When they are done, participants approach the projects they are most 86 | interested in and speak with the maintainers. Maintainers can listen 87 | to the participants' experience and provide guidance on what tickets 88 | would suit them. 89 | 90 | Then, the fun begins! Participants start hacking on their projects and 91 | maintainers review PRs as they come, assisting participants when they ask for 92 | help. We encourage maintainers to merge as many PRs on the spot if possible, 93 | for two reasons: 94 | 95 | 1. Participants get a small token of appreciation from the Scala Center. 96 | 2. It increases the motivation of the participants. 97 | 98 | If a participant gets their first PR merged, they are invited to continue solving 99 | issues until they are happy with their work! 100 | 101 | At the middle of the spree, the Scala Center and sponsors of the event provide 102 | maintainers and participants alike with some refreshment (drinks, sandwiches, 103 | pizza, etc). 104 | 105 | Participants can leave the event at any time they want. When the time approaches 106 | the end, everyone starts to wrap up: participants finish their PRs while 107 | maintainers finish their review, and organizers of the spree give away Scala 108 | t-shirts. We finish by thanking your hard work for open-source. 109 | 110 | ## For Maintainers 111 | 112 | ### How to propose a project 113 | 114 | A Scala Center spree is the perfect event to gauge interest in your open-source 115 | projects. You not only have the opportunity to get new contributors involved in 116 | your project, but you can make friends and co-maintainers that help you 117 | make a difference in the open-source world. 118 | 119 | There is only one requirement to submit a project -- you need to be present for 120 | the duration of the Scala Center spree. Your physical presence is important to 121 | assist and motivate contributors. 122 | 123 | If you are a maintainer of an open-source Scala project, fill in the registration 124 | [form](https://airtable.com/shrwSI11zJHmh7CkZ) and we will get in touch with you. 125 | 126 | ### What you need to do 127 | 128 | Create a PR with the following information: 129 | 130 | - Project information. 131 | - Your contact details. 132 | - A link to a "spree" or "hackathon" label with curated tickets for the 133 | participants. See 134 | [this project](https://github.com/sbt/zinc/issues?utf8=✓&q=label:hackathon%20is:issue) 135 | for inspiration. 136 | 137 | It's important that the curated tickets are entry-level, typical issues that you 138 | would solve in 15-20 minutes of your time as an experienced maintainer. In our 139 | experience, newcomers will take 1 to 2 hours to address them, assuming they are 140 | unfamiliar with the codebase and this is their first contribution. 141 | 142 | ### How to be an effective maintainer 143 | 144 | Maintainers can make a difference by tweaking some knobs: 145 | 146 | - Provide a `CONTRIBUTING` guide. Contributing guides explain to newcomers the 147 | usual workflow to get started and what's expected from them. Good guides: 148 | [scala/scala](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md), 149 | [sbt/zinc](https://github.com/sbt/zinc/blob/1.x/CONTRIBUTING.md), 150 | [scalameta/scalameta](https://github.com/scalameta/scalameta/blob/master/CONTRIBUTING.md), 151 | [scalacenter/scalafix](https://github.com/scala/scala/blob/2.12.x/CONTRIBUTING.md). 152 | - Provide a motivating `README` with clear instructions. Make sure docs are up 153 | to date. 154 | - Link to documentation when possible, or show contributors how to search for 155 | docs. You can label as `docs` any issue or PR with relevant discussions to get 156 | acquainted with implementation details and design decisions. 157 | - [Be nice to newcomers](http://brson.github.io/2017/04/05/minimally-nice-maintainer), 158 | they will always remember it! 159 | 160 | ### How to write good tickets 161 | 162 | Curating tickets is not easy. If you want to optimize for the highest number of 163 | contributors, we recommend you to: 164 | 165 | - Give hints on potential solutions. Say which solutions are not on the table, 166 | if any. 167 | - Describe the purpose of the ticket and its context. Having a clear idea of why 168 | your ticket is relevant will motivate participants. 169 | - Add links to source code sparingly. Show the entry-points for the requested 170 | functionality / fix, give a basic explanation of the code structure. 171 | - Be concise and detail specifics of your project or its implementation. 172 | Providing this kind of domain knowledge to participants will help them finish 173 | off their tickets sooner, and move to the next one! 174 | --------------------------------------------------------------------------------