Workshop: Growing an open source community

From Teaching Open Source

Jump to: navigation, search
Note.png
This workshop is under construction. We're doing a first experimental run with Red Hat associates in Raleigh in June 2011 - if that goes well, we'll start looking at external audiences as well. Comments and thoughts always welcome! Mel Chua 06:31, 4 May 2011 (UTC)

Contents

[edit] Logistics

  • June 21, 2011 (all-day)
  • Red Hat Raleigh office
  • 25-seat cap; advance sign-up required
  • Bring a laptop running Fedora or RHEL (any version) and a digital copy of your project's latest source code (in any format).

[edit] Overview

You had an itch. You scratched it. There was a problem that was bugging you, and you wrote some code to solve it. Congratulations! Now what?

Give us a day, and we'll help you open source your code in a way that goes far beyond simply slapping the GPL on it. With a little community infrastructure investment up front, you can gather users and contributors and save a lot of time and effort on maintenance down the road.

[edit] Audience

You've written code to solve your problems. Maybe it's not specifically your Red Hat dayjob to do development, but somewhere along the way you ran into a problem and ended up solving it by writing some code that worked for you. You think other people might find it useful, and wish you could get some help maintaining it, but also know that just slapping the GPL on it and throwing it out there probably won't do much. You'd love more users and some help developing, but it's not like you've got free time to go about building up that momentum - and maybe you're not exactly sure how to do it.

Before the workshop starts, you must be:

  • Comfortable using Fedora, RHEL, or a similar RPM-based Linux distribution for your day-to-day work
  • Able to edit a wiki
  • Able use version control (any kind)
  • Able to use a bug/ticket tracker (any kind)
  • Know how to converse on IRC

Basic coding skill is all that's needed; if you knew enough to make something useful to you (even if it's "just" a shell script), then it's probably useful to someone else as well. You do need to be able to come for the whole day. Bring a laptop.

[edit] Content

Open source communities are powerful tools. We're going to teach you how to make them.

We'll be using Karl Fogel's Producing Open Source Software (creative commons licensed and freely downloadable online) as a primary text. By the end of the workshop, you'll have:

  • Chosen a license for your project (if you haven't already).
  • Gotten your code into version control (if it's not already).
  • Gotten all the current bugs and future features out of your head, into well-written tickets, and triaged.
  • Whipped your installation and developer docs into such good shape that a curious new contributor can install and tweak your code with little or no intervention on your part. Don't worry if you don't have these yet; we'll help you make them.
  • Identified and contacted likely upstreams, collaborators, and co-maintainers.
  • Articulated a release cycle for your project based on both upstream and user schedule constraints.
  • Developed a demo walkthrough to advertise your project.
  • Received your first patch from a new contributor.
  • Honed and practiced your project's elevator pitch.
  • Figured out your exit strategy - what if you don't want to keep maintaining this forever? What are your options?
  • And more.

Exercises will be punctuated by stories from Red Hatters who have started and launched successful open source projects, along with mini-lectures on licensing (from Red Hat Legal), infrastructure, marketing, packaging and distribution (from Fedora Infrastructure, Marketing, and Packaging respectively), lightweight project/product management, and governance/communication/conflict.

[edit] Assessment

There is no assessment associated with this workshop.