Skip to content

Commit 4cead47

Browse files
authored
Merge pull request #111 from InnerSourceCommons/enhance-innersource-ai
Expand InnerSource and AI section with agentic coding topics
2 parents 5ccbfee + aae38bf commit 4cead47

27 files changed

Lines changed: 398 additions & 126 deletions

.github/workflows/mdbook.yml

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -44,28 +44,26 @@ jobs:
4444
restore-keys: |
4545
${{ runner.os }}-cargo-registry-
4646
47-
- name: Cache Rust toolchains
47+
# Cache full RUSTUP_HOME (rustc + toolchain + settings) so rustup does minimal work on restore.
48+
- name: Cache Rust toolchain (rustc)
4849
uses: actions/cache@v4
4950
with:
50-
path: |
51-
${{ env.RUSTUP_HOME }}/toolchains
52-
${{ env.RUSTUP_HOME }}/update-hashes
51+
path: ${{ env.RUSTUP_HOME }}
5352
key: ${{ runner.os }}-rust-toolchain-${{ hashFiles('scripts/install-mdbook.sh') }}
5453
restore-keys: |
5554
${{ runner.os }}-rust-toolchain-
5655
56+
# Exact key only (no restore-keys) so we never restore a bin/ missing a tool (e.g. linkcheck2).
5757
- name: Cache installed mdBook binaries
5858
id: mdbook-cache
5959
uses: actions/cache@v4
6060
with:
6161
path: |
6262
${{ env.CARGO_HOME }}/bin
6363
key: ${{ runner.os }}-mdbook-bin-${{ hashFiles('scripts/install-mdbook.sh') }}
64-
restore-keys: |
65-
${{ runner.os }}-mdbook-bin-
6664

65+
# Script skips install when cached binaries already match versions in install-mdbook.sh
6766
- name: Install mdBook
68-
if: steps.mdbook-cache.outputs.cache-hit != 'true'
6967
run: bash scripts/install-mdbook.sh
7068
env:
7169
REPO_ROOT: ${{ github.workspace }}
@@ -104,17 +102,17 @@ jobs:
104102
restore-keys: |
105103
${{ runner.os }}-cargo-registry-
106104
107-
- name: Cache Rust toolchains
105+
# Cache full RUSTUP_HOME (rustc + toolchain + settings) so rustup does minimal work on restore.
106+
- name: Cache Rust toolchain (rustc)
108107
if: github.event.action != 'closed'
109108
uses: actions/cache@v4
110109
with:
111-
path: |
112-
${{ env.RUSTUP_HOME }}/toolchains
113-
${{ env.RUSTUP_HOME }}/update-hashes
110+
path: ${{ env.RUSTUP_HOME }}
114111
key: ${{ runner.os }}-rust-toolchain-${{ hashFiles('scripts/install-mdbook.sh') }}
115112
restore-keys: |
116113
${{ runner.os }}-rust-toolchain-
117114
115+
# Exact key only (no restore-keys) so we never restore a bin/ missing a tool (e.g. linkcheck2).
118116
- name: Cache installed mdBook binaries
119117
if: github.event.action != 'closed'
120118
id: mdbook-cache
@@ -123,11 +121,10 @@ jobs:
123121
path: |
124122
${{ env.CARGO_HOME }}/bin
125123
key: ${{ runner.os }}-mdbook-bin-${{ hashFiles('scripts/install-mdbook.sh') }}
126-
restore-keys: |
127-
${{ runner.os }}-mdbook-bin-
128124

125+
# Script skips install when cached binaries already match versions in install-mdbook.sh
129126
- name: Install mdBook
130-
if: github.event.action != 'closed' && steps.mdbook-cache.outputs.cache-hit != 'true'
127+
if: github.event.action != 'closed'
131128
run: bash scripts/install-mdbook.sh
132129
env:
133130
REPO_ROOT: ${{ github.workspace }}

.lycheeignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Pages excluded from link checking (see scripts/lychee-book.sh)
2+
# print.html aggregates the whole book and repeats links; excluding it is required.
3+
^https?://[^/]+/print\.html
4+
# External sites that block or throttle link checkers
5+
https://pixabay.com/users/bru-no-1161770/
6+
https://pixabay.com/service/license-summary/
7+
https://www.sap.com/
8+
# Built book may serve this chapter at README.html or index.html; ignore if 404
9+
^https?://[^/]+/measuring/gqm_example/README\.html

CONTRIBUTING.md

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
This book is built as a [Gitbook book](https://gitbook.com). This is written
44
using [Markdown syntax](https://www.gitbook.com/book/gitbookio/markdown/).
55
This is maintained under the [InnerSource Commons' GitHub account](https://github.com/innersourcecommons) in the
6-
[Managing Inner Source Projects repository](https://github.com/innersourcecommons/managing-inner-source-projects).
6+
[Managing Inner Source Projects repository](https://github.com/innersourcecommons/managing-innersource-projects).
77

88
Thus you can follow the usual contribution process in GitHub through
99
[Pull Requests](https://help.github.com/articles/about-pull-requests/). You can
1010
see for instance the pull requests open and closed at this point in time and for
11-
this repository at https://github.com/innersourcecommons/managing-inner-source-projects/pulls .
11+
this repository at https://github.com/innersourcecommons/managing-innersource-projects/pulls .
1212

1313
If you want to share an idea, comment or feature request, you can also open an issue
14-
in the [GitHub issues tracking for this repository](https://github.com/innersourcecommons/managing-inner-source-projects/issues).
14+
in the [GitHub issues tracking for this repository](https://github.com/innersourcecommons/managing-innersource-projects/issues).
1515

1616
Please be aware that all of your contributions will be opened by default and
1717
that those will be licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/).
@@ -23,7 +23,7 @@ This book uses the [Goal-Question-Metric] approach to documenting InnerSource me
2323
The full graph of relationships is visible in this [graph].
2424

2525
Add in your scenarios by copying this [goal template], [question template], and/or [metric template], filling them out, and submitting them in pull request.
26-
After successful merge, a [Trusted Committer](https://github.com/orgs/InnerSourceCommons/teams/ispo-working-group-trusted-committers) will manually[^1] add those to the [graph].
26+
After successful merge, a [Trusted Committer](https://github.com/orgs/InnerSourceCommons/teams/ispo-working-group-trusted-committers) will manually add those to the [graph].
2727
If interested, feel free to [edit the MermaidJS source] of the graph on your own!
2828

2929
By adding in your scenarios to the graph, you will be able to see how others approach and interact with them.
@@ -33,15 +33,12 @@ You may get new ideas of what metrics answer the questions you have or what addi
3333

3434
When using titles in Markdown, use # for main title, ## for the second header title, etc. It's just to follow the same style :).
3535

36-
[^1]: [#37](https://github.com/InnerSourceCommons/managing-inner-source-projects/issues/37) will automate the addition of new goals, questions, and metrics to the graph.
37-
At that time this manual step will no longer be needed.
38-
3936
[Goal-Question-Metric]: https://en.wikipedia.org/wiki/GQM
40-
[goals]: https://github.com/InnerSourceCommons/managing-inner-source-projects/tree/main/measuring/goals
41-
[questions]: https://github.com/InnerSourceCommons/managing-inner-source-projects/tree/main/measuring/questions
42-
[metrics]: https://github.com/InnerSourceCommons/managing-inner-source-projects/tree/main/measuring/metrics
43-
[goal template]: https://github.com/InnerSourceCommons/managing-inner-source-projects/blob/main/measuring/goals/gqm_goal_template.md
44-
[question template]: https://github.com/InnerSourceCommons/managing-inner-source-projects/blob/main/measuring/questions/gqm_question_template.md
45-
[metric template]: https://github.com/InnerSourceCommons/managing-inner-source-projects/blob/main/measuring/metrics/gqm_metric_template.md
46-
[edit the MermaidJS source]: https://github.com/InnerSourceCommons/managing-inner-source-projects/edit/main/measuring/use_gqm.md
47-
[graph]: https://github.com/InnerSourceCommons/managing-inner-source-projects/blob/main/measuring/use_gqm.md
37+
[goals]: https://github.com/InnerSourceCommons/managing-innersource-projects/tree/main/measuring/goals
38+
[questions]: https://github.com/InnerSourceCommons/managing-innersource-projects/tree/main/measuring/questions
39+
[metrics]: https://github.com/InnerSourceCommons/managing-innersource-projects/tree/main/measuring/metrics
40+
[goal template]: https://github.com/InnerSourceCommons/managing-innersource-projects/blob/main/measuring/goals/gqm_goal_template.md
41+
[question template]: https://github.com/InnerSourceCommons/managing-innersource-projects/blob/main/measuring/questions/gqm_question_template.md
42+
[metric template]: https://github.com/InnerSourceCommons/managing-innersource-projects/blob/main/measuring/metrics/gqm_metric_template.md
43+
[edit the MermaidJS source]: https://github.com/InnerSourceCommons/managing-innersource-projects/edit/main/measuring/use_gqm.md
44+
[graph]: https://github.com/InnerSourceCommons/managing-innersource-projects/blob/main/measuring/use_gqm.md

Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.PHONY: build serve
2+
3+
build:
4+
./scripts/build.sh
5+
6+
serve:
7+
./scripts/serve.sh

README.md

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Managing InnerSource Projects book
22

3-
![Managing InnerSource Projects](managing-innersource-projects-cover.jpg)
3+
![Managing InnerSource Projects](./managing-innersource-projects-cover.jpg)
44

55
## What is this book about?
66

@@ -15,6 +15,30 @@ Articles should be relatively short and self-contained so that they can be read
1515
Detailed explanation of InnerSource topics should go in the [InnerSource Patterns] book and be linked from the article here.
1616
Think of the articles in this book like either a conversational introduction/summary to a pattern or possible a journey showing how multiple patterns can be used together in an InnerSource Program.
1717

18+
## Building the Book Locally
19+
20+
The book is built with [mdBook](https://rust-lang.github.io/mdBook/).
21+
You don't need to install anything manually — the helper scripts handle everything.
22+
23+
**Build the book** (output goes to `book/`):
24+
25+
```sh
26+
make build
27+
```
28+
29+
**Live-preview with auto-reload** (opens a local web server):
30+
31+
```sh
32+
make serve
33+
```
34+
35+
On the first run, the scripts will automatically install Rust and mdBook into the
36+
repo-local `.cargo/` and `.rustup/` directories (these are git-ignored).
37+
Subsequent runs reuse the existing install and start immediately.
38+
39+
> **Windows users:** Run these scripts in **Git Bash** (included with
40+
> [Git for Windows](https://gitforwindows.org/)) or in WSL.
41+
1842
## Who can contribute?
1943

2044
This book is a work in progress where anyone is more than welcome to contribute
@@ -40,9 +64,9 @@ Come join us and contribute!
4064
## How Do We Structure Goals, Questions, and Metrics?
4165

4266
Review the [Goal-Question-Metric Approach](./measuring/gqm.md) to further understand how we structure goals, questions, and metrics.
43-
Review [GQM use cases and user journeys](./measuring/gqm_example/README.md) to guide their development.
67+
Review [GQM use cases and user journeys](measuring/gqm_example/README.md) to guide their development.
4468

45-
We document goals, questions, and metrics in separate folders in the [measuring](./measuring) directory.
69+
We document goals, questions, and metrics in separate folders in the [measuring](./measuring/index.md) directory.
4670
You can browse all goals, questions, and metrics in [graph format](./measuring/use_gqm.md).
4771

4872
Add in your own scenarios to the graph!
@@ -60,13 +84,12 @@ Each chapter in the book is authored and reviewed by different people. That info
6084
be found at the beginning of each chapter. This initiative is fostered by the [ISPO Working Group].
6185
For further questions, please contact us in [Slack](https://innersourcecommons.org/slack)!
6286

63-
The book cover was created by [Sebastian Spier](https://spier.hu), using an image by user [Bru-nO](https://pixabay.com/photos/measure-unit-of-measure-meterstab-2737004/), available under the [Pixabay License](https://pixabay.com/service/license/).
87+
The book cover was created by [Sebastian Spier](https://spier.hu), using an image by user [Bru-nO](https://pixabay.com/users/bru-no-1161770/), available under the [Pixabay License](https://pixabay.com/service/license-summary/).
6488

6589
All of the content found in this repository is licensed [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/).
66-
Please see [LICENSE.txt] in this repository for the full text of the license.
90+
Please see [LICENSE.txt](./LICENSE.txt) in this repository for the full text of the license.
6791

6892
[Bitergia]: https://bitergia.com/
6993
[ISPO Working Group]: https://innersourcecommons.org/community/#ispo
7094
[InnerSource Commons]: https://innersourcecommons.org/
7195
[InnerSource Patterns]: https://patterns.innersourcecommons.org/
72-
[LICENSE.txt]: ./LICENSE.txt

SUMMARY.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Summary
22

33
* [Summary](README.md)
4+
* [Contributing](CONTRIBUTING.md)
45
* [Introduction](introduction/introduction.md)
56
* [Scenarios](introduction/scenarios.md)
67
* [Framework](introduction/framework.md)
@@ -15,19 +16,23 @@
1516
* [Goals](measuring/goals/index.md)
1617
* [Find InnerSource Projects](measuring/goals/find-projects.md)
1718
* [Reduce Duplication](measuring/goals/reduce-duplication.md)
19+
* [GQM Goal Template](measuring/goals/gqm_goal_template.md)
1820
* [Questions](measuring/questions/index.md)
19-
* [What is the InnerSource Adoption Trend?](measuring/questions/adoption-trend.md)
21+
* [What is the InnerSource Adoption Trend?](measuring/questions/adoption-trend.md)
2022
* [Who contributes to the InnerSource project?](measuring/questions/who-contributes.md)
2123
* [Who Uses](measuring/questions/who-uses.md)
24+
* [GQM Question Template](measuring/questions/gqm_question_template.md)
2225
* [Metrics](measuring/metrics/index.md)
2326
* [Code Contributions](measuring/metrics/code-contributions.md)
2427
* [Contribution Distance](measuring/metrics/contribution-distance.md)
2528
* [Number of InnerSource repositories](measuring/metrics/number-of-innersource-repositories.md)
2629
* [Usage Count](measuring/metrics/usage-count.md)
30+
* [GQM Metric Template](measuring/metrics/gqm_metric_template.md)
2731
* [Areas of Analysis](measuring/areas.md)
2832
* [Goal-Question-Metric Approach](measuring/gqm.md)
2933
* [Strategy](measuring/strategy.md)
3034
* [Examples of Interest](measuring/examples.md)
35+
* [GQM Use Cases and User Journeys](measuring/gqm_example/README.md)
3136
* [References](measuring/references.md)
3237
* [Authors and Reviewers](measuring/authors.md)
3338
* [Governance](governance/governance.md)

book.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,6 @@ giscus.crossorigin = "anonymous"
2323
# Required for correct asset and 404 paths on GitHub Pages (project site and PR preview subpaths).
2424
site-url = "/managing-innersource-projects/"
2525
additional-js = ["mermaid.min.js", "mermaid-init.js"]
26+
27+
[output.linkcheck2]
28+
optional = true

governance/governance.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ organization and its context and find other goals InnerSource may
250250
contribute towards. Then communicate it and get as much air cover
251251
from your executives as you can.
252252

253-
For how governance and transparency support responsible use of AI in development, see [InnerSource and AI](/innersource-and-ai/innersource-and-ai.md), in particular [Risks and Guardrails](/innersource-and-ai/risks-and-guardrails.md).
253+
For how governance and transparency support responsible use of AI in development, see [InnerSource and AI](../innersource-and-ai/innersource-and-ai.md), in particular [Risks and Guardrails](../innersource-and-ai/risks-and-guardrails.md).
254254

255255
[^1]: http://oss-watch.ac.uk/resources/governancemodels
256256

infrastructure/basics.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ and communication. Even when the developers are in face to face meetings,
147147
those tools should be used as they will leave traces of activity readable
148148
by others within the organization.
149149

150-
![Extended usual software development process](development_workflow_all.jpg)
150+
![Extended usual software development process](./development_workflow_all.jpg)
151151

152152
## Communication Channels Infrastructure
153153

@@ -210,7 +210,7 @@ to their specific needs.
210210
The following is a potential architecture that could help when accessing
211211
the several data layers, from raw information to detailed visualizations.
212212

213-
![Monitoring Infrastructure](monitoring_infrastructure.jpg)
213+
![Monitoring Infrastructure](./monitoring_infrastructure.jpg)
214214

215215
* **Retrieval Platform**: this first part uses as input any of the data
216216
sources already mentioned. Version systems, mailing lists, tickets,
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
# InnerSource and AI
22

3-
Organizations are increasingly adopting AI in the workplace—from generative AI assistants to agentic coding tools that can write, refactor, and review code. This shift is changing how developers work: less time on typing code, more on defining requirements, guiding AI, and making sure systems are reliable and maintainable. For InnerSource program leads, the question is whether InnerSource still matters in this new landscape.
3+
Organizations are increasingly adopting AI in the workplace—from generative AI assistants to agentic coding tools that can write, refactor, and review code. In many organizations, developers are now expected to do agentic coding (sometimes called "vibe coding"), where the role shifts from writing code to providing instructions in natural language and overseeing the work of automated coding agents. Some teams are going further, with multiple agents representing roles like quality engineering, project management, and frontend/backend development working in tandem and interacting directly with tools like issue trackers and source control platforms.
4+
5+
This shift raises important questions: does software reuse still matter when AI can regenerate capabilities on demand? How do you maintain quality when code is produced at unprecedented speed? For InnerSource program leads, the question is whether InnerSource still matters in this new landscape.
46

57
It does. InnerSource is potentially *more* important than ever. Shared repositories, clear boundaries, documentation, and collaborative practices help AI systems—and the people using them—work with the right context, reuse existing components, and keep quality high. This section explains why InnerSource matters when adopting AI, how to shape your repositories and practices for AI-assisted development, and what risks and guardrails to keep in mind.
68

79
The following articles in this section go deeper:
810

9-
- [Why InnerSource Matters When Adopting AI](why-innersource-matters-with-ai.md) — Relevance of InnerSource in an AI-augmented world, reuse, and production readiness.
10-
- [Shaping Repositories and Practices for AI](shaping-for-ai.md) — Repository design, documentation, and workflow integration so both humans and AI can contribute effectively.
11-
- [Risks and Guardrails](risks-and-guardrails.md) — Balancing speed with safety, the role of code review, and organizational best practices for AI use.
11+
- [Why InnerSource Matters When Adopting AI](why-innersource-matters-with-ai.md) — Relevance of InnerSource in an AI-augmented world, reuse, the future of software development, and production readiness.
12+
- [Shaping Repositories and Practices for AI](shaping-for-ai.md) — Repository design, documentation, agent skills, emerging standards, and workflow integration so both humans and AI can contribute effectively.
13+
- [Risks and Guardrails](risks-and-guardrails.md) — Balancing speed with safety, mitigating AI slop, the role of code review, and organizational best practices for AI use.
1214

13-
AI tooling and practices are evolving quickly. This section will be updated as the community learns more and as survey and research data become available. If you are new to InnerSource, we recommend starting with [Getting Started with InnerSource](http://www.oreilly.com/programming/free/getting-started-with-innersource.csp) and the [Introduction](/introduction/introduction.md) to this book.
15+
AI tooling and practices are evolving quickly. This section will be updated as the community learns more and as survey and research data become available. If you are new to InnerSource, we recommend starting with [an Introduction to InnerSource](https://innersourcecommons.org/learn/learning-path/introduction/) and the [Introduction](../introduction/introduction.md) to this book.

0 commit comments

Comments
 (0)