collaborating on github for open source documentation

33
2015 Collaborating on GitHub FOR OPEN SOURCE DOCUMENTATION Anne Gentle October 15, 2015 #GHC15 2015

Upload: anne-gentle

Post on 16-Apr-2017

608 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Collaborating on GitHub for Open Source Documentation

2015

Collaborating on GitHubFOR OPEN SOURCE DOCUMENTATION

Anne GentleOctober 15, 2015

#GHC15

2015

Page 2: Collaborating on GitHub for Open Source Documentation

2015

Questions at the end……but you can always

ask me anything:

documenting 20 cloud servicesacross 130 GitHub repositories

With 800 docs contributors in 4 years

@annegentle, #[email protected]

Page 3: Collaborating on GitHub for Open Source Documentation

2015

Git and GitHub 2005 born after spectacular Linux tooling failure Social web, leads to social coding Git is for command line, GitHub is the web interface Cross-platform tooling - Windows, Mac, Linux Merge files rather than a “lock and checkout” model Non-linear branching model

Page 4: Collaborating on GitHub for Open Source Documentation

2015

GitHub VocabularyBRANCH

Indicator of divergence from base

COMMIT

Point in time snapshot of repository with changes

FORK

Copy repository, copy of repository

PUSH

Move changes branch to branch

ORGANIZATION

Collection of repositories

PULL REQUEST

Comparison of edits to see if team wants to accept changes

RESPOSITORY

Collection of stored code or documentation

ISSUE

Defects, tasks, or feature requests

Page 5: Collaborating on GitHub for Open Source Documentation

2015

Github

WRITING IN ISOLATION

Flickr:mtischendorf

Page 6: Collaborating on GitHub for Open Source Documentation

2015

Collaborate Where Users Are

Curate the audience

Write with and for the audience

Reward the audience

Page 7: Collaborating on GitHub for Open Source Documentation

2015

MOTIVATIONSEnsure that contributors are valued and rewarded!

Sense of belonging Pay it forward (reciprocity) Effective, time-saving, user support Reputation, recruiting

Flickr:elkaypics

Page 8: Collaborating on GitHub for Open Source Documentation

2015

MOTIVATIONSEnsure that contributors are valued and rewarded!

Sense of belonging Pay it forward (reciprocity) Effective, time-saving, user support Reputation, recruiting

LET’S CURATEAuthors

ProcessesTools

MindsetsAttitudes

Jobs

Flickr:roswellsgirl

Page 9: Collaborating on GitHub for Open Source Documentation

2015

MOTIVATIONSEnsure that contributors are valued and rewarded!

Sense of belonging Pay it forward (reciprocity) Effective, time-saving, user support Reputation, recruiting

TREAT DOCSLIKE CODE

Flickr:roswellsgirl

Page 10: Collaborating on GitHub for Open Source Documentation

2015

Long Tail Contributions

Rise of the niche Finding like-minded

people interested in your content

Dark corners of knowledge gap are filled with docs

Page 11: Collaborating on GitHub for Open Source Documentation

2015

The Docs Suck

In what way? Which page? How can I get it not

to suck?

Page 12: Collaborating on GitHub for Open Source Documentation

2015

Doc Issues Tracking Tasks, outright errors

and feature requests I’ll triage the issue and

guide you in fixing it, issue reporter

http://guides.github.com/features/issues/

Page 13: Collaborating on GitHub for Open Source Documentation

2015

Writers Never Get ReviewsDocumentation system so separate from code system that technical reviews are through email

Or

*gasp*

Frozen-in-time PDF filesFlickr:elkaypics

Page 14: Collaborating on GitHub for Open Source Documentation

2015

Reviewers Fix Docs“This is wrong, here’s how to fix it”

Working in the same collaboration tools as technical people gives better reviews

We can merge as many as 50 patches per day; running four automated tests per patch and requiring two humans to check the patch and click in order to publish

Page 15: Collaborating on GitHub for Open Source Documentation

2015

UNFAIRTREATMENT

Docs ghetto

Flickr:mtischendorf

Page 16: Collaborating on GitHub for Open Source Documentation

2015

Value PropositionWriter contributions, when treated like code, are valued equally with developer code

Page 17: Collaborating on GitHub for Open Source Documentation

2015

White Coat ToolsClosely guarded secrets of proprietary tool chains with expensive per-seat licenses

Or

Secret developer workflows are mysterious to writers

Flickr:darthnick

Page 18: Collaborating on GitHub for Open Source Documentation

