-
Notifications
You must be signed in to change notification settings - Fork 193
[Pattern Draft] InnerSource and Collaboration in Public Administrations #804
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Pattern on the relationship between a public administration and its suppliers in an InnerSource context
@dicortazar thank you for sharing this story of how InnerSource can help in Public Administration. Some observations from a first read: The pattern is about a specific "industry" (public administration), which is an approach that we have not used in other patterns so far. How is that industry different from other industries? Do they have challenges that other orgs don't have? Or could we express these challenges in ways that would be applicable to other industries as well. Currently the pattern is rather broad. Like a "story of how to introduce InnerSource in Public Administration". Our other patterns try to describe one problem, and one solution. i.e. they are more focused on one thing only. One idea:
I will go through your text and try to add links to other existing patterns, to see if that helps. Happy to explore any other ideas of how we could turn these experiences in the Public Administration domain into patterns. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left some specific pointers to existing patterns inline.
|
||
Key elements of the proposed InnerSource approach include: | ||
|
||
* Shared Repositories: Establishing a central repository for code, documentation, and other artifacts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Incentives: Providing incentives to motivate developers to contribute to shared projects. | ||
* Clear Roles and Responsibilities: Defining roles and responsibilities for different stakeholders, | ||
such as project owners, developers, and reviewers. | ||
* Overcoming Legal and Organizational Hurdles: Addressing legal and organizational challenges, such |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Key elements of the proposed InnerSource approach include: | ||
|
||
* Shared Repositories: Establishing a central repository for code, documentation, and other artifacts. | ||
* Collaborative Development: Encouraging collaboration between teams and suppliers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do you do that?
|
||
* Shared Repositories: Establishing a central repository for code, documentation, and other artifacts. | ||
* Collaborative Development: Encouraging collaboration between teams and suppliers. | ||
* Transparent Processes: Implementing transparent processes for code review, testing, and deployment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you mean by "transparent" in this context?
I think we would benefit form a pattern about doing amazing code reviews. i.e. code reviews that help the contributors as much as possible
However I assume that you have more basic requirements in mind here?
* Shared Repositories: Establishing a central repository for code, documentation, and other artifacts. | ||
* Collaborative Development: Encouraging collaboration between teams and suppliers. | ||
* Transparent Processes: Implementing transparent processes for code review, testing, and deployment. | ||
* Incentives: Providing incentives to motivate developers to contribute to shared projects. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do you do that?
* Clear Roles and Responsibilities: Defining roles and responsibilities for different stakeholders, | ||
such as project owners, developers, and reviewers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At least for teams working in "agile ways", roles like product owner and developer are typically rather well defined. Not sure about reviewer.
Why is it that these roles are not defined in the IT of Public Administration?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Product Owner is Agile specific, depending on the process the teams use there are different roles. If you have teams using different processes you end up with different roles.
From an InnerSource perspective: Would the TrustedCommitter Pattern be something to link to here? Also we have the learning path that we could reference - it provides information targeted at TrustedCommitters, Contributors, Product People... just thinking out loud.
@spier, I'll answer inline
This was my very first question. But it is true that this is a very specific context. However, I didn't see this as valuable to have all this information in the context, and there are specific challenges that a public administration is facing. Although it is true we can generalize those, I still think there are some specific issues per industry that I am still not sure how to reflect them in patterns. We can probably summarize (from what I've learned all these years) those as:
And said all of this, there are public administrations that are able to deal with all of this.
I agree with your comment.
When I wrote the list of challenges and potential solutions, that's what I thought as well. +1 :).
Thank you! |
@@ -0,0 +1,78 @@ | |||
## Title | |||
|
|||
InnerSource and Collaboration in Public Administrations |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Taking a step back: You submitting a pattern about InnerSource in public admin to me means InnerSource adoption in the public sector to the degree where there's enough experience to talk about it (semi)publicly - YEAH! That is awesome to read here! Especially with the challenges in the public compared to the private sector.
The problem to solve is how to foster a more collaborative and efficient development ecosystem | ||
within the public administration and between this and its suppliers. | ||
The aim is to promote code sharing, reuse, and knowledge transfer to reduce costs, improve quality, | ||
and accelerate development. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reading this before having read the remainder of the pattern I wonder, if we'll learn about just internal adjustments or also get to look at mandates that come through legislation...
|
||
Public administrations are typically slow making decisions, but when a decision is made, this stays | ||
for longer time. Decisions are conservative as they have to serve citizens, and they usually base most | ||
of the development effort in outsourced partners. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make sense to add the reason for the preference for outsourcing here?
The proposed context is the relationship between a public administration, all its suppliers, and the | ||
process to build a trusted collaboration environment. There are not official channels to accelerate | ||
certain developments while the backlog keeps growing over time, even when suppliers are willing to | ||
advance in some of those tasks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With a growing number of states putting mandates for "public money, public code" in place, I wonder if this pattern idea might lead us to a better understanding of
a) how InnerSource can help foster collaboration if development happens behind closed doors, but at least the resulting product is shipped under an OSI approved license so the public admin has full control over it
b) a better understanding of when to go for OSS instead
c) a path to increase even public OSS collaboration capabilities of suppliers
|
||
## Solutions | ||
|
||
To address these challenges, the organization may explore the adoption of InnerSource practices. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"the organization" is fairly vague here: Do you mean "people employed by the public admin to develop systems", "people working for a public admin supplier", "both, public admin employees and supplier employees" or "employees of different suppliers"?
|
||
Key elements of the proposed InnerSource approach include: | ||
|
||
* Shared Repositories: Establishing a central repository for code, documentation, and other artifacts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://opencode.de/de ... do you mean something like that? (That's the German version, are there equivalents in other countries?)
* Clear Roles and Responsibilities: Defining roles and responsibilities for different stakeholders, | ||
such as project owners, developers, and reviewers. | ||
* Overcoming Legal and Organizational Hurdles: Addressing legal and organizational challenges, such | ||
as intellectual property rights and procurement regulations. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Procurement regulation likely warrants a pattern of it's own - as in: "Which kind of regulation fosters InnerSource/Open Source, which stops it?" - there could even be best practices on how to phrase calls for bids.
|
||
## Resulting Context | ||
|
||
* Suppliers would start working in a more collaborative way as the legal framework has evolved and allow |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I'm not mistaken there's two key pieces to this pattern that are specific to public vs. private players:
- Legal procurement challenges when doing InnerSource/Open Source in the public sector.
- Potentially highlighting economic incentives for InnerSource/ Open Source in the public sector.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if we would need localized versions of this pattern as they may differ going from country to country.
Pattern on the relationship between a public administration and its suppliers in an InnerSource context