Gitlab hero border pattern left svg Gitlab hero border pattern right svg

GitLab Contribute

Everyone can contribute.

Watch the Video

Upcoming Contribute

Save the date, we're back! More details about the dates for the next Contribute are on the event landing page

What, where, and when

We try to get together every 9 months or so to get face-time with one another, build community, and get some work done! Since our team is scattered all over the globe, we try to plan a different location for each GitLab Contribute.

Contribute is not a mandatory trip or a department offsite, nor is it a vacation or incentive trip. It's a chance for everyone to meet fellow GitLab team-members across all departments and regions: part team building, part education, part customer interaction, and hopefully all fun.


The goal of Contribute is to get to know the people in the GitLab community better. The better you know people, the easier it is to collaborate. We want to build trust between groups.


All team members of the GitLab company, Core Team, contributors, customers, press, and anyone in our community that is interested in joining.

Code of Conduct

General guidelines and information are on this page but our official Code of Conduct policy is outlined on this page.


As soon as dates and a location are confirmed, we'll open our registration. Registration cuts off 2 weeks before the event takes place. New GitLab team-members who are scheduled to start in the weeks and days before Contribute will be sent communications and instructions on getting ready for Contribute, with the template found in the Employment project. New GitLab team-members may purchase flights and prepare to submit reimbursement Day 1. On their first day, they may register for the event and workshops through the invitation that will have been sent to their GitLab email. Hotel rooms are being held for these new hires. They will be able to access the Contribute App to see the full schedule and information without logging in.

Attending Contribute

Bring your significant other

  • Significant Others (SO) are welcome to attend and must register for their own ticket.
  • One SO per team member
  • You are responsible for the SO you invite
  • Your SOs presence should not distract you from engaging with other team members and actively participating in Contribute activities
  • SOs should do their best to get to know many people
  • SOs are welcome at all presentations, events, and meetings that are open to all team members
  • If you're having a meal with your SO, pick a table with more than two seats so you can invite others to join you

Having your children join you

We have observed from the past that contributors who have chosen to bring children spend significantly less time collaborating with GitLab team members. If you need to travel with family members, you are expected to fully engage in as many group activities as you are physically able, invite team members to join you during meals, attend all company meetings, and recognize that Contribute is an investment in the continued growth of the organization.

Leisure time around Contribute

  • GitLab Contribute is a work trip, not an incentive trip
  • If you want to enjoy the facilities or the area around it, feel free to book an extra day or more before or after Contribute
  • The Contribute team will plan "regular work time" for you to do regular work such as handling emails
  • When you sign up for the activities we plan for the non-work days, you agree to show up.
  • If you don't show up for the activity, you will be responsible for the costs involved for the seat you give up after the RSVP deadline has passed.
  • When you don't sign up at all, you understand that there will not be a ticket booked for you and you won't be able to join the activitie(s).

Social media

You are encouraged to take pictures and post on social media. If you take pictures of people not on the podium please ask their permission. Please consider using the hashtag #GitLabContribute. Our social media guidelines still apply.

Contribute sessions

GitLab Contribute has variety of sessions: unconference, workshops, presentations, etc. Contribute isn’t a conference, it's a "meeting of minds”. It's a place to connect and collaborate in an environment where everyone can contribute. We don’t present to our users and customers, or schedule special/VIP time with them. They are expected to join in the overall program.

Unconference sessions

The goal is for a group to come together to produce something collectively. A participant can be anyone in the GitLab community: GitLab team-member, significant other, customer, contributors, including GitLab users.

What to expect

  1. Everyone can contribute. a. Limit to 15 people. (i.e. Small enough so that everyone can share)
  2. Content is generated from the discussion, not prepared ahead of time.
  3. Each session has a GitLab issue on the project page for the event, or a Google Doc to capture notes. a. Pro tip: Set up offline access for Google Drive so you can take notes even if wifi is spotty. The doc is then ready to share once you can connect to the internet again.
  4. Sharing in real-time is optional. a. Everyone can contribute, not everyone must contribute. b. Some folks prefer to listen. c. Some folks prefer to think about the session then add comments to Google Doc later.
  5. Can be GitLab or non-GitLab related a. GitLab related: Produce notes that can be shared. Decide later if any action needs to be taken. Create an MR together on-site. b. Non-Gitlab related: Just have a discussion about something you enjoy with other people who enjoy the same thing to build a relationship.
  6. Preparation needed: a. A GitLab issue or Google Doc for the session b. A facilitator

How to facilitate an unconference session

  1. Give a short introduction to the topic for folks that may not be familiar.
  2. Ask some questions to get people talking then let the discuss flow organically, e.g. Why did you come to this session? You mentioned X, can you tell us more about that?
  3. It's good to ask someone this if they’ve been quiet or haven’t participated yet. Some folks are waiting for an invitation to speak and will appreciate being asked specifically to share. Some folks will say, “no thanks” and prefer to listen. Both are ok.
  4. The facilitator might need to interrupt someone who has just interrupted someone else so that everyone can contribute and one person doesn’t dominate the conversation.
  5. At the end of the session summarize the session.
  6. You do not need to prepare anything, there is no presentation needed, just bring your enthusiasm for the subject.

