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

Promoting Open Source Principles Across Your Or...

Promoting Open Source Principles Across Your Organization

This presentation:

* Examines common challenges in enterprise & OSS development
* Looks at how OSS communities have responded to those challenges
* Discusses principles of open development
* Explores strategies for promoting open development practices and principles within an enterprise context

Philip Holleran

June 14, 2018
Tweet

More Decks by Philip Holleran

Other Decks in Technology

Transcript

  1. the best way to build and ship software Promoting Open

    Source Principles Across Your Organization
  2. the best way to build and ship software Phil Holleran

    @pholleran Solutions Engineer 2 !
  3. the best way to build and ship software 4 let’s

    address the elephant in the room
  4. the best way to build and ship software 7 and

    now back to our regularly scheduled programming
  5. the best way to build and ship software 8 "

    # ♥ ! CHALLENGES In Ent and OSS dev RESPONSE Of OSS communities PRINCIPLES Of Open Development STRATEGIES To promote adoption
  6. the best way to build and ship software Challenges In

    Enterprise and Open Source Development 9 "
  7. the best way to build and ship software 10 most

    organizations struggle with awareness of existing enterprise development
  8. the best way to build and ship software 12 multiple

    VCSs code and metadata not searchable
  9. the best way to build and ship software 13 multiple

    VCSs code and metadata not searchable documentation
  10. the best way to build and ship software 14 multiple

    VCSs code and metadata not searchable documentation organizational knowledge transfer
  11. the best way to build and ship software 15 multiple

    VCSs code and metadata not searchable documentation organizational knowledge transfer organizational distance
  12. the best way to build and ship software 20 enterprise

    and open source projects face common challenges
  13. the best way to build and ship software 22 collaboration

    among/between distributed teams push for more rapid delivery
  14. the best way to build and ship software 23 collaboration

    among/between distributed teams push for more rapid delivery stewardship / ownership / maintenance
  15. the best way to build and ship software 25 open

    source communities have solved for existing problems
  16. the best way to build and ship software 27 asynchronous

    communication iterative development
  17. the best way to build and ship software 28 asynchronous

    communication iterative development CI/CD & automation
  18. the best way to build and ship software 29 asynchronous

    communication iterative development CI/CD & automation community & maintainers
  19. the best way to build and ship software 30 asynchronous

    communication iterative development CI/CD & automation community & maintainers reuse & package management
  20. the best way to build and ship software 32 InnerSource

    is the application of Open Source principles to enterprise development
  21. the best way to build and ship software 33 Reuse

    Collaboration Community Better software, faster InnerSource: Goals
  22. the best way to build and ship software 34 Open

    Transparent Participatory Collaborative Governed Tenets
  23. the best way to build and ship software 35 Open

    Repositories • Prior art • Reuse • Contribute %
  24. the best way to build and ship software 36 Open

    Repositories Contributions • Create branches and propose changes to repo • Governance to ensure high quality contribution • Branches and protections over forks %
  25. the best way to build and ship software 37 source

    is an artifact of a production process
  26. the best way to build and ship software 38 Transparent

    Process • Documented processes • Communication preserved and open &
  27. the best way to build and ship software 39 “we

    should do X” “we tried that a long time ago and it didn’t work” “oh, ok”
  28. the best way to build and ship software 40 “we

    should do X” “we tried that a long time ago, see https://github.com/org/repo/pulls/123” <~~READING~~> “interesting. it looks like…”
  29. the best way to build and ship software 41 Transparent

    Process Development • Collaborate while code is written • Surface concerns early, reduce churn &
  30. the best way to build and ship software 42 a

    massive stack of information does not magically enable people to participate
  31. the best way to build and ship software 44 Participatory

    ' Users • Discovery • Installation
  32. the best way to build and ship software 45 Participatory

    Users Contributors • Contributing process • Engage with the community '
  33. the best way to build and ship software 46 Participatory

    Users Contributors Maintainers • Guide the project • Stewards '
  34. the best way to build and ship software 47 an

    organization that designs a system will inevitably produce a design whose structure is a copy of the organization’s communication structure - Melvin Conway
  35. the best way to build and ship software 49 Collaborative

    Informal teams • Solicit help • Learn from others • Develop expertise #
  36. the best way to build and ship software 51 org/devGroupA

    org/devGroupB org/devGroupC org/javascript-devs
  37. the best way to build and ship software 52 org/devGroupA

    org/devGroupB org/devGroupC org/javascript-devs org/security
  38. the best way to build and ship software 53 org/devGroupA

    org/devGroupB org/devGroupC org/javascript-devs org/security org/SQL
  39. the best way to build and ship software 54 Governed

    Policies & Procedures • Reporting issues • Contributing code • Code of conduct
  40. the best way to build and ship software 55 Governed

    Policies & Procedures Enforcement • Maintainers • Automated
  41. the best way to build and ship software 56 a

    massive stack of information does not magically enable people to participate
  42. the best way to build and ship software 60 help

    people find and use your project
  43. the best way to build and ship software 61 keep

    repositories as open as possible
  44. the best way to build and ship software 62 use

    a single, highly searchable, VCS to promote discovery
  45. the best way to build and ship software 64 use

    multiple forms of documentation aimed at the appropriate audience
  46. the best way to build and ship software 65 Documentation:

    audiences End users Contributors General “public” !
  47. the best way to build and ship software 69 link

    like repositories to help people find to related work
  48. the best way to build and ship software 71 Provide

    easy access to versions, release notes, and binaries
  49. the best way to build and ship software 74 Reduce

    friction involved with contributing
  50. the best way to build and ship software 75 Contributions

    Open an Issue Improve docs Offer insight in Issue/PR Unsolicited improvements Knock out the backlog/roadmap " #
  51. the best way to build and ship software 76 Reduce

    friction required to Get up and running #
  52. the best way to build and ship software 77 Script

    the things script/bootstrap script/server script/test #
  53. the best way to build and ship software 78 Reduce

    friction required to Submit contribution Get up and running #
  54. the best way to build and ship software 81 Reduce

    friction required to Submit contribution Make sure stuff works Get up and running #
  55. the best way to build and ship software 82 we

    are more receptive to feedback from pedantic robots than pedantic people
  56. the best way to build and ship software 86 What

    else can we test? # https://twitter.com/jesstelford/status/1003853034386960384
  57. the best way to build and ship software 88 Tests

    and CI https://github.com/wooorm/alex https://github.com/btford/write-good #
  58. the best way to build and ship software 89 Reduce

    friction required to Submit contribution Make sure stuff works Get up and running Find ways to contribute #
  59. the best way to build and ship software 92 Maintainers

    Set vision & direction Document processes Set / maintain tone Approve / collaborate / deny submissions " Facilitate shared ownership $
  60. the best way to build and ship software 98 "

    # ♥ ! CHALLENGES In Ent and OSS dev RESPONSE Of OSS communities PRINCIPLES Of Open Development STRATEGIES To promote adoption