2015

Beautiful Docs Widely accepted

tooling built in the open so we can make it work for us and for devs (readthedocs.org)

Simple markup Flat file builds We can patch and log

issues against the tooling

Page 19: Collaborating on GitHub for Open Source Documentation

2015

ONLY DEVTEAMS GET CI/CD

Deploying containers and micro services oh my.

Docs, use some horrifyingly slow proprietary tool, kthnxbai.

Flickr:photohome_uk

Page 20: Collaborating on GitHub for Open Source Documentation

2015

CI/CD FOR ALL Docs can be published automatically after

reviewers merge the change Docs can have simple tests to ensure quality

and that you “don’t break the build.” Scrape the code to build more helpful docs

(especially reference) https://opensource.com/business/15/7/

continuous-integration-and-continuous-delivery-documentation

Flickr:pedrovenzini

Page 21: Collaborating on GitHub for Open Source Documentation

2015

What Pairs Well with GitHub? Simple markup: Markdown, RST GitHub Pages: http://pages.github.com Static site generators:

https://staticsitegenerators.net/ Well-documented style guide and

contributor guide Open licensing: Creative Commons Borrowing development techniques

Page 22: Collaborating on GitHub for Open Source Documentation

2015

========================================Discover the version number for a client========================================

Run the following command to discover the version number for a client:

.. code-block:: console

$ PROJECT --version

For example, to see the version number for the ``nova`` client, run thefollowing command:

.. code-block:: console

$ nova --version 2.31.0

Source | Output

Page 23: Collaborating on GitHub for Open Source Documentation

2015

Who Uses Git and GitHub? O’Reilly Media for book publishing GitHub uses GitHub to document GitHub OpenStack uses open source Git Rackspace Cloud documentation uses GitHub Many, many more organizations

Page 24: Collaborating on GitHub for Open Source Documentation

2015

Flickr:lamont_cranston

What Are SomeDifficulties?

Scope of reviews Scale questions Official-ness Naming

Page 25: Collaborating on GitHub for Open Source Documentation

2015

Flickr:pedrovenzini

What Are SomeDifficulties?

Scope and scale questions Official-ness Identity Naming

Flickr:davebloggs007

QUALITY GATEYou shall not pass… Test for unwanted

white space Test docs syntax Test docs build

Page 26: Collaborating on GitHub for Open Source Documentation

2015

Flickr:pedrovenzini

What Are SomeDifficulties?

Scope and scale questions Official-ness Identity Naming

Flickr:hddod

END THE TEDIUMENABLE THE ROBOTS Build the docs and publish them

to drafts or staging area Docs are always available for

reviews

Page 27: Collaborating on GitHub for Open Source Documentation

2015

Flickr:pedrovenzini

Coach Better Writing Become the experts and

consultations while enabling others to improve their writing

The people with the knowledge can become better writers and learn more empathy by writing for the users

Flickr:philgaldys

Page 28: Collaborating on GitHub for Open Source Documentation

2015

Flickr:pedrovenzini

What Are SomeDifficulties?

Scope and scale questions Official-ness Identity Naming

Flickr:mortimer

CREATE TEAMS We now divide the work by

deliverable: user guides, install guides, configuration guides

We scrape the code as often as we can to deliver continuously

Page 29: Collaborating on GitHub for Open Source Documentation

2015

Flickr:pedrovenzini

What Are SomeDifficulties?

Scope and scale questions Official-ness Identity Naming

Flickr:turbojoe

BUILD A REPUTATION Measure quality and quantity Count contributions and

improvements Compare over time; benchmark

and reward

Page 30: Collaborating on GitHub for Open Source Documentation

2015

“We’re crazy, but we’re writing a book

in five days.”- Anne Gentle

https://youtube.com/watch?v-IYfHEy6E2n0

Page 31: Collaborating on GitHub for Open Source Documentation

2015

Flickr:pedrovenzini

What Are SomeDifficulties?

Scope and scale questions Official-ness Identity Naming

Flickr:candelabrumdanse

Ask me. Challenge me. Find out.

Page 32: Collaborating on GitHub for Open Source Documentation

2015

MOTIVATIONSEnsure that contributors are valued and rewarded!

Sense of belonging Pay it forward (reciprocity) Effective, time-saving, user support Reputation, recruiting

Page 33: Collaborating on GitHub for Open Source Documentation

2015

Got Feedback?

Rate and Review the session using the GHC Mobile App

To download visit www.gracehopper.org