Unconference results

The following are measures of a successful unconference session:

  1. Contribution: the more people contributing, the better.
  2. Thorough notes: a Google Doc full of notes. There’s no expectation to act on the notes. Once the session is complete, you can decide if there’s a next action.
  3. Relationship building: some sessions won’t have a next-step action; they were simply opportunities for people who enjoy the same thing to build relationships. E.g.board games, cooking, or sharing recipes, snacks or talk about favorite tv shows and movies.
  4. Tangible artifacts: assets produced by the group (e.g. an MR, a demo, a diagram, a song, etc.)

Unconference coordination

Here's an overview of how this works during Contribute.

  • We request everyone to send in topics during registration to discuss during the sessions at Contribute.
  • If you're suggesting a topic, we ask you to be the topic leader. What this means is explained above under "how to facilitate an unconference session"
  • When time is up you give a short summary and thank the people that contributed relevant questions and answers.
  • Everyone signs up for sessions, we limit every session to 15 people maximum so that everyone can contribute.
  • We have scheduled time for the unconference sessions and will provide the schedule of the sessions and topics several weeks before the event so facilitators can prepare some notes.

Team sessions/time

Most sessions can, and should, have diverse group of folks attending like GitLab team-members from different teams, community, etc. There should also be scheduled time for teams to have team-only time to discuss their work, strategize, and problem solve.

  1. Functional groups meet together (e.g. East Sales, Pipe-to-Spend, Site Reliability Engineering, etc.)
  2. Cross-functional groups meet together (e.g. Plan, Create, Verify, etc.)
  3. Customers meet together without any GitLab team-members in the room to talk freely to each other.


What to expect

  1. A workshop is interactive training of 45 minutes with 15 minutes for Q&A (topic exmaples: Rails Girls, Kubernetes 101, Speaker Training, etc.) 
  2. Everyone can participate. It’s a workshop, not a presentation. Everyone in the room should be able participate.
  3. Can be a small or large number of people. Larger groups may need multiple facilitators or coaches to ensure everyone can participate.
  4. Requires preparation and coordination ahead of time to facilitate a productive workshop. a. Room needs to be set up. b. Outline or the training needs to be created. c. Supplemental materials may to be created. d. Good WIFI may be required.
  5. Can be simple and lightweight (e.g. bring your laptop and learn: how to use git, how to make an MR, how to contribute to GitLab, etc. This is content that already exists in the handbook/website, but it can be very helpful to have someone walk you through it in person.)

Workshop results

The following are measures of a successful workshop.

  1. Equipping: People learn a new skill or improve an existing skill.
  2. Participation: Everyone has the opportunity to participate.

You can see a list of workshops and their slidesin the project issue tracker.


  1. Presentations are one-way, one-to-many communication mode (one person speaking many people listening.)
  2. One-way, one-to-many communication is easy to do remote while Unconference-style, many-to-many discussion is harder to do remote.
  3. If a GitLab team-member has an idea for a presentation they should do this outside of Contribute (e.g. schedule a remote call, livestream or upload the recording to YouTube, link it in the training section of the handbook, etc.)
  4. Customers and Users presentations are good for Contribute so that more GitLab team-members can hear from our customers and experience greater customer empathy.

Keynotes and interviews

The following should be assigned and/or arranged a month before Contribute:

  • All interviews, keynotes and content production
  • Who will be presenting, when and what they will be presenting
  • Projectors, wireless (non-hand-held) microphones, and any other (audio) needs
  • Recording equipment such as stage cam, audience cam, presentation feed etc.
  • An audio feed that goes directly from microphone into the recording
  • A program and manager for live streaming
  • The blog text for the presentation, including relevant materials shared after the presentation, as well as approval and a plan to publish the blog 24 hours after the presentation is given

Values Awards

To reinforce our CREDIT values

  • We will give away one award to a GitLab team-member for each of the CREDIT values. Each award winner will be recognized on stage during Contribute
  • To qualify to be nominated for a values award, a GitLab team-member must have received at least 2 discretionary bonuses in the time since the last Contribute ended. If there aren't at least three team-members eligible for nomination for a specific value who have had at least 2 bonuses awarded, then any team-member who has had 1 discretionary bonus for that value will be nominated
  • One week before Contribute, the E-group will select the values award winners from the nominees
  • The E-group will appoint a Director or above to manage the awards process at least three months before Contribute



Great WiFi is essential to the success of Contribute. We can't have everyone in one location and not have excellent internet.

  1. Main room needs one access point for every 40 people attending in the main room and management, we have our own equipment to assist if needed.
  2. We need two different uplinks from two different providers.
  3. We need our own router between the uplinks and the WiFi.
  4. We need wired connections to the WiFi access points.
  5. We need to have WiFi working before the executive team arrives.
  6. We need very reliable fast connections during Contribute.
  7. We need a map of the property with all wiring and access points drawn in 3 months before Contribute starts.

Logistical basics

  • Ensure there are large meeting rooms for team members to join work hours and presentations
  • Tip: Label your charger, or other belongings, with your name for easy return to owner in case you lose it
  • Name badges should include home city, pronoun, company, hugs, how many contributes attended.