Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Open Source Stewardship

Open Source Stewardship

Stewardship is an old word. It means taking on the responsibilities that come with ownership, with an ethic of public service. This is vital to open source, which, as a gift economy, is sustained and enlivened by the generosity of individuals sharing their knowledge and their time. This talk will look at what it means to be a steward in open source, in practical terms, from creation to maintenance to sunsetting. In doing so, open source consumers and contributors alike will be able to be successful, responsible members of the community.

This talk was presented at NSNorth, on May 10, 2014.

Mattt Thompson

May 10, 2014
Tweet

More Decks by Mattt Thompson

Other Decks in Programming

Transcript

  1. Stewardship (n.) An ethic that embodies the responsible planning and

    management of resources. Old English: stiward, stigweard "house guardian, housekeeper," from stig "hall, pen for cattle, part of a house"
  2. ISO 20121 Event Sustainability Management System Requirements with guidance for

    use; ❡3.20: "Responsibility for sustainable development shared by all those whose actions affect environmental performance, economic activity, and social progress, reflected as both a value and a practice by individuals, organisations, communities, and competent authorities."
  3. Commodity vs. Gift Exchange "Gifts and Commodities" (1982), by Chris

    Gregory — immediate vs. delayed exchange — alienable vs. inaliable goods — indepedent vs. dependent actors — quantitative vs. qualitative relationships — between objects vs. people
  4. $ whoami - AFNetworking - Nomad CLI - Postgres.app -

    Induction.app - Helios - Ono - TTTAttributedLabel - FormatterKit - TransformerKit - InflectorKit - CargoBay - GroundControl - SkyLab - Orbiter - ...
  5. This talk is as much aspirational as it is (hopefully)

    instructive. I could be so, so much better at this. I want to be so much better at this. I hope we can get there together.
  6. What's in a README? — A short introduction — A

    section describing the basic usage — A list of requirements and instructions on how to install the project — Links to documentation and resources for additional information — Contact information for the creator — A quick statement about licensing
  7. s t r e t c h Your Code -

    Static Analyzer - Automated Unit Tests - Complete Examples - Use in Production Applications
  8. tl;dr MIT License Can — Commercial Use — Private Use

    — Modify — Distribute — Sublicense
  9. NSHipsterKit.podspec Pod::Spec.new do |s| s.name = 'NSHipsterKit' s.version = '1.0.0'

    s.license = 'MIT' s.summary = "A pretty obscure library. You've probably never heard of it." s.homepage = 'http://nshipster.com' s.authors = { 'Mattt Thompson' => '[email protected]' } s.source = { :git => 'https://github.com/nshipster/NSHipsterKit.git', :tag => '1.0.0' } s.source_files = 'NSHipsterKit' end
  10. :(

  11. ...

  12. Semantic Versioning Guidelines http://semver.org — MAJOR version when you make

    incompatible API changes, — MINOR version when you add functionality in a backwards-compatible manner, and — PATCH version when you make backwards-compatible bug fixes.
  13. @protocol OSSDelegate <Person> @property (getter = isEmpathetic) BOOL empathetic; -

    (void)communicateWithClass:(Class)always; - (void)take:(id)charge and:(id)responsibility; - (void)knowWhatThe:(id)bleep theyAreDoingWith:(id)domain; @optional - (BOOL)conformsToYourExactWayOfDoingThings; @end
  14. Wrapping Up — Announce the end of the project, offering

    suggestions for how to migrate to another solution. — Keep the project around, but make a commit that removes source files from the master branch. (git will keep everything safe in history) — Thank everyone involved for their help and contributions.
  15. We are in the midst of a Renaissance with Objective-C

    ...and it has as much to do with the language as it does with the community