GitLab Contribute

Everyone can contribute.

Watch the Video

Upcoming Contribute

The next Contribute coming up will be in May 2019 in New Orleans, Louisiana in the United States! All info to prepare for this will be on the project page as soon as we've signed with a hotel

Countdown

Counting down to May 8th - 14th 2019!

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 GitLabbers across all departments and regions: part team building, part education, part customer interaction, and hopefully all fun.

Goal

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.

Who

All team members of the GitLab company, SOs, Core Team, contributors, customers, press, and anyone interested in joining.

Attending Contribute


Attending

Leisure time around Contribute

  • GitLab Contribute is a work trip, not an incentive trip
  • If you want to enjoy the resort facilities or the area around it, feel free to book an extra day or more before or after Contribute
  • The Contribute organization 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 replied "Maybe" or didn't reply 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.

Others Attending

Bring your significant other

  • Significant Others (SO) are very welcome to attend
  • 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

Children are strongly discouraged from attending. We have observed from the past that contributors who have chosen to bring children spend significantly less time collaborating with GitLab coworkers. Accordingly, we are requesting that if you must travel with family members you 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.

Contribute Sessions

GitLab Contribute has variety of sessions: UGCs, workshops, presentations, etc. Contribute isn’t a conference, its a "meeting of minds”. Its a place to connect and collaborate in an environment where everyone can contribute. We don’t present to our users and customers, they present to us.

 
 

UGCs

UGC stands for “user generated content.” The goal is for a group to come together to produce something collectively. A UGC “user” can be anyone in the GitLab community: GitLabber, significant other, customer, contributors, etc. including “GitLab users” (e.g. someone who uses GitLab).

UGC attributes

  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 UGC has 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.
  3. Can be GitLab or non-GitLab related a. GitLab related: produce notes that can be shared. Decided later is 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.
  4. Preparation needed: a. A google doc for the session b. A facilitator

How to facilitate a UGC

  1. Give a short introduction to the topic (about 2 minutes) for folks that may not be familiar.
  2. Ask some questions to get people talking then let the discuss flow organically. Some example questions:
 a. Why did you come to this session? b. You mentioned X, can you tell us more about that? c. , do you have any thoughts on this topic?
    • 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. d. <name>, we’d like to hear what you have to say, but first let’s allow <name> finish their thought.
    • Good to interrupt someone who has just interrupted someone else so that everyone can contribute and one person doesn’t dominate the conversation.


UGC results

The following are measures of a successful UGC:

  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 UGCs won’t have a next-step action; they were simply opportunities for people who enjoy the same thing to build relationships. Examples might include board games, cooking, or mountain climbing.
  4. Tangible artifacts: assets produced by the group (e.g. an MR, a demo, a diagram, a song, etc.)


UGC coordination

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

  • We request everyone to send in topics to discuss during the sessions at Contribute a few weeks out.
  • If you're suggesting a topic, we ask you to be the topic leader. This means the following:
  • You start the session with a short 2 minute verbal introduction, no preparation or presentation needed.
  • During the discussion you facilitate the conversation, meaning keeping it on topic, making sure everyone is heard, and asking relevant questions.
  • When time is up you give a short summary and thank the people that contributed relevant questions and answers.
  • After all topics are received, we send a survey to all attendees asking them to vote on the topics most interesting to them.
  • Once we've received all votes, after the deadline, we select the topics for the sessions.
  • Everyone signs up for sessions, we limit every session to 9 people maximum so that everyone can contribute.
  • We schedule 2, 4 hour blocks on separate days to have the sessions.
  • Within each 4 hour block we schedule 4 session blocks (with multiple topics in different locations during each block) with a short break of 15 minutes in between for a quick drink/snack or bathroom break.

Workshops

  1. A workshop is interactive training (e.g. 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.
  3. 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.
  4. 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.

Presentations

  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 UGC-style, many-to-many discussion is harder to do remote.
  3. If a GitLabber 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 GitLabbers can hear from our customers and experience greater customer empathy.

Presentation results

The following are measures of a successful presentation.

  1. TODO: Add results

Team UGCs

Most UGCs can, and should, have diverse group of folks attending like GitLabbers from different teams, SOs, customers, etc. There should also be scheduled time for teams to have team-only UGCs 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 GitLabbers in the room to talk freely to each other.

Additional Information


Logistics

WiFi

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 but need to buy more.
  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 if we are livestreaming 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

Presentations

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

  • All interviews, presentations and content production
  • Who will be presenting and when & where 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