1
1
# Introduction
2
2
3
- Infrastructure is one of the key aspects when dealing with inner source .
3
+ Infrastructure is one of the key aspects when dealing with InnerSource .
4
4
This provides the tools necessary to develop and communicate across
5
5
the development teams.
6
6
7
7
Developers, middle management and C-level are all part of this process.
8
8
All of these groups are part of the mindset change to be part of a more open
9
9
software development process. And any of those should accept the new rules to play.
10
10
11
- As inner source aims at bringing some of the principles when developing
12
- in open source communities, inner source communities needs a cultural
11
+ As InnerSource aims at bringing some of the principles when developing
12
+ in open source communities, InnerSource communities needs a cultural
13
13
change where open communication and transparency in the decision making
14
14
process are vital.
15
15
@@ -48,7 +48,7 @@ and mined.
48
48
accessible by anyone within the organization. Any person related in somehow
49
49
to the development process should have access to this. This is helpful to
50
50
build confidence across developers and lower the barriers to anyone willing
51
- to contribute to the inner sourced projects. Any contribution is welcome and
51
+ to contribute to the InnerSourced projects. Any contribution is welcome and
52
52
being open to any type of contributor is necessary.
53
53
54
54
* ** Transparency** . This is focused on the authorship of the several contributions.
@@ -60,14 +60,14 @@ and mined.
60
60
such communities. As there are contributions beyond the code, the ownership of
61
61
the contributions should help to understand other types of contributions. From
62
62
documentation to mentorship or helping others in the forums are activities of
63
- interest in inner source communities.
63
+ interest in InnerSource communities.
64
64
65
65
* ** Archivable** . Any tool should provide an archive of previous actions. This will
66
66
help when talking about specific pieces of code, previous technical discussions
67
67
in the communication channels or decisions made during the design summits. This
68
68
should help for referencing purposes.
69
69
70
- * ** Searchable** . As more and more projects will be added to the inner source process,
70
+ * ** Searchable** . As more and more projects will be added to the InnerSource process,
71
71
the amount of repositories of information will grow in the same way. It is
72
72
important to have searching capabilities within the platform. This will help
73
73
to reuse and discover projects and contributors useful for our own purposes.
@@ -83,7 +83,7 @@ and mined.
83
83
any other non-desired situation.
84
84
85
85
As detailed in the metrics chapter, data play a key
86
- role in the deployment of the inner source methodology. This will help
86
+ role in the deployment of the InnerSource methodology. This will help
87
87
to understand where the whole process is going and make decisions when
88
88
necessary to follow the right direction. For this, tools that allow
89
89
to retrieve information through an API (e.g.: GitHub API) or thanks to
@@ -106,14 +106,14 @@ The first one focuses on the needed and
106
106
basic infrastructure when starting from scratch an open source project. While
107
107
the latter is focused on how to support specific workflows with tools. And
108
108
both are great approaches when dealing with open source projects and partially
109
- useful when dealing with inner source projects.
109
+ useful when dealing with InnerSource projects.
110
110
111
111
As Jono states in his book "_ To select the right tools for the job, we need
112
112
first to understand what we are trying to achieve. We need to know what our
113
113
** workflow** is_ ".
114
114
115
115
The following section focuses on the infrastructure needs when starting an
116
- inner source project. In the basics there are not main differences from the
116
+ InnerSource project. In the basics there are not main differences from the
117
117
key aspects point of view. However we have to deal with existing, internal
118
118
and in some cases access-restricted infrastructure and check if that infrastructure is enough
119
119
for our new purposes and goals when inner-sourcing.
@@ -125,7 +125,7 @@ are available that fit with our key-aspects requirements.
125
125
126
126
# Basic Infrastructure
127
127
128
- As inner source is mainly about cultural change, we need to have an easy-access
128
+ As InnerSource is mainly about cultural change, we need to have an easy-access
129
129
and low barrier tools. The easier to use, the more developers that will try
130
130
in first place to work with other business units and inner-sourced projects.
131
131
@@ -134,7 +134,7 @@ other areas where developers can start to contribute. From documentation and
134
134
mere typos in the collaborative wiki to design meetings and even review
135
135
activities in projects of your interest or asking for feature requests. There
136
136
is a myriad of potential actions that anyone within the organization can help
137
- with. And the goal of inner source is to foster those actions as much as possible
137
+ with. And the goal of InnerSource is to foster those actions as much as possible
138
138
letting developers know that those actions are really much appreciated.
139
139
140
140
The infrastructure is thus divided into three main areas:
@@ -164,14 +164,14 @@ communities. More advanced options could be the use of [Slack](https://slack.com
164
164
[ Mattermost] ( https://mattermost.com ) if the organization prefers to use
165
165
open source and in house SaaS deployments.
166
166
167
- * In third place the monitoring infrastructure is key when applying inner source and
167
+ * In third place the monitoring infrastructure is key when applying InnerSource and
168
168
in general when bringing a new methodology to organizations. This is one of the
169
169
main differences with open source communities. They are open by default and basically
170
170
follow the detailed key aspects. However, infrastructure to measure process advances
171
171
have not been one of the main goals in the case of open source communities.
172
172
Basically they are using a successful development methodology, each of them
173
173
with their own peculiarities, but open by default.
174
- Inner source needs of this type of infrastructure as managers and developers
174
+ InnerSource needs of this type of infrastructure as managers and developers
175
175
need feedback about their performance. A change in the software development
176
176
process of large organizations, a cultural change and the community building
177
177
process needs a large set of actions and those actions should have the
@@ -186,7 +186,7 @@ similar to the one depicted in the following picture. If this process
186
186
is familiar to you is because this is based on the [ OpenStack software development
187
187
process] ( https://docs.openstack.org/infra/manual/developers.html ) as detailed in their wiki site.
188
188
I have copied the workflow as this contains the basic pieces also needed for
189
- inner source . Other communities use a similar approach, although I did not find
189
+ InnerSource . Other communities use a similar approach, although I did not find
190
190
a nice picture! Sorry folks!. In addition to this, this is a new figure as
191
191
I wanted to have it independent of the infrastructure. OpenStack uses
192
192
Git, Gerrit and other tooling for this process, but others are also possible.
@@ -237,7 +237,7 @@ system before proceeding with the code review process. They would be sure
237
237
that this works prior any effort from them.
238
238
239
239
* ** Ticketing system ** : tickets are useful to attract community to an
240
- inner source project. This helps in two specific ways: transparency of the
240
+ InnerSource project. This helps in two specific ways: transparency of the
241
241
development process, raising issues and having a roadmap of the issues
242
242
to be closed. And in second place, to provide a platform for newcomers and
243
243
users to detail their needs. Tickets are helpful to bring community in inner
@@ -262,7 +262,7 @@ the documentation also covers information as general as the mission and
262
262
the type of things that the piece of code does and the things that this does
263
263
not do.
264
264
265
- * ** Collaborative design platform ** : inner source in large organizations
265
+ * ** Collaborative design platform ** : InnerSource in large organizations
266
266
is a synonym of geographically distributed teams. Face to face meetings are
267
267
hard to have in this type of organizations, but there should exist infrastructure
268
268
to bridge those difficulties. Requirements specifications, technical decisions,
@@ -277,7 +277,7 @@ by others within the organization.
277
277
278
278
## Communication channels infrastructure
279
279
280
- Inner source is about cultural change. And that cultural change is based on
280
+ InnerSource is about cultural change. And that cultural change is based on
281
281
transparency and meritocracy. Communication channels should be open within
282
282
the organization, and anyone is allowed to post to them.
283
283
@@ -319,7 +319,7 @@ and such data source should provide a way to mine this. This will provide
319
319
raw data information that should be later parsed and treated to be useful.
320
320
321
321
There is extra information in the metrics chapter, but in brief, any organization
322
- applying inner source , or any other new methodology, should have a way to
322
+ applying InnerSource , or any other new methodology, should have a way to
323
323
check how that new process is performing when compared to the old way.
324
324
325
325
This monitoring infrastructure should also have as outcomes several ways of
@@ -361,13 +361,13 @@ also KPIs or static documents to be shared with third parties.
361
361
# Comparing how inner-sourced your infrastructure is
362
362
363
363
Just detailing the infrastructure needed within an organization to effectively
364
- apply inner source would be simplistic. This section aims at listing the
364
+ apply InnerSource would be simplistic. This section aims at listing the
365
365
questions you need to ask to your infrastructure team to check if
366
366
that internal and well known infrastructure is able to be part of the
367
- inner source process.
367
+ InnerSource process.
368
368
369
369
The goal of this section is to compare the internal infrastructure used within
370
- an organization and check how close this is to an ideal inner source toolchain.
370
+ an organization and check how close this is to an ideal InnerSource toolchain.
371
371
As detail, in the software development process, it is necessary the use of
372
372
specific tools such as the versioning system, code review process, ticketing
373
373
system, continuous integration, documentation storage and collaborative
0 commit comments