Hi and welcome to Summer of Nix! If you are in an Eastern time zone, you may wake up long before the first Summer of Nix kickoff meeting and wonder what to do. This is a post to help you get through your first week. To have fun and be productive at Summer of Nix it’s important to understand what it is about.
Summer of Nix is a community program. Don’t expect to come into a made nest where you can simply code down tasks A-Z. Documentation may be missing, tasks and issues may be ill defined, infrastructure may be bad. This is not a bug but a feature: work on the program and deciding what to work on is part of the program! What you can expect and should actively pursue, is to make contact with a group of interesting people at Summer of Nix, work together and make incremental progress on many fronts.
But what constraints do you have? What can you work on? What does success look like for Summer of Nix? Summer of Nix is funded by the European Commission’s NGI program and its goal is to improve the experience of developing, deploying and using NGI-funded Free and Open Source Software with the help of Nix. Keep this wider goal in mind! It’s a great helper whenever you need to make decisions whether what you do falls in scope or not. Summer of Nix is successful if we can show a record of activities that show that brought us closer to this goal. Code contributions can fall under scope, and so can blog posts but also meta-work like curating issues or exchanging with other participants are of course in scope. What is expected of you is to work together on small pieces that bring all of us closer to this goal and write down each week what you did
Now, this is all fairly abstract. Concretely here is what you can do in the first week.
- connect to other participants and members of your team on matrix.
- attend one of the kickoff meetings, the public lecture, your team meeting and maybe other events (e.g. mob programming)
- work through the backlog of issues for new NGI packages https://github.com/ngi-nix/ngi/issues. Each team has randomly assigned issues tagged with your team’s name as label so that we don’t step on each others feet. Read through the projects, get an understanding of what is on there, comment on issues if information is missing or add information, see whether there are any low hanging fruits.
- read through the contribution list of the Summer of Nix 2021 report https://summer.nixos.org/assets/report-2021.pdf and think about whether a project is particularly interesting to you. You could write a deployment story about this tool, a blog articles which explains what it is doing and how it can be deployed with Nix. On the way you can improve it and contribute such to the overall goals of Summer of Nix.
- connect with any of the project leads that are in the respective matrix channels for BANG, Dream2Nix, Documentation, or Jitsi. Give them time to answer because they might not necessarily be online. Also, we would like to organize short presentations of the work that you could do on each of these projects.
- think about whether you would like to help improve Summer of Nix itself. Work on the website is super urgent: replacing it with a simple static site generator so that we can more easily post articles and improving the design (=> website channel on matrix). Work on build infrastructure is urgent: getting a build server up. Work on streaming infrastructure is urgent: get our own streaming infra up so that we can move away from proprietary software more quickly. (infra channel on matrix).
- schedule a first team meeting with your team and get an idea of who is in your team
- get a feeling which issues are assigned to your team
- get a feeling of who has what interest in your team and help participants make a decision what to work on
- hang out in your project’s matrix channel and answer questions from time to time
- think about outstanding tasks that others can work on (first issues)
- think about a quick (informal) presentation of your project and reach out to org (e.g. me) to schedule it for everyone
- hang out in the tech questions channel
- add your normal availability to discourse thread
- maybe already join a pairing session
- maybe join one of the mobbing sessions