Glossary

Air cover

Refers to executive management support for a potentially vulnerable change initiative, such as an InnerSource program. Having support at the highest level helps to get things done and to ensure that mid-level managers cannot block an initiative.

Apache Software Foundation (ASF)

An American nonprofit organization that supports Apache Open Source software projects, including the Apache HTTPd web server. Founded in 1999, the ASF is home to the world’s largest single-license Open Source software repository with over 350 projects and more than 5,000 contributors. The Apache Way is a documented method for transparent peer-based collaborative software development upon which InnerSource is based (see Chapter 2).

Benevolent Dictator for Life (BDFL)

The term BDFL is commonly used in Open Source projects with a single leader, who is often (but not necessarily) its original creator. The term first appeared in 1995 referring to Python’s creator Guido van Rossum. A BDFL oversees a project and has the final say in key decisions related to a project’s future development direction. Not all Open Source projects have BDFLs.

BIOS

BIOS stands for Bosch Internal Open Source, which is the name for Bosch’s first InnerSource program. Starting in 2009, the BIOS program was a three-year experiment (later extended by an additional three years) to evaluate the utility of Open Source development practices for corporate software development. BIOS evolved into Bosch’s Social Coding program.

Bosch Internal Open Source (BIOS)

See BIOS.

Bottleneck

A metaphor that denotes when the capacity of a system or organization is limited by one component or team—the bottleneck.

Brooks’s Law

An observation by Frederick Brooks, who was project manager for IBM’s OS/360 project, that adding more people to a project that is already late, will make it later. The explanation for this is that new people need to be onboarded onto the project, the combinatorial explosion of the number of communication links in larger groups of people, and the limited extent to which tasks can be divided over multiple people.

Champion

A person who helps advocate an InnerSource program, by serving as a contact point, a domain expert, or a leader to help other teams onboard and even arbitrate in an InnerSource program.

Charter conflict

Charter conflict is a common management problem where two or more individuals or teams each believe a given area of effort is their sole responsibility, which leads to both working in the same problem space, often with duplicated effort, and eventual hurt feelings. Clear guidance from leadership can avoid or resolve charter conflict.

Cheese, wedge of cheese

A metaphor for an executive manager (see Cheese Story).

Cheese Story

The Cheese Story describes how disagreements and conflicts get escalated up the management chain to executives, which are drawn as a wedges of cheese. When escalation occurs, one division’s “cheese” discusses the team’s wishes with the other division’s cheese, who will then discuss the issue with his or her engineers. This out-of-band intervention runs counter to InnerSource communication, collaboration, and decision-making processes, all of which are generally more direct.

Chief Architect

A key role in the core team in Bell Laboratories’ SIP project. The Chief Architect typically has intimate knowledge of the software asset.

Code Guardian

A role in Ericsson’s CDS initiative. The Code Guardian is one of three roles (besides Product Owner and Architect) in Ericsson’s core teams. The Code Guardian is to “guard the quality of the code” by reviewing contributions from individuals and teams.

Community Developed Software (CDS)

CDS is an InnerSource program within Ericsson that started with the company’s attempt to build a platform without a platform organization. Within the CDS, core teams are responsible for designing and delivering components with well-defined interfaces that feature teams can use to implement the functionality they need.

Continuous Integration (CI)

First coined as a term by Grady Booch, IBM Fellow and co-inventor of the Unified Modeling Language (UML), and also one of the original 12 practices of Extreme Programming (XP), CI is the practice of integrating code changes into the master code repository to ensure that no defects are introduced that break the system as a whole.

Contributing.md file

A file offered in every project setup that memorializes working agreements between guest contributors and host code owners, as well as the process for making, reviewing, merging, and supporting contributions (the .md extension suggests it’s written in Markdown, which is supported in many modern version control systems).

Core Team

Many successful Open Source projects have a core team that consists of a relatively small number of key contributors. Some projects define a core team to consist of a BDFL and Trusted Lieutenants. Others define a core team by the architecture of the project, for instance, the core team may work on the core engine while everyone else works on modules that the core engine acts on. Companies adopting InnerSource sometimes adopt the concept of a core team, but they may redefine what that means for their context.

Corporate Open Source (COS)

The term originally used at Bell Laboratories for InnerSource.

Delivery advocate

A role in Bell Laboratories’ SIP project’s core team that assists business units in the task of integrating the shared assets into the business units’ software. We’ve also seen the concept of a delivery advocate in other companies, though they didn’t use the term.

Executive air cover

See Air cover.

Feature advocate

A role defined in Bell Laboratories’ SIP project’s core team. The feature advocate is responsible for seeing a certain feature to completion.

Guest contributor

A term used in PayPal’s InnerSource program, to refer to a contributor external to the owning team (Host team).

Host team

A term used in PayPal’s InnerSource program, to refer to the team that mentors, accepts, and reviews contributions from guest contributors. See also Guest Contributor.

Infrastructure-based InnerSource

A variant of InnerSource whereby an organization provides the necessary infrastructure for anyone to start a new community. In this model, the organization doesn’t provide any resources to support a dedicated core team to develop or maintain a specific project. See also Project-specific InnerSource.

Inner Source

The term coined by Tim O’Reilly in 2000 to refer to the idea of leveraging Open Source development practices for corporate software development. The InnerSource Commons has adopted “camel case” spelling: InnerSource.

InnerSource

