Gilles Gravier โ InnerSource in Government #InnerSourceSummit2025
๐ **Source:** [Gilles Gravier โ InnerSource in Government #InnerSourceSummit2025](https://www.youtube.com/watch?v=tPBfnu2CQqE)
> [!note]+ Document Notes
> tags: [innersource, government, open-source]
> author: Gilles Gravier
> source: InnerSource Summit 2025
> reference: https://www.youtube.com/watch?v=tPBfnu2CQqE
> date created: 2024-12-19 10:30
>
> # ๐ท๏ธ Title: InnerSource in Government: Geneva's Journey from Open Source to Inner Source
>
<!-- deep-read:sections start -->
## ๐งฐ Action Inbox
- [H1] Create governance model for inner source implementation โ post-OSPO establishment #governance
- [H2] Develop developer portal for code discovery โ replace Jabber-based search #tooling
- [H3] Implement proper GitLab permissions and merge request workflows โ fix current mess #process
## ๐งญ Table of Contents
- [๐ Summary](#-summary)
- [๐ Main Content](#-main-content)
- [๐๏ธ Notes](#๏ธ-notes)
- [๐ References](#-references)
- [๐ฃ๏ธ Paraphrase](#๏ธ-paraphrase)
- [๐ฐ Newsletter](#-newsletter)
- [โ
Action Items](#-action-items)
- [๐งช Hypotheses](#-hypotheses)
- [๐ Methodology](#-methodology)
- [โ Questions](#-questions)
- [๐ฎ Future Research](#-future-research)
- [๐ก Implications](#-implications)
- [๐ง Learning Styles Assessment](#-learning-styles-assessment)
- [๐ Accessibility Assessment](#-accessibility-assessment)
- [๐ DEIB Assessment](#-deib-assessment)
- [โ
Logical Validity](#-logical-validity)
- [๐ก๏ธ DARVO Analysis](#-darvo-analysis)
- [๐ฏ Conclusion](#-conclusion)
### ๐ References
- [Geneva State Open Source Strategy](https://github.com/etat-de-geneve)
- [InnerSource Commons](https://innersourcecommons.org)
## ๐ Summary
- Geneva state administration implements inner source program starting from existing open source practices
- Political support crucial but insufficient without proper organizational placement and communication
- Government bureaucracy creates unique challenges requiring external consultants to circumvent red tape
- Success depends on aligning inner source strategy with existing IT strategy and political objectives
- Key lesson: Don't wait for code to be "ready" - publish early and iterate like open source
## ๐ Main Content
The Geneva state administration's inner source journey demonstrates that government organizations face unique challenges when implementing collaborative development practices. Unlike typical corporate inner source initiatives that serve as stepping stones to open source, Geneva started with established open source practices and worked backward to create inner source programs for internal collaboration.
The initiative required navigating complex political structures, from securing director general approval to managing changing leadership priorities. The lack of a formal Open Source Program Office (OSPO) created organizational challenges, with the team embedded within a development organization rather than positioned at the strategic level needed for cross-departmental influence.
Technical implementation involved using GitLab for internal development with synchronization tools to GitHub for public releases. However, permissive internal access controls created chaos rather than collaboration, highlighting the need for proper governance models even in trusted environments.
## ๐๏ธ Notes
#### โฑ๏ธ [00:00](https://youtu.be/tPBfnu2CQqE?t=0) โ [H1] Introduction and Context
- Key idea: Geneva started with open source first, then moved to inner source (reverse of typical pattern)
- Evidence: "Inner source starts with open source very often inner source is used as a stepping stone in order to go to open source but in our case we started as open source"
#### โฑ๏ธ [02:15](https://youtu.be/tPBfnu2CQqE?t=135) โ [H2] Failed Open Source Attempt (2016)
- Key idea: Publishing code with restrictions isn't open source
- Evidence: "In 2016 where we published our e voting code but we put all kinds of rules in order to access it and the open source community basically told us no go back to the drawing board"
#### โฑ๏ธ [03:45](https://youtu.be/tPBfnu2CQqE?t=225) โ [H2] Pre-Inner Source State
- Key idea: Minimal collaboration infrastructure existed before formal program
- Evidence: "When I arrived, we didn't have any kind of inner source. We had some some internal tools to help people communicate about what they're doing. And um and we had we used Jabber"
#### โฑ๏ธ [04:30](https://youtu.be/tPBfnu2CQqE?t=270) โ [H1] Political Foundation Strategy
- Key idea: Republican government structure supports open source philosophy
- Evidence: "Republic means public in Latin means it means the thing of the public. So the thing of public means that if the public gives to the republic the republic should give back"
#### โฑ๏ธ [06:00](https://youtu.be/tPBfnu2CQqE?t=360) โ [H2] Political Objectives Driving Inner Source
- Key idea: Leadership wanted visibility, collaboration, and talent attraction
- Evidence: "They wanted us to drive intercanton collaboration. So create projects across cantons and some of these can be done as inner source other can be done as open source"
#### โฑ๏ธ [07:45](https://youtu.be/tPBfnu2CQqE?t=465) โ [H2] Silo Problem
- Key idea: Redundant development across teams wastes resources
- Evidence: "We have five or six different libraries to enter dates that were developed by each team"
#### โฑ๏ธ [09:30](https://youtu.be/tPBfnu2CQqE?t=570) โ [H2] Strategy Alignment Approach
- Key idea: Built inner source strategy on existing IT strategy foundation
- Evidence: "We basically took the official IT strategy of the state administration and uh and we built from there"
#### โฑ๏ธ [11:15](https://youtu.be/tPBfnu2CQqE?t=675) โ [H2] Collaborative Workshop Process
- Key idea: Used inner source principles to develop inner source strategy
- Evidence: "We actually did collaborative workshops, internal collaborative workshops. So very inner sourcy where we shared information"
#### โฑ๏ธ [13:00](https://youtu.be/tPBfnu2CQqE?t=780) โ [H1] Implementation Challenges
- Key idea: Government hierarchy makes direct communication difficult
- Evidence: "Unfortunately, this being a um um a uh government organization, we have to get politic politicians politicians politicians politicians, sorry about that"
#### โฑ๏ธ [15:30](https://youtu.be/tPBfnu2CQqE?t=930) โ [H2] External Consultant Advantage
- Key idea: Outside consultants can bypass bureaucratic rules
- Evidence: "I being an external resource, I'm a consultant. I tend to ignore some of these rules and directly contact people"
#### โฑ๏ธ [17:45](https://youtu.be/tPBfnu2CQqE?t=1065) โ [H2] Communication Gap Problem
- Key idea: Strategy approval without communication limits effectiveness
- Evidence: "Our strategy was approved by the director general but it was not really communicated meaning the director general didn't actually do a full communication saying yes we have a new strategy follow it"
#### โฑ๏ธ [19:30](https://youtu.be/tPBfnu2CQqE?t=1170) โ [H2] Inner Source Labeling Misconception
- Key idea: Don't wait for perfect code before sharing internally
- Evidence: "If you wait for the code to be fully ready for consumption, chances are you're never going to publish it"
#### โฑ๏ธ [21:15](https://youtu.be/tPBfnu2CQqE?t=1275) โ [H3] GitLab Permission Problems
- Key idea: Too-permissive access creates chaos instead of collaboration
- Evidence: "We didn't configure the code so that people have to actually do merge request. You can just edit a file which the the the rational being that we're all one team and everybody should be able to edit the code. As a result, it's a mess"
#### โฑ๏ธ [23:00](https://youtu.be/tPBfnu2CQqE?t=1380) โ [H2] Open Source First Strategy
- Key idea: Default to open source development unless security prevents it
- Evidence: "We have an open-source first uh strategy which includes not only looking for new solutions should first look at open source options"
#### โฑ๏ธ [25:30](https://youtu.be/tPBfnu2CQqE?t=1530) โ [H2] Bad Press as Catalyst
- Key idea: Negative media coverage motivated leadership support
- Evidence: "We actually had some really bad press recently that said, 'Oh, wait. Geneva is all Microsoft and there are state administration. They shouldn't be doing uh Microsoft.' And so, so now the new director general is finally understanding the value of open source"
## ๐ References
- [Geneva State GitHub](https://github.com/etat-de-geneve)
- [Swiss Federal Open Source Law (Elmeta)](https://www.admin.ch/gov/en/start/documentation/media-releases.year.html)
- [InnerSource Commons](https://innersourcecommons.org)
## ๐ฃ๏ธ Paraphrase
- Government inner source requires different approaches than corporate programs, often starting from existing open source practices rather than building toward them
- Political alignment and high-level communication are essential but insufficient without proper organizational structure and governance
- Technical implementation should follow proven open source practices rather than assuming internal trust eliminates need for proper workflows
## ๐ฐ Newsletter
Geneva's inner source journey offers valuable lessons for any organization implementing collaborative development practices. Their experience shows that starting with open source principles provides a strong foundation, but success requires both political support and proper technical governance.
Key takeaway: Don't let perfect be the enemy of good when sharing code internally. Like open source projects, inner source succeeds through early sharing and iterative improvement.
The upcoming Open Source Program Office (OSPO) creation demonstrates how external pressure and strategic communication can overcome bureaucratic inertia.
Resources: [InnerSource Commons](https://innersourcecommons.org/), [Geneva's Strategy](https://github.com/etat-de-geneve), [OSPO Guide](https://todogroup.org/guides/)
## โ
Action Items
#### OSPO
- Governance model design: Create formal stakeholder structure and decision-making processes
- Organizational placement: Position OSPO at strategic level (CTO/COO) not buried in development teams
- Communication strategy: Ensure leadership actively promotes and communicates open source/inner source strategies
- Policy development: Establish clear guidelines for open source vs inner source classification
#### Community
- Developer portal implementation: Replace ad-hoc Jabber searches with searchable code repository
- Success story program: Internal newsletter highlighting inner source contributions and impact
- Gamification elements: Wall displays showing contribution metrics and recognition
- Training programs: Educational workshops on contribution workflows and license selection
#### Developer Experience
- GitLab governance: Implement proper merge request workflows and permission controls
- Synchronization tooling: Maintain GitHub/GitLab sync for open source publication
- API standardization: Promote generic implementations for cross-team reuse
- Documentation standards: Establish requirements for inner source code readiness
## ๐งช Hypotheses
- External consultants can accelerate inner source adoption by bypassing internal bureaucratic constraints
- Government organizations benefit from open source first strategies that include inner source for sensitive code
- Bad press about vendor lock-in can motivate leadership support for open source initiatives
- Starting with open source practices provides better foundation than typical inner source stepping-stone approach
### ๐ Methodology
- Comparative analysis between corporate and government inner source implementations
- Survey of developer satisfaction before/after proper governance implementation
- Measurement of code reuse rates across teams after developer portal deployment
- Assessment of political support sustainability across leadership changes
### โ Questions
- How can government organizations maintain inner source momentum across political leadership changes?
- What organizational level provides optimal positioning for OSPO effectiveness in government?
- How do synchronization tools between internal and external repositories affect developer workflows?
### ๐ฎ Future Research
- Best practices for government open source program office establishment and governance
- Impact of federal open source mandates on cantonal/state implementation strategies
- Developer portal effectiveness in reducing code duplication across government teams
### ๐ก Implications
- Practice: Government inner source requires political strategy alongside technical implementation
- Policy: Federal open source mandates can accelerate local government adoption
- Security: Sensitive government code can use inner source practices while maintaining confidentiality
- Education: External consultants provide valuable perspective for overcoming bureaucratic obstacles
### ๐ง Learning Styles Assessment
Reading level estimate: Grade 12
#### ๐ Visual learners
- Present: Organizational charts implied, strategy diagrams referenced
- Improve: Process flow diagrams, before/after organizational structures, timeline visualizations
#### ๐ Aural learners
- Present: Conference presentation format with spoken delivery
- Improve: Podcast-style discussion with Q&A segments
#### ๐ฃ๏ธ Verbal learners
- Present: Clear explanations, government terminology defined, analogies used
- Improve: Glossary of terms, comparison tables between approaches
#### ๐งฉ Kinesthetic learners
- Present: Workshop processes described, hands-on strategy development
- Improve: Step-by-step implementation checklist, interactive governance model builder
#### ๐ง Logical learners
- Present: Strategic alignment framework, cause-effect relationships clear
- Improve: Decision trees for open source vs inner source, success metrics dashboard
#### ๐งโ๐คโ๐ง Social learners
- Present: Collaborative workshops, team coordination challenges
- Improve: Peer review processes, cross-team collaboration guides
#### ๐งโโ๏ธ Solitary learners
- Present: Individual consultant experience, self-directed problem solving
- Improve: Self-assessment tools, independent learning modules
#### ๐ฟ Naturalistic learners
- Present: Ecosystem thinking about government structures
- Improve: Organizational ecosystem maps, sustainability frameworks
### ๐ Accessibility Assessment
#### Screen reader semantics
- Present: Clear heading structure, descriptive content
- Improve: Alt text for any diagrams, ARIA labels for complex structures
#### Keyboard navigation
- Present: Standard video controls available
- Improve: Chapter markers, transcript navigation
#### Contrast and readability
- Present: High contrast video presentation
- Improve: Transcript formatting with proper contrast ratios
#### Text resizing and reflow
- Present: Video scales appropriately
- Improve: Responsive transcript layout
#### Media and captions
- Present: Audio content available
- Improve: Closed captions, downloadable transcript
#### Forms and interactions
- Present: Basic video interface
- Improve: Interactive timeline, searchable transcript
### ๐ DEIB Assessment
#### Cultural breadth
- Present: Swiss government context, multilingual environment mentioned
- Improve: Cross-cultural government collaboration examples
#### Inclusive language
- Present: Professional government terminology
- Improve: Plain language definitions, avoid bureaucratic jargon
#### Neurodiversity support
- Present: Structured presentation format
- Improve: Clear section breaks, summary bullets
#### Representation
- Present: Single presenter perspective
- Improve: Multiple voices from different government roles
#### Psychological safety
- Present: Honest about failures and challenges
- Improve: Encouraging tone for similar initiatives
### โ
Logical Validity
#### Strong reasoning
- Deductive strength: Political objectives logically lead to inner source benefits
- Inductive strength: Geneva's experience provides patterns for other governments
- Causal reasoning: Clear cause-effect between organizational placement and influence
- Analogical strength: Open source principles apply well to inner source implementation
#### Fallacies
- Appeal to authority: Director general approval as validation - valid given government context
- Anecdotal evidence: Single organization experience - acknowledged limitation but valuable case study
#### Tone of voice
- Overall tone: Pragmatic and honest about challenges, includes humor about bureaucracy, realistic about timelines
### ๐ก๏ธ DARVO Analysis
- Deny: No denial patterns present
- Attack: No attacks on accusers
- Reverse victim/offender: No victim/offender reversal
- Emotional cues: Frustration with bureaucracy expressed constructively, humor used appropriately
## ๐ฏ Conclusion
Geneva's inner source journey demonstrates that government organizations can successfully implement collaborative development practices, but require different strategies than corporate environments. The key insight is that political alignment, proper organizational positioning, and technical governance must work together - missing any element significantly reduces effectiveness.
The upcoming OSPO creation, motivated partly by external pressure, shows how persistence and strategic communication can overcome bureaucratic obstacles. Other government organizations can learn from Geneva's experience by ensuring high-level political support, proper organizational placement, and realistic timelines for cultural change.
Future success will depend on implementing proper governance models and developer tools while maintaining the political support necessary for sustained investment in collaborative development practices.
---
## Full Transcript
[00:05] But we'll be talking about open source<br>[00:07] in government and in particular how um<br>[00:10] I've been working for the last few years<br>[00:12] with the state administration of Geneva<br>[00:15] uh to set up an inner source program and<br>[00:17] if you were listening to what VJong had<br>[00:20] to say about inner source at Danger<br>[00:22] saying it's easy it's not always easy so<br>[00:26] I'll be talking about the parts that are<br>[00:28] slightly less easy than a than a diner.<br>[00:31] Um, so this is going to be short. I'm<br>[00:34] just going to talk about what we were<br>[00:36] doing uh before looking at politics<br>[00:38] because we're doing inner source for a<br>[00:40] state administration, how we built the<br>[00:42] strategy, how we are implementing it<br>[00:44] right now and what's stopping us from<br>[00:46] doing as much as we would want and where<br>[00:48] we are going to be looking at for for<br>[00:51] the future. So that's that's our program<br>[00:53] for today. And so in in in terms of<br>[00:56] pre-existing context um just uh just to<br>[00:59] to tell you a little bit of where we are<br>[01:02] um we've been doing open source because<br>[01:04] here um at state administration of<br>[01:06] Geneva inner source starts with open<br>[01:08] source very often inner source is used<br>[01:11] as a stepping stone uh in order to go to<br>[01:14] open source but in our case we started<br>[01:16] as open source we've been doing open<br>[01:18] source for a long time using a whole<br>[01:19] bunch of applications which you see um<br>[01:23] mentioned here uh on the uh on the<br>[01:26] slide. I won't go into all the details.<br>[01:28] Um our education services are also using<br>[01:31] open source and uh and sometimes we've<br>[01:34] tried to do open source which wasn't<br>[01:36] really open source. For example, in 2016<br>[01:38] where we published our e voting code but<br>[01:41] we put all kinds of rules in order to<br>[01:43] access it and the open source community<br>[01:44] basically told us no go back to the<br>[01:46] drawing board. this is not open source<br>[01:48] if you have to sign NDAs and agreement<br>[01:50] not to publish stuff if you find<br>[01:52] vulnerabilities and so on. So it hasn't<br>[01:54] been such a uh such a an easy pass from<br>[01:59] uh from the beginning but we are trying<br>[02:02] and uh and I joined um I joined the team<br>[02:06] uh in order to get this uh get this more<br>[02:09] in place. When I arrived, we didn't have<br>[02:12] any kind of inner source. We had some<br>[02:14] some internal tools to help people<br>[02:17] communicate about what they're doing.<br>[02:19] And um and we had we used Jabber. Yeah,<br>[02:23] we use Jabber. Uh sorry about that. Um<br>[02:25] and that's it. And that's it. Nobody not<br>[02:28] everybody knows that there's a Jabber<br>[02:30] room for inner source. Not everybody<br>[02:31] knows that we're doing Inner Source. So<br>[02:34] So it's, you know, it was time to<br>[02:36] actually set things in motion. So in<br>[02:39] order to do that uh we went back to the<br>[02:41] drawing board in particular because we<br>[02:44] are a state administration so politics<br>[02:48] gets in the way or actually politics<br>[02:50] supports things. So we as I said we<br>[02:52] started with open source and um and<br>[02:55] interestingly enough because Geneva is a<br>[02:58] is a republic people say canton of<br>[03:00] Geneva but it's a canton and a republic.<br>[03:03] Uh the official name is Republican<br>[03:05] Canton of Geneva as you can see on my uh<br>[03:08] on my screen right here where my finger<br>[03:11] is pointed. So republic republic means<br>[03:15] public in Latin means it means the thing<br>[03:17] of the public. So the thing of public<br>[03:20] means that if the public gives to the<br>[03:22] republic the republic should give back.<br>[03:24] As such, we built an open source<br>[03:26] strategy that says that we publish as<br>[03:28] open source things that uh that we<br>[03:31] develop because it's funded by the<br>[03:33] public. So that's that's where we<br>[03:35] started with our open source uh<br>[03:37] strategy. And why am I talking about<br>[03:38] open source strategy? Because as you see<br>[03:41] the political objectives we had in in<br>[03:43] addition to being a republic was to<br>[03:46] satisfy the Canton leadership. They<br>[03:48] wanted to see things. They wanted to see<br>[03:49] we're doing open source. They want to uh<br>[03:52] they wanted us to show our excellence,<br>[03:54] our competence by sharing code, by being<br>[03:57] uh referred to by other Cantons, by<br>[03:59] other administrations. They wanted us to<br>[04:02] drive intercanton collaboration. So<br>[04:05] create projects across cantons and some<br>[04:08] of these can be done as inner source<br>[04:10] other can be done as open source<br>[04:11] depending on like um gun said whether<br>[04:15] the code that is being shared and<br>[04:17] developed makes sense outside of our uh<br>[04:20] our two or three or four cantons working<br>[04:22] together or whether it's only for us<br>[04:25] because it's internal and it's very<br>[04:27] specific. Um we want to be a more<br>[04:29] attractive recruiter. In order to do<br>[04:31] that, we communicate but also we provide<br>[04:33] an internal environment that is um um<br>[04:38] attractive to developers and open source<br>[04:41] contributions as well as inner source<br>[04:42] development methodologies which look a<br>[04:44] lot like open source are tend to be an<br>[04:47] attractive factor for developers. So<br>[04:48] that's something that that that we tie<br>[04:50] to inner source. And then we wanted to<br>[04:53] foster inter team collaboration. we're<br>[04:56] structured in various uh directions. Um<br>[04:59] and um and historically these tend to<br>[05:04] work in silos. Um you know, for example,<br>[05:08] we have five or six different libraries<br>[05:10] to enter dates that were developed by<br>[05:13] each team. Um and uh and and because<br>[05:16] they're not looking at what the rest of<br>[05:17] the group is doing. So, so these silos<br>[05:19] are making uh development extremely<br>[05:22] redundant and uh and wasting a lot of<br>[05:25] time, a lot of energy, a lot of money<br>[05:28] and and so can we abolish these silos.<br>[05:31] So, as you can see from these political<br>[05:33] objectives, we need to be better at<br>[05:35] doing our stuff. Um some of them<br>[05:37] actually directly map into inner source.<br>[05:40] And so this is where we decided that<br>[05:42] when we created our open source<br>[05:44] strategy, we actually had inner source<br>[05:47] in our in our design uh elements as<br>[05:50] well. So uh how did we design it? We<br>[05:53] basically took the official IT strategy<br>[05:56] of the state administration and uh and<br>[05:59] we built from there.<br>[06:02] And this was not necessarily easy<br>[06:04] because we did not we still do not have<br>[06:08] an open source program office. So we<br>[06:11] don't even have an inner source program<br>[06:12] office course. Um we're in the process<br>[06:15] of designing that. I'll talk about it<br>[06:17] later which will include inner source um<br>[06:20] as its uh one of its um uh areas of uh<br>[06:25] influence and expertise. So we decided<br>[06:27] to align our open source and inner<br>[06:29] source strategy to the existing access<br>[06:32] of the existing IT strategy right one<br>[06:36] strategy to rule them all one inner one<br>[06:39] open source strategy that includes inner<br>[06:41] source uh and uh and it's driven inner<br>[06:45] source as open source from the same team<br>[06:47] so as I said we don't have an ospo we<br>[06:49] have a few dedicated people that are<br>[06:52] today hosted inside a development<br>[06:54] organization which which is not the best<br>[06:56] place to store to to have an open source<br>[06:58] team um or an insource team. It should<br>[07:01] be much higher in the organization so<br>[07:03] that they influence um legal innovation,<br>[07:06] HR and so on. But despite that we worked<br>[07:10] with this team to create a strategy. We<br>[07:12] build it on three strategic axis which<br>[07:15] are part of our IT strategy which is to<br>[07:18] position the Geneva state as the key<br>[07:20] regional player for IT technologies to<br>[07:22] better serve the citizens with creative<br>[07:24] solutions tailored to their needs and to<br>[07:26] create a culture of excellence and<br>[07:28] better risk control and of course<br>[07:30] breaking down silos by mutualizing<br>[07:32] resources. Now um when um when we<br>[07:36] created that uh that strategy, we<br>[07:37] actually did collaborative workshops,<br>[07:39] internal collaborative workshops. So<br>[07:41] very inner sourcy where we shared<br>[07:43] information, we shared our guidelines,<br>[07:45] we had um discussions, we uh we did<br>[07:47] brainstorming sessions, we got people<br>[07:49] involved that wanted to be involved and<br>[07:52] uh and once we did that, we got it<br>[07:54] approved by our management and we<br>[07:55] published the actual strategy online.<br>[07:58] You have the URL here. Um, Kent Geneva<br>[08:02] is a French-speaking Canton, so the<br>[08:03] strategy is in English. Um, but it's<br>[08:06] published uh on our GitHub and uh we<br>[08:09] haven't yet people do any poll requests<br>[08:11] for for adding stuff to it. We're hoping<br>[08:14] not many people do, but it is published<br>[08:17] there. Um, we we try to publish a lot of<br>[08:19] our open source related activities<br>[08:23] on our GitHub because it helps with our<br>[08:25] own visibility.<br>[08:28] So<br>[08:29] this is where it gets interesting<br>[08:31] hopefully um how did we implement that<br>[08:35] and and as I said unlike um Paul Gunk's<br>[08:38] case it's not easy it wasn't always easy<br>[08:41] it's not going to be easy for the future<br>[08:43] um because we have a lot of um we have a<br>[08:46] lot of um uh history to to drive. So<br>[08:50] first of all, we don't have an OSPO. We<br>[08:52] don't have an ESPO. I'm pretty sure I<br>[08:54] mentioned it already a few times and I<br>[08:55] will keep mentioning it. Um, we we did<br>[08:59] that series of workshop to create the<br>[09:02] elements of the strategy and prioritize<br>[09:04] which elements we needed to put in place<br>[09:06] first because we got so many ideas uh<br>[09:08] and show little time and resources that<br>[09:10] we had to to uh to prioritize. We<br>[09:13] aligned that with the various elements<br>[09:15] of our general IT strategy and we made<br>[09:17] sure that this um inner source and open<br>[09:21] source strategy well covered both open<br>[09:23] source and source. Now, um<br>[09:28] we what was hard to do is getting the<br>[09:30] management on board. And unfortunately,<br>[09:33] this being a um um a uh government<br>[09:38] organization, we have to get politic<br>[09:40] politicians politicians politicians<br>[09:44] politicians, sorry about that. Uh on<br>[09:46] board, including our director general.<br>[09:48] Um so that was a little hard because not<br>[09:51] everybody wants to talk to him. They<br>[09:54] people have to follow the hierarchy. You<br>[09:55] talk to somebody who talks to somebody<br>[09:57] who talks to somebody. At some point,<br>[09:58] you just send an email to the guy and<br>[09:59] they say, "Why did you contact him<br>[10:01] directly?" Um, but it worked. We got the<br>[10:04] the director general to actually sign<br>[10:06] our strategy and uh and and give it<br>[10:10] their stamp of approval. Unfortunately,<br>[10:13] at this point, we're still inside the<br>[10:15] developer organization. So while we had<br>[10:17] the approval from the from the director<br>[10:19] general, it still required a lot of<br>[10:20] communication and education to get<br>[10:23] people to listen to what we're doing. Um<br>[10:26] we also created trainings, educational<br>[10:28] programs where we explain how to um to<br>[10:32] how to contribute uh how to contribute<br>[10:35] open source code, publish open source<br>[10:37] code. Um as Wgong mentioned, uh we also<br>[10:40] have a GitHub and a GitLab. GitLab is<br>[10:42] for internal code. GitHub is for our<br>[10:45] external code. So we developed uh inner<br>[10:48] source mode on GitLab. And for code that<br>[10:51] then makes sense to publish as open<br>[10:53] source. We have tools that synchronize<br>[10:55] our internal GitHub GitLab repository to<br>[10:58] our external GitHub repository and uh<br>[11:01] and educating people on how to do that<br>[11:04] was really significant. We created<br>[11:07] licenses. We did workshops on using<br>[11:09] selecting licenses and so on. We have an<br>[11:12] actual team that supports our our<br>[11:15] developers in publishing their code<br>[11:17] whether it is published uh as open<br>[11:19] source or internally um as inner source<br>[11:23] and um and we uh we also uh started<br>[11:27] engaging using this strategy as a<br>[11:30] communication tool and using the uh our<br>[11:32] existing tools like GitHub and and so on<br>[11:35] uh with our external partners for<br>[11:37] example now we're asking people who<br>[11:39] asked to develop code for<br>[11:41] uh to make that code available as open<br>[11:43] source or at least open sourceable even<br>[11:46] if the development part of the code<br>[11:47] actually takes place in a more of an<br>[11:49] open inner source mode with code shared<br>[11:51] with them. Um and we've started to push<br>[11:55] for the creation of an open source<br>[11:56] program office. Um and as I speak today<br>[12:00] um actually no as of yesterday uh I<br>[12:03] understand that uh that we are going to<br>[12:05] have the approval for creating an OSPO<br>[12:08] and of course this being an<br>[12:09] administration we can't call it a<br>[12:11] program office because in our<br>[12:13] organization a program is something very<br>[12:15] specific. So we're not going to call it<br>[12:17] the OSPO. We're going to call it<br>[12:18] something else. Maybe the open source<br>[12:20] governance organization or whatever. Um<br>[12:23] but it will have a name and it will<br>[12:25] exist and that OSPO or whatever it's<br>[12:28] going to be called um will have uh as<br>[12:30] its core responsibility to drive<br>[12:32] internal uh development and inner<br>[12:34] source. So that's where we are today uh<br>[12:38] with all of these things in place or<br>[12:40] done. And um it wasn't as uh as I<br>[12:44] mentioned it wasn't that easy in<br>[12:46] particular uh administrations full of<br>[12:50] hierarchy full of red tape full of<br>[12:52] people who get in the way full of people<br>[12:54] who are afraid to go beyond people who<br>[12:57] get in the way. So if somebody is<br>[12:58] blocking you from doing something nobody<br>[13:00] wants to write to their to their N plus<br>[13:03] one which is tends to be your N plus2<br>[13:05] because the person who get in the way is<br>[13:07] your management. So so sometimes it gets<br>[13:09] a little slow. I being an external<br>[13:11] resource, I'm a consultant. I tend to<br>[13:14] ignore some of these rules and directly<br>[13:16] contact people and then then people in<br>[13:18] my team look at me why I say what you<br>[13:21] talk to who um but it works um in<br>[13:24] general and uh and that helps a lot. So<br>[13:27] so having external resources in your<br>[13:29] organization maybe a way uh when they<br>[13:33] play candid oh I didn't I was not<br>[13:34] supposed to talk to him. uh it may be a<br>[13:37] way to uh to circumvent some of the red<br>[13:39] tape, some of the blocking uh people uh<br>[13:42] if if your internal team are too used to<br>[13:44] not being able to do that. Um and I<br>[13:46] worked in so many organizations uh where<br>[13:49] this is the case that uh that it came<br>[13:52] naturally that uh that that was the best<br>[13:54] way to go.<br>[13:56] Now um as I mentioned a little bit<br>[13:58] earlier our strategy was approved by the<br>[14:00] director general but it was not really<br>[14:03] communicated meaning the director<br>[14:05] general didn't actually do a full<br>[14:06] communication saying yes we have a new<br>[14:08] strategy follow it um which means that<br>[14:12] it's it's hard because when you go talk<br>[14:14] to somebody in particular because we're<br>[14:15] as I said inside a development<br>[14:17] organization and not part of say the CTO<br>[14:20] organization or better the COO<br>[14:22] organization which would be ideal um ask<br>[14:25] me if if you want during the uh the Q&A<br>[14:27] why I think CO would be better, but um<br>[14:31] because we're somewhere deep down uh it<br>[14:34] it actually requires a bit of additional<br>[14:36] effort to get people to to listen to<br>[14:38] what you have to say about the way to<br>[14:40] develop because not all the development<br>[14:42] is done in our development<br>[14:43] organizations. We have IT uh teams, we<br>[14:47] have network teams, we have<br>[14:48] communications teams, we have database<br>[14:50] and product teams and all these people<br>[14:52] do their own development as well and<br>[14:54] they don't necessarily report or even<br>[14:57] listen to what the official development<br>[14:58] organization that develops uh client<br>[15:01] solutions clients being citizen<br>[15:02] solutions. So it's a mess and and<br>[15:05] communication having proper<br>[15:06] communication from the director general<br>[15:08] would be a significant plus it's not<br>[15:11] there. Um, also it was interesting<br>[15:15] because when we started talking about<br>[15:17] inner source, uh, a lot of people just<br>[15:19] came and said, "Oh, yeah, I know. Uh,<br>[15:22] it's really great. We're going to do<br>[15:23] inner source and, uh, why not actually<br>[15:26] take all of the code that is on our<br>[15:29] GitLab um, and put set a flag on every<br>[15:35] piece of software that is in our<br>[15:36] source."<br>[15:39] And it's like wait if the code is<br>[15:42] internally<br>[15:43] uh internal if it's accessible by<br>[15:45] anybody internally whether it's labeled<br>[15:48] in your source or not people can look at<br>[15:50] it read it learn from it clone it use it<br>[15:56] possibly contribute to it or at least do<br>[15:59] a merge request on GitLab and it becomes<br>[16:01] the facto inner source. It doesn't<br>[16:03] really need to be labeled as inner<br>[16:04] source. Uh and and and that got me some<br>[16:07] really uh blank stairs like why don't um<br>[16:10] and and you know I understand what they<br>[16:13] want uh is that if you label code as<br>[16:15] inner source it means it's ready for<br>[16:18] consumption but it's the same thing as<br>[16:20] with open source right you're not going<br>[16:22] to publish your code once it's ready for<br>[16:24] consumption you're publishing as soon as<br>[16:26] you can sometimes it's buggy code<br>[16:29] sometimes there's something that says<br>[16:30] it's being developed right now don't<br>[16:32] worry uh don't complain too much if you<br>[16:34] find a bug fix it. Um, if you wait for<br>[16:37] the code to be fully ready for<br>[16:38] consumption, chances are you're never<br>[16:40] going to publish it. So, so the idea of<br>[16:44] having something that says this is inner<br>[16:46] source code um took some time to um to<br>[16:51] uh dispel and uh and people started<br>[16:54] saying okay yeah I we understand<br>[16:56] everything is in source. Um we have some<br>[16:59] strange rules on our GitLab. For<br>[17:01] example, um all of the code is open.<br>[17:04] Anybody can contribute actually. Uh more<br>[17:08] importantly, anybody can modify the<br>[17:09] code. We didn't configure the code so<br>[17:11] that people have to actually do merge<br>[17:13] request. You can just edit a file which<br>[17:16] the the the rational being that we're<br>[17:18] all one team and everybody should be<br>[17:20] able to edit the code. As a result, it's<br>[17:23] a mess. um it's not at all using the the<br>[17:25] the typical methodologies that we have<br>[17:27] in in open source where you have<br>[17:29] contributors where you have um um people<br>[17:33] who do uh um uh approvals of<br>[17:37] contributions and mergings and things<br>[17:39] like that. So so it's a bit of a mess.<br>[17:41] We have these strange rules um and uh<br>[17:43] but on the other hand we do have some<br>[17:45] really really cool tools. So inside our<br>[17:47] GitLab, we have all of our uh CI/CD<br>[17:50] tools and and code quality testing and<br>[17:53] so on. Um so that's that's really nice<br>[17:55] to have GitLab for that. But um we also<br>[17:59] um have uh very very nice tools that let<br>[18:02] us publish direct your code uh to GitHub<br>[18:06] using synchronization. And that's cool<br>[18:08] because that those synchronization tools<br>[18:10] let us actually uh accept um pull<br>[18:14] requests um and issues on the external<br>[18:17] GitHub and then we can fix them<br>[18:19] internally uh on the GitLab and then<br>[18:21] that gets put back externally. Of<br>[18:23] course, it would be much better if<br>[18:26] anything that has to be that needs to be<br>[18:28] open source uh was developed directly on<br>[18:31] GitHub, but you know it takes time to<br>[18:33] change the uh the mindset. So for now<br>[18:36] people develop internally on GitLab<br>[18:38] whether it's inner source or open source<br>[18:40] and by default anything that's developed<br>[18:42] on GitLab is considered inner source. Um<br>[18:46] but um but hopefully we'll will will<br>[18:49] change at some point.<br>[18:51] Normally we have a an open-source first<br>[18:56] uh strategy which includes not only<br>[18:58] looking for new solutions should first<br>[19:00] look at open source options and if we<br>[19:02] don't find open source options then we<br>[19:05] look for non-opensource but it's also uh<br>[19:08] it also applies to develop development.<br>[19:11] If we're going to develop software or<br>[19:13] make software developed then it should<br>[19:16] be made open source if uh by default<br>[19:19] unless security IP whatever reasons<br>[19:22] prevent it and that's interesting<br>[19:24] because that was part of our strategy<br>[19:27] developed three four years ago and it<br>[19:30] actually appeared in the Swiss federal<br>[19:32] law two years ago. Uh there is a law<br>[19:35] that's called the Elmeta uh in French<br>[19:38] and the um<br>[19:42] it has a different name in German but I<br>[19:43] never remember it. Um and that law that<br>[19:46] that federal law actually states that<br>[19:48] any state organization, federal<br>[19:50] organization that develop code or has<br>[19:52] code develop must make it open source<br>[19:54] unless and so um we we apply that we<br>[19:58] were there before the federal law and uh<br>[20:00] and we're doing this as open source and<br>[20:03] then moving on progressively uh also as<br>[20:06] inner source for stuff that doesn't need<br>[20:08] to be made uh that doesn't need to be<br>[20:10] made public uh or should not. For<br>[20:13] example, you know, if we're developing<br>[20:14] tax software, uh some rules for defining<br>[20:17] default taxation are not public. Uh some<br>[20:20] rules for fraud detection wouldn't be<br>[20:22] public and so on. Uh another roadblock<br>[20:25] is we have a new director general and so<br>[20:28] it was hard to get the original director<br>[20:29] general to prove it and they still<br>[20:31] didn't communicate about it. The new<br>[20:33] director general was very hesitant about<br>[20:35] open source. They were not like opposed<br>[20:37] to open source, but uh they're they're<br>[20:39] they're really like looking at it as a<br>[20:42] kind of a necessary evil if you want.<br>[20:44] Yeah, these guys are doing it. It really<br>[20:46] needs to be done, but they're not happy<br>[20:48] about the fact that that it it's<br>[20:50] something that was decided by their<br>[20:53] predecessor, which is always the case,<br>[20:56] right? When you have somebody new in a<br>[20:57] decisional role, they tend to look at<br>[20:58] what was done before as well, not my<br>[21:02] stuff, so not necessarily good.<br>[21:05] Fortunately,<br>[21:07] fortunately, um we actually had some<br>[21:09] really bad press recently that said,<br>[21:11] "Oh, wait. Geneva is all Microsoft and<br>[21:13] there are state administration. They<br>[21:15] shouldn't be doing uh Microsoft." And<br>[21:17] so, so now the new director general is<br>[21:19] finally understanding the value of open<br>[21:21] source in particular as a communication<br>[21:22] tool. So, so this is where we are going<br>[21:25] to actually have uh the funding for<br>[21:28] creating an open source program office<br>[21:30] through participating in in funding open<br>[21:31] source projects and and and being a a<br>[21:34] lot more visible around our open source<br>[21:37] activities which means also uh having<br>[21:41] this OSO means we're going to have a<br>[21:43] stronger tool for driving inner source.<br>[21:44] So it's interesting uh here a little bit<br>[21:47] of a a sidetrack here but bad press is<br>[21:51] still good press in the sense that<br>[21:53] sometimes you get things to move and in<br>[21:55] particular our director general which<br>[21:56] I'm happy they they decided to move.<br>[22:00] So I have um one more slide where is<br>[22:02] where we're going now. So the new<br>[22:05] director general now that they<br>[22:06] understand uh the interest of open<br>[22:09] source uh we're going to have him<br>[22:12] actually<br>[22:14] support the open source strategy,<br>[22:17] promote the open source strategy<br>[22:20] and uh and communicate about it so that<br>[22:23] once we have formalized the creation of<br>[22:26] an open source inner source program<br>[22:28] office or government governing office or<br>[22:31] whatever um it will have a lot of<br>[22:33] strength We still don't know where it's<br>[22:35] going to be um hosted. Uh hopefully not<br>[22:39] inside the development organization, but<br>[22:41] that's going to be a political issue. Um<br>[22:43] we have support from our the magistrate<br>[22:46] that is above our director general, so<br>[22:48] inside the Swiss the Geneva government.<br>[22:50] So that's really good. Next step after<br>[22:52] creating the OSPO is creating a<br>[22:54] governance model uh and implementing it<br>[22:58] uh better than what we do today, which<br>[22:59] is very ad hoc. Uh and since you're<br>[23:02] still trying to put in place the program<br>[23:03] office uh div defining a governance<br>[23:06] model is a little tricky because we<br>[23:08] don't have official stakeholders. We<br>[23:10] only have uh informal ones. Some of them<br>[23:13] change and decide not to be law anymore<br>[23:15] whatever.<br>[23:17] Um we're going to push for leveraging<br>[23:18] inner source more um in particular using<br>[23:22] tools like internal communications where<br>[23:25] um uh we we have an internal mailing<br>[23:27] list that talks about our open source<br>[23:29] and inner source activities and every<br>[23:31] time somebody publishes something new as<br>[23:33] inner source or open source but as inner<br>[23:36] source we have them write an article and<br>[23:39] uh and talk about what they're doing<br>[23:40] because uh by doing that we are hoping<br>[23:43] that um that uh people will see that and<br>[23:47] it will motivate them to actually do the<br>[23:49] same thing. Publish code, make it<br>[23:51] properly documented, have open APIs,<br>[23:54] generic implementation so that other<br>[23:56] teams can use the code um and and then<br>[23:58] in that in turn they could be visible uh<br>[24:01] as a success story. We're we are also<br>[24:03] looking at we have screens on the walls<br>[24:06] that display dynamic content uh so<br>[24:08] gamifying by having posts about who's<br>[24:10] the biggest contributor to our inner<br>[24:12] source repositories and channel or<br>[24:14] things like that. And and I forgot to<br>[24:16] mention it and it is really important.<br>[24:18] Um we um we are implementing a developer<br>[24:22] portal uh so that people can actually go<br>[24:24] and search for existing code rather than<br>[24:26] ask on our Jabber uh inner source<br>[24:29] channel. Does anybody know of a library<br>[24:31] that does this or that? Um because this<br>[24:33] is not really efficient uh way of<br>[24:35] looking for code.<br>[24:37] Actually you could ask that to an AI<br>[24:39] that uh that runs on the portal and<br>[24:41] scans all of the repositories and you<br>[24:43] probably get a better answer. they're<br>[24:44] asking on a on a Jabber channel. So<br>[24:47] that's that's where we're going now. So<br>[24:48] you see we have quite a few things to<br>[24:50] do. We're despite the fact that we've<br>[24:52] been doing this for three years, we're<br>[24:53] still very very much in the infancy of<br>[24:55] the unders source program because<br>[24:58] administrations go really slowly. And I<br>[25:01] will uh finish this slide and talking<br>[25:03] about in administrations going slowly by<br>[25:06] quoting Albert Einstein who um when he<br>[25:10] retired was asked by a journalist, so<br>[25:13] where do you want to go? uh spend the<br>[25:15] end of your life uh uh once you retire<br>[25:18] and and they said uh I want to go to<br>[25:20] Geneva because everything takes 10 to 20<br>[25:23] more years to happen over there and this<br>[25:26] is where we are in Geneva. They're not<br>[25:28] going to take 10 to 20 years but it's<br>[25:29] going to take some time.
<!-- deep-read:sections end -->