-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinner-source.html
70 lines (55 loc) · 6.92 KB
/
inner-source.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="assets/main.css" />
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-TBTYV2YN7V"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-TBTYV2YN7V');
</script>
</head>
<body>
<div id="top" >
<p><a href="/" title="Robert Sidor">-Robert Sidor-</a> <a href="about-me.html" title="about me" class="active">-about me-</a></p>
</div>
<div style="overflow:auto">
<div class="main">
<h2>Inner Source</h2>
<p>Inner Source, a term and philosophy I'd like to infect you with today, is an approach to software development within organizations, drawing inspiration from open source practices. Its main idea is to utilize open standards of collaboration, typical for open source projects, in what we might call a corporate environment, where we manage many different technological projects. Unlike open source, where code is publicly available, inner source projects are usually accessible only to the employees of a particular company. This method allows for better utilization of internal resources, enabling different teams to collaborate on common software components.</p>
<p>Contrary to traditional software development models in a company, where projects are strictly controlled by designated teams, inner source promotes a more open culture of collaboration. Every developer can contribute to a project or a selected application component, regardless of their formal role or team. Such an approach ensures greater transparency, supports the sharing of knowledge and skills, and fosters innovation.</p>
<h4>Concept beginnings</h4>
<p>The concept of inner source began to gain popularity many years ago when larger companies started to see the benefits of open source. Organizations realized that models of open collaboration could be effectively adapted in corporate environments, bringing similar benefits. The genesis of inner source stems from the need to increase efficiency, innovation, and the quality of software produced within large organizations.</p>
<p>In the past, many companies struggled with problems related to information silos, where different teams worked isolated from each other. Additionally, it was rightly noted that most developed applications have very similar or identical components, which do not have to be implemented from scratch every time. And yes, someone might argue that there are frameworks, open source libraries, etc., but in corporations maintaining a high level of code quality, and an even higher level of application security, often a specific approach to implementing certain mechanisms and meeting expected requirements is required. Inner source emerged as a solution to these problems, promoting a culture of sharing knowledge and resources, often, as I mentioned, specific to a particular organization.</p>
<h4>What will I have from it?</h4>
<p>Implementing inner source in an organization brings many benefits. First and foremost, it enables better use of internal talents. Developers can participate in various projects, which promotes the development of their skills and provides greater job satisfaction. Code sharing and collaboration between teams significantly shorten the time needed to introduce a product to the market (the so-called "go to deploy"), as teams can use already existing components and solutions.</p>
<p>Another significant advantage is the improvement of software quality. Internal collaboration allows for extensive code reviews and knowledge exchange, which translates into better coding standards and fewer errors. Moreover, inner source fosters innovation, as employees have greater freedom in experimenting and proposing new solutions.</p>
<h4>Benefits from different perspectives</h4>
<p><b>Developer:</b> Inner source offers developers the opportunity to learn from colleagues from other teams, gives access to a wider range of projects, and the chance to showcase their skills on a broader forum. This, in turn, can lead to better professional and personal development.</p>
<p><b>Manager / Project Manager:</b> Managers gain more flexible resources, allowing them to better manage talents within the company. Additionally, having a relatively extensive library of components as part of inner source activities provides a significant time gain in system or application implementation, thereby enhancing the competitiveness of the offer in the eyes of the client or the margin from the organization's perspective.</p>
<p><b>Organization:</b> At the organizational level, inner source contributes to building a stronger and more innovative corporate culture. It supports operational efficiency and can lead to significant cost savings by avoiding duplication of work and better utilizing existing resources.</p>
<h4>Sounds cool, but how do I implement it?</h4>
<p>I think it's simpler than it might seem. First, define what goals the organization aims to achieve through the implementation of inner source and which projects will be included in this initiative. Don't go all out, choose fresh and small projects - they will create the foundation for the development of this new culture.</p>
<p>Next, infect a selected group of managers, senior developers, architects with this idea - together with them, supplement the goals the organization wants to achieve with the goals they would like to achieve as technology on the way - such an approach will build in them a sense of responsibility for the implementation and maintenance of the good spirit of this initiative.</p>
<p>Finally, provide the appropriate collaboration tools, such as version control systems, code review platforms, and communication tools (which I assume you already have).</p>
<p>And that's enough! - the rest should happen by itself. Remember, adopting the inner source approach is not only a technical change but also a cultural one. It requires engagement at all levels of the organization, but the benefits of this model can significantly contribute to increasing the efficiency and innovation of the company.</p>
<p> </p>
<p> </p>
<p><i>Jan, 2024</i></p>
</div> <!-- end of main -->
<div class="right">
<h2>_blog posts</h2>
<a href="competency-management.html" title="" class="smaller active">- Competency Management</a>
<a href="devops-is-more-than-you-think.html" title="" class="smaller active">- DevOps is more than you think</a>
<a href="dora.html" title="" class="smaller active">- About the team not the metrics (DORA)</a>
<a href="space.html" title="" class="smaller active">- About the team not the metrics (SPACE)</a>
<a href="inner-source.html" title="" class="smaller active">- Inner Source</a>
</div>
</div>
<div id="footer"><p>© 2024, Robert Sidor</p></div>
</body>
</html>