|
| 1 | +# Introduction |
| 2 | + |
| 3 | +<img src="./innersource-patterns-book-cover.jpg" title="InnerSource Patterns"> |
| 4 | + |
| 5 | +{% hint style="info" %} |
| 6 | +This is an early release of the InnerSource Patterns book. |
| 7 | +You may still find broken links, spelling mistakes, or other errors in this book. |
| 8 | +Please help us to fix them to produce the best book possible :). Learn how to [contribute to this book](../book/contribute-to-this-book.md). |
| 9 | +{% endhint %} |
| 10 | + |
| 11 | +Welcome to the **InnerSource Patterns book**. |
| 12 | + |
| 13 | +This book contains InnerSource best practices codified in a specific format to make it easy to understand, evaluate, and apply them in your context. We call this format a **pattern**. |
| 14 | + |
| 15 | +These patterns have been collected by the [InnerSource Commons](http://innersourcecommons.org) community over many years. The most mature patterns have been published in this book. Mature in this context means that each pattern has been reviewed by members of the community, and has at least one known instance where this pattern has been used. |
| 16 | + |
| 17 | +In this introduction we explain [what InnerSource is](#what-is-innersource), [what a pattern is](#what-are-innersource-patterns), and [how to use these patterns](#how-can-you-use-innersource-patterns) in your organization. |
| 18 | + |
| 19 | +If you are using InnerSource in your company already and want to contribute your experiences to this book we would love to [welcome your contributions](../book/contribute-to-this-book.md)! |
| 20 | + |
| 21 | +## What is InnerSource? |
| 22 | + |
| 23 | +We define InnerSource as: |
| 24 | + |
| 25 | +> The use of open source principles and practices for software development within the confines of an organisation. |
| 26 | +
|
| 27 | +InnerSource takes the lessons learned from developing open source software and applies them to the way companies develop software internally. As developers have become accustomed to working on world class open source software, there is a strong desire to bring those practices back inside the firewall and apply them to software that companies may be reluctant to release. |
| 28 | + |
| 29 | +For companies building mostly closed source software, InnerSource can be a great tool to help break down silos, encourage internal collaboration, accelerate new engineer on-boarding, and identify opportunities to contribute software back to the open source world. |
| 30 | + |
| 31 | +## What are InnerSource Patterns? |
| 32 | + |
| 33 | +Patterns are a way of describing a repeatable, proven solution to a problem within a context. They follow a simple form that helps people wanting to implement the solution to understand the constraints on the problem, the forces that must be balanced and the resulting context - the situation created by applying the solution. |
| 34 | + |
| 35 | +In inner sourcing, patterns can provide a way for the InnerSource Commons participants to concisely share information with each other, improving the practice of inner sourcing. Each of the patterns are divided into Title, Problem Statement, Context, Forces, and Solutions as their main sections. |
| 36 | + |
| 37 | +* [`What are patterns?` Youtube videos](http://bit.ly/innersource_patterns_videos) - Watch a set of 2-5 min youtube videos explaining InnerSource Patterns |
| 38 | +* [Pattern Discussion Webinar](https://youtu.be/i-0IVhfRVFU) - We held a webinar 2017-03-16 to live-discuss a donut pattern (go to 24:30 for the discussion). This is an illustration of the review process we follow. Also see the [June 1, 2017 O'Reilly Webinar on InnerSource Patterns](http://www.oreilly.com/pub/e/3884). |
| 39 | +* [Pattern Template](../meta/pattern-template.md) - View a skeleton inner source pattern to get an idea on what goes into a new pattern! |
| 40 | +* [Introduction to InnerSource Patterns (2016 Fall Summit presentation)](https://drive.google.com/open?id=0B7_9iQb93uBQbnlkdHNuUGhpTXc) - *Tim Yao and Padma Sudarsan* (PDF). Detailed pattern background and examples -- Get a detailed understanding of why and how to interact with our patterns. Also see the [Introduction to InnerSource Patterns (2017 Fall Summit)](https://drive.google.com/open?id=0B7_9iQb93uBQWmYwMFpyaGh4OFU) *Tim Yao and Bob Hanmer* (PDF). |
| 41 | + |
| 42 | +## How can you use InnerSource Patterns? |
| 43 | + |
| 44 | +Patterns must be used in a thoughtful manner. They cannot be blindly applied. In most cases, you will need to adapt the given solution to your own situation; but the information given in the pattern, defining the context (immovable constraints) and forces (constraints that can be changed and balanced against each other), should help you do this. Note that you will also need to determine if there are additional constraints (company context and company forces) that apply to your particular company/organization that must be added to the pattern (as a kind of filter). These additional constraints may require additional solution steps to be applied. |
| 45 | + |
| 46 | +The pattern form is useful for describing proven solutions but it can also be used for *brainstorming new solutions* where patterns are not yet established. This is, because the anatomy of a pattern provides a frame for thinking about a problem in a structured manner. You could also create a *donut pattern* (filling in the problem, context, forces and resulting context fields but leaving the solution blank) as a way of asking the InnerSource Commons community for help (to find a proven solution or to brainstorm things to try). |
| 47 | + |
| 48 | +## How to Contribute? |
| 49 | + |
| 50 | +Please refer to: [Contribute to this book](./contribute-to-this-book.md) |
| 51 | + |
| 52 | +## Credits |
| 53 | + |
| 54 | +This book is the result of many years of work from countless [Open Source Contributors](https://github.com/InnerSourceCommons/InnerSourcePatterns/graphs/contributors) from around the world. Their willingness to openly share the challenges that they faced in their companies, and how InnerSource has helped them address those challenges, make this book such a valuable resource for others on their InnerSource journey. |
| 55 | + |
| 56 | +We want to specifically mention the InnerSource Patterns Working Group. They have nurtured the quality of the InnerSource Patterns and helped others to contribute. Lastly they also compiled a selection of available patterns into this book. |
| 57 | + |
| 58 | +The title image of this book was created by [Sebastian Spier](https://spier.hu) and adapted from an image by [Tony Hisgett - Alhambra 6](https://www.flickr.com/photos/hisgett/29345405788/), available under [CC BY 2.0](https://creativecommons.org/licenses/by/2.0/). |
| 59 | + |
| 60 | + **Thank you to all contributors! And happy InnerSource Day :)** |
| 61 | + |
| 62 | +## Licensing |
| 63 | + |
| 64 | + |
| 65 | + |
| 66 | +InnerSourcePatterns by [InnerSourceCommons.org](http://innersourcecommons.org) is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International](http://creativecommons.org/licenses/by-sa/4.0/) License. |
0 commit comments