Team Onboarding

From ScummVM :: Wiki

ScummVM Team Onboarding

The general procedure for joining the team

  • Mention that you'd like to join or be invited by the lead or one of the co-leads
  • You will need to show your skills by working for a while via Pull Requests. We value code quality.
  • Suscribe to scummvm-devel mailing list
  • Send your short bio to the -devel
  • PROFIT!

Once you're in the team

Welcome to the ScummVM Team! As a team member and probably a developer, you must follow several simple rules of thumb.

First, a small reminder is that every team member can take advantage of the Team Member Benefits.

Then the rules are as follows:

  • Be nice to other developers. Treat everyone with respect. No ego. No dramas.
  • Make sure you always follow our Code Formatting Conventions, the general Coding Conventions and the Commit Guidelines.
  • Every commit must be compilable
    • Of course, things do happen. This is why we have our buildbot
    • Please, do not commit a significant change and run
    • Watch the buildbot for any possible breakages and fix them promptly
    • We have a special channel on Discord with buildbot logs, but by default you get notifications only when you are in a special Discord group "bb-notif". Please talk to sev or felsquale if you want to be added to this group.
  • You are the complete owner of your area, be it an engine or a backend. Thus, you push there freely (still following the guidelines, though)
  • In case you want to commit to other devs' engines and if it is not a trivial change, please first talk to those devs
  • In case you want to make a bigger change, or changes to other people's code, issue a Pull Request on GitHub. Or maybe you want other people to check your code first, then PR is the way to go
  • All changes to the OSystem or common code must be discussed with the leads and porters always taken into account
  • ScummVM git history is linear. This is enforced on the server
  • Do not push your branches to the main repo. In case you did it by mistake, talk to the co-leads for removing them (removing branches is prohibited by security reasons)
  • In case you want to borrow someone else's code, make sure they have a compatible license and make sure you attribute them appropriately. Talk to sev to make sure.
  • Whenever you want to announce support for your game/engine or do any other announcement, please talk first, share your draft with the team
    • For the engine/game announcement, there is a whole checklist.

This list is not complete. Talk to other devs on Discord. Communication is the Right Thing(TM).