Alternative spelling for “Inner Source” (the original spelling coined by Tim O’Reilly). The one-word spelling was chosen by the InnerSource Commons community to make the term more searchable on the internet.

InnerSource Commons

Founded in 2015, the InnerSource Commons is an organization of individuals working on sharing experiences, developing public educational materials, and supporting each other as they work on InnerSource implementations either for their employers or as consultants. This group meets online at http://innersourcecommons.org.

IRC

Internet Relay Chat. Chat server software that was invented in 1988 and is still commonly used by Free and Open Source projects. Many alternative communication and collaboration platforms exist today with similar features. One of the better known commercial platforms is Slack.

Liaison

A formalized role in Bell Laboratories’ SIP InnerSource project. The Liaison plays a key role in managing the core team’s activities, and is the interface to business units who wish to discuss new work requests. Within the SIP project, the liaison works closely with the Chief Architect.

Linus’s law

Originally coined by Eric Raymond in his essay The Cathedral and the Bazaar: “Given enough eyeballs, all bugs are shallow.” In other words, bugs that may seem inexplicable to some might be obvious to others, as long as a sufficient number of people that look at the code. The limitations of Linus’s law were demonstrated when the “Heartbleed” bug was introduced into OpenSSL in December 2011, released in March 2012, and neither noticed nor fixed until April 2014.

Markdown

A lightweight markup language to structure text that can be easily converted to other formats, such as HTML. The file extension is .md. Many modern tools have native support for it; GitHub and GitLab both support Markdown with specific extensions.

Modularity

Modularity refers to the extent to which a software program’s parts are coupled. A high degree of modularity means that modules are very loosely coupled, which in turn means that changes in one module result in a minimal number of changes in other modules. A low degree of modularity means that modules are tightly coupled, which in turn means that a change in one module may require significant changes in all coupled modules.

Product Owner (PO or PMO)

A key role in the Scrum development framework, the most popular Agile development method. The PO represents the voice of the customer, and has as a key responsibility the maintenance of the product backlog of planned features expressed as “stories”—the role also typically includes setting development priorities for the product.

Project-specific InnerSource

A variant of InnerSource that focuses specifically on one or a few projects that have dedicated teams, typically supported by corporate funding or by business units. The dedicated “core team” is responsible for maintaining a roadmap and the asset’s architectural consistency. See also Infrastructure-based InnerSource.

Pull request (PR)

A set of proposed changes to source code that includes metadata such as review comments. A PR is the mechanism used in distributed (or decentralized) source code management systems such as Git and Bitbucket. In centralized code management systems (such as Subversion), changes to source code would typically be captured in a patch that does not include the metadata that a PR has.

Release advocate

A formalized role in the core team of Bell Laboratories’ SIP InnerSource project. The release advocate is responsible for ensuring that all features that were planned for a release are submitted on time, and keeping track of division-specific impacts of a specific release.

Scrum

Possibly the most popular Agile method for software development. Scrum defines a number of roles (see Scrum Master, Product Owner), artifacts (e.g., product backlog), and ceremonies, such as the Daily Standup (or Daily Scrum). Being an Agile method that recommends a maximum team size of about 7 to 9 people and that emphasizes face-to-face communication, many companies that adopted Scrum have difficulty scaling up their software development efforts. InnerSource can help in this regard.

Scrum Master (SM)

A key role in the Scrum development framework, the Scrum Master works to ensure a given team is following all the steps of Scrum, including regular short meetings to discuss daily work, pulling specific assignments from a backlog of feature descriptions called stories, and completing a show and tell of progress called a “demo” at the end of every planned work interval (a sprint), typically two to four weeks in duration.

SeazMe

An Open Source tool developed and released by PayPal that collects information (and ad hoc documentation) from a variety of sources into a persistent and indexed archive, in order to make information discoverable and to enable collecting metrics on InnerSource collaboration between teams.

Silo

Metaphor to describe the typical arrangement in large corporations, where each division (or large collection of code) is a separate, independent entity with very little collaboration and communication between them. Silos often compete for budget and resources, and this competition further undermines collaboration and communication.

Slack

A commercial collaboration platform that shares many of the features of IRC, but also allows the sharing of many document and image types in addition to plain text. Slack is currently widely used by companies as a collaboration and communication tool. Slack stands for “Searchable Log of All Conversation and Knowledge.”

Social Coding

Bosch’s current InnerSource program, which descended from BIOS.

Symphony

The subject of one of the key InnerSource experiments at PayPal. Symphony was a year-long project to rearchitect a key service used by most PayPal features.

Test-Driven Development (TDD)

Test-Driven Development is one of the original 12 practices of Extreme Programming (XP), one of the most popular Agile development approaches. In TDD, you write the tests for a feature first, and then the feature itself, after which the test should pass, which suggests the feature is complete.

Trusted Committer

See Trusted Lieutenant.

Trusted Contributor

See Trusted Lieutenant.

Trusted Lieutenant

In an Open Source context, the term Trusted Lieutenant can refer to a member of an Open Source project’s core team who has merge access to the major branch of the source code management system. Trusted Lieutenants may assist a project leader (or BDFL) or may be themselves solely responsible for reviewing, critiquing, accepting and merging contributions to a project. Trusted Committer is a synonym. A Trusted Contributor has achieved a level of trust in their contributions, which is a step on the path to Trusted Lieutenant.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.163.58