Skip to content
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

[OSPO Book] add preface and chapter one draft for review #282

Merged
merged 36 commits into from
Apr 5, 2023
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
a060b8e
[OSPO Book] add preface and chapter one draft for review
anajsana Mar 6, 2023
b628374
add chapter one draft content for review
anajsana Mar 6, 2023
82b11b8
add ospo definition section within intro
anajsana Mar 7, 2023
979e3f4
include history, roots and impact section
anajsana Mar 9, 2023
4bd2cbb
improve ospo as a role description
anajsana Mar 9, 2023
56266d5
include knowledge transmission topic in chapter one
anajsana Mar 9, 2023
8fe07ff
Update ospo-book/chapters/00-chapter.md
jdorfman Mar 16, 2023
969a85b
Update ospo-book/chapters/00-chapter.md
anajsana Mar 16, 2023
015dc87
Update ospo-book/chapters/00-chapter.md
anajsana Mar 16, 2023
d182d61
Update ospo-book/chapters/00-chapter.md
anajsana Mar 16, 2023
4cb0a81
Update ospo-book/chapters/01-chapter.md
anajsana Mar 16, 2023
8ea3d27
Update ospo-book/chapters/01-chapter.md
anajsana Mar 16, 2023
802f9bb
Update ospo-book/chapters/01-chapter.md
anajsana Mar 16, 2023
82cfd08
Update ospo-book/chapters/01-chapter.md
anajsana Mar 16, 2023
b13a6eb
Update ospo-book/chapters/01-chapter.md
anajsana Mar 16, 2023
267c30d
Update ospo-book/chapters/01-chapter.md
anajsana Mar 16, 2023
fe42490
Update ospo-book/chapters/00-chapter.md
anajsana Mar 22, 2023
4058307
Update ospo-book/chapters/01-chapter.md
anajsana Mar 22, 2023
b523f4b
Update ospo-book/chapters/01-chapter.md
anajsana Mar 22, 2023
c0b57c1
Update ospo-book/chapters/01-chapter.md
anajsana Mar 22, 2023
c4ab43c
Update ospo-book/chapters/01-chapter.md
anajsana Mar 22, 2023
9c35d9d
Update ospo-book/chapters/01-chapter.md
anajsana Mar 22, 2023
2fd5963
Update ospo-book/chapters/01-chapter.md
anajsana Mar 22, 2023
815e357
Update ospo-book/chapters/01-chapter.md
anajsana Mar 22, 2023
6775a95
Update ospo-book/chapters/01-chapter.md
anajsana Mar 22, 2023
052cb0a
Update ospo-book/chapters/01-chapter.md
anajsana Mar 22, 2023
b49b894
Update ospo-book/chapters/00-chapter.md
anajsana Mar 31, 2023
09229e4
Update ospo-book/chapters/00-chapter.md
anajsana Mar 31, 2023
88c753a
Update ospo-book/chapters/00-chapter.md
anajsana Mar 31, 2023
4bfc710
Update ospo-book/chapters/00-chapter.md
anajsana Mar 31, 2023
f9fd905
Update ospo-book/chapters/01-chapter.md
anajsana Mar 31, 2023
b48285d
Update ospo-book/chapters/01-chapter.md
anajsana Mar 31, 2023
5261c7e
Update ospo-book/chapters/01-chapter.md
anajsana Mar 31, 2023
5af27ff
Update ospo-book/chapters/01-chapter.md
anajsana Mar 31, 2023
4785545
Update ospo-book/chapters/01-chapter.md
anajsana Mar 31, 2023
c23f403
Update ospo-book/chapters/01-chapter.md
anajsana Apr 5, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions ospo-book/chapters/00-chapter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# What is this book about?

This book provides a guide to Open Source Programs Offices (OSPOs), to better understand their role in organizations, and the best practices for
establishing and managing an OSPO. The book covers a wide range of topics, including the reasons why organizations may need (or not) an OSPO, the
role of OSPOs in different types of organizations (public, private, small, medium, large), the challenges, antipatterns associated with OSPOs, and the
tools and processes required to establish and manage an effective OSPO. The book also does a brief introduction to assess an organization's readiness
for having an OSPO. As well as how to’s recommendations: from how to develop open source policies to how to engage with external open source communities.

# What’s not in this book

This book is not intended to be a guide to open source software development, nor does it cover the technical aspects of open source software development
in depth.

Providing guidance on how to deploy, use and contribute to specific open source software projects is also out of the scope of this book.

# Who should read this book?

This book is intended for any person that wants to better understand the role of OSPOs within an organization. The book may be of interest to any role
anajsana marked this conversation as resolved.
Show resolved Hide resolved
in an organization that will be or is currently involved in open source at some level and has direct relationship with OSPO roles (or is in one) or is
anajsana marked this conversation as resolved.
Show resolved Hide resolved
likely to have a close relationship with an OSPO in the future.
anajsana marked this conversation as resolved.
Show resolved Hide resolved

anajsana marked this conversation as resolved.
Show resolved Hide resolved
* Executives, policy-makers and decision-makers who are responsible for establishing, overseeing, funding or sponsoring an OSPO within an organization.
* Open source program managers and leaders who are responsible for coordinating and managing an organization's open source activities and engagement with open source communities.
* Developers, researchers, students, professors and engineers who are interested in contributing to open source projects and want to better understand the role of OSPOs within their organization.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would delete this one, as it is implicitly covered in the first sentence. Articulating it like this might get confusing, since we indicated above that we'll not cover contributions to open source projects.

anajsana marked this conversation as resolved.
Show resolved Hide resolved
* Legal and compliance professionals who are responsible for managing legal issues related to open source software, including licensing and intellectual property.

126 changes: 122 additions & 4 deletions ospo-book/chapters/01-chapter.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
# Chapter 1: Introduction to Open Source Program Offices

- [Introduction](#introduction)
- [Assessing Readiness for Open Source and OSPO](#assessing-readiness-for-open-source-and-ospo) - `✅ Assessment`
- [Antipatterns](#antipatterns) - `🚫 OSPO Antipatterns`
- [Resources](#resources) - `📚 Continue Here`

# Introduction

Open source technology has become an integral part of modern organizations, offering a range of benefits, including lower costs, increased collaboration, and access to a vast pool of talent and resources. However, with the growing importance of open source, organizations need to be equipped to manage their open source operations effectively, in order to realize these benefits.
anajsana marked this conversation as resolved.
Show resolved Hide resolved
anajsana marked this conversation as resolved.
Show resolved Hide resolved

One solution to this challenge is the creation of an Open Source Program Office (OSPO). An OSPO is a dedicated team or department within an organization that is responsible for managing the organization's open source operations, including the development, distribution, and use of open source software.
In this book, we will guide organizations through the process of creating and implementing an OSPO, providing practical advice and best practices on how to streamline open source operations, and ensuring that organizations are able to maximize the benefits of open source technology.
Creating an Open Source Program Office (OSPO) can accelerate a company's or organization's open source journey from mindset change to efficient policies and workflows. An OSPO is a dedicated team or department within an organization that is responsible for managing the organization's open source operations, including the development, distribution, and use of open source software, and harmonizing and integrating these with product development.
In this book, we will guide organizations through the process of creating and implementing an OSPO. We will provide practical advice and best practices on how to streamline open source operations, and ensuring that organizations are able to maximize the benefits of open source technology, while being good open source citizens.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In those three paragraphs, there are too many , and and. I could understand well because I know what each section means. But other people like beginners may struggle with understanding each description.
What about making the list with bullet points, or providing a picture such as a mindmap?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good idea!

anajsana marked this conversation as resolved.
Show resolved Hide resolved
anajsana marked this conversation as resolved.
Show resolved Hide resolved
anajsana marked this conversation as resolved.
Show resolved Hide resolved

The book is structured in a user-friendly and practical manner, with a focus on providing actionable advice and steps that organizations can take to create and implement an OSPO. The book will cover a range of topics, including:

* Encouraging Organizations to treat Open Source as a commodity
* Understanding the value of open source program offices within organizations
* Understanding the value of OSPOs within organizations
* Learning how to be involved in open source program operations on a daily basis
* Gathering the ingredients for a minimum viable OSPO
* Best practices for creating and implementing an open source strategy
Expand All @@ -18,3 +24,115 @@ The book is structured in a user-friendly and practical manner, with a focus on
Whether you're just starting out on your open source journey, or are looking to streamline your existing operations, this book will provide you with the knowledge and tools you need to create and implement a successful Open Source Program Office.

In the following chapters, we will explore the key components of an OSPO, and provide practical guidance and best practices on how to create and implement an OSPO within your organization, regardless of your industry or sector. So let's get started!

## OSPO Definition

An *Open Source Program Office (OSPO)* is a center of expertise, either virtual or physical, that supports, nurtures, shares, explains, and grows open source within an organization. An OSPO *role* can be conceived as an umbrella term, covering the responsibilities for defining and implementing strategies and policies that guide open source efforts and provide tools, processes, and knowledge to organization teams and experts in navigating open source without harming the open source ecosystem. Instead, they help to sustain it while achieving organizational goals.
anajsana marked this conversation as resolved.
Show resolved Hide resolved

OSPOs (as center of expertise) may comprise a framework built around some or all of the following aspects:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not entire sure if the terminology of "OSPO (as center of expertise)" and "OSPO (as a role)" is not overly complicated and not really needed. It creates the impression as if the abbreviation "OSPO" can apply to multiple different things. Wouldn't it be more straightforward to just use the terms as follows (on a high level):

  • an OSPO is a center of expertise, either virtual or physical... [the org]
  • An OSPO can act in multiple roles... [the what]
  • an OSPO creates and maintains a framework covering the following aspects... [the how]

Just a proposal

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section reads a little confusing to me as well. It also doesn't read as a definition, but it rather talks about what the org does, in some extent, and what responsibilities it has.

I would focus on really just defining here what the term actually means. I would establish that it is a group of people with the goals of X, Y and Z.

Then we can have subsections that talk about the OSPO's responsibilities, structure, job roles within that org and even suggest where it might sit within a bigger organization to be able to make impact.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

During yesterday's call, we agreed to come up with a different word to define the "different hats" that people within an OSPO play. The "persona" term was discussed but is also highly related to marketing definition and might create confusion.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[From Contirbutor's call discussion] two differentiations might unblock this: OSPO as the entity and the people behind an OSPO (that includes roles, skillsets, etc)


* Set policies related to code use, distribution, selection, auditing, and other key areas
* Provide education and training to internal and external stakeholders involved in open source activities
* Ensure legal compliance
* Promote community engagement

OSPO (as a role) can include:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a little confusing to me. Is the goal here to use these terms/roles below later in the book?

To me the actions that the roles cover read more as responsibilities of an OSPO. However, as it is currently structured, it looks a little bit like we're hinting a bit to create these roles within the org.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We discussed in a meeting and the idea of "persona" was brought to light, although it may mean something different in marketing circles.

anajsana marked this conversation as resolved.
Show resolved Hide resolved

* Open Source Enabler: OSPOs can help organizations navigate the cultural, process, and tool changes required to engage with the open source community effectively. This can involve educating teams/ units, establishing new processes and workflows, and adopting new tools and technologies.

* Open Source Counselor: OSPOs can provide guidance and advice on the latest open source trends, licensing issues, and how to engage with open source projects, foundations, and communities. This can help organizations stay up-to-date with the rapidly changing open source landscape and ensure they are making informed decisions.

* Open Source Advocate: OSPOs can promote the use and/or contribution of open source and best practices across different organizational units. This can help organizations realize the benefits of open source as well as engaging people to contribute to open source projects or start new ones.

* Open Source Environmentalist: OSPOs can help organizations support and sustain open source projects in the long term by addressing issues such as security, maintenance, and project health. This can involve establishing policies and procedures for code review, security vulnerability management, and ongoing maintenance and support through funding and/or contributions. By doing so, OSPOs can help ensure that open source projects remain healthy and continue to benefit the wider community.

## History and Roots

The OSPO concept initially started within the corporate world about two decades ago, but adoption accelerated signficantly in the last decade. Most prominent technology infrastructure firms (e.g., Amazon, VMware, Cisco) and consumer technology companies (e.g., Apple, Google, Facebook) created OSPOs or formal open source programs. All are encouraging their employees to contribute to open source projects that are strategic to their business and security.

The term started becoming more mainstream and diverse in the last years, as more organizations from different sectors and regions included dedicated open source roles in their organization to manage open source operations and strategy. Nowadays, we can find OSPOs being formed in different regions (APAC, EMEA, AMER) and entities, such as Governments, Enterprises, NGOs, Universities and more.

> Important Considerations in Defining an Open Source Program Office (OSPO): OSPOs vary in Sector, Region, and Organizational Size; May Exclude the Term 'Program' to become 'Open Source Office'; and No Two OSPOs are Alike.

# Assessing Readiness for Open Source and OSPO

`✅ Assessment`

The purpose of this section is to first identify the strengths, weaknesses, and opportunities for improvement within the organization,
and to help determine if an OSPO is the right solution for the organization's needs based on their existing open source engagement level, culture and understanding.

## Where do Open Source and OSPO converge?
anajsana marked this conversation as resolved.
Show resolved Hide resolved

In the past, collaborative open source software development was primarily adopted by small groups of developers and enthusiasts, and there was little need for dedicated organizational units to manage open source activities. However, as this method has become more prevalent and critical to the operation of many organizations, the need for dedicated OSPOs has become more apparent.

### Understand existing and desired open source adoption

Once an organization has assessed the level of open source used, contributed, or produced in the organization and why establishing an OSPO can help an organization manage the risks and opportunities of what open source, open works and collaboration brings, and ensure that its open source activities are effectively managed and aligned with the organization's strategic goals and objectives.
anajsana marked this conversation as resolved.
Show resolved Hide resolved

While this is a book about Open Source Programs Offices (OSPOs), it is important to note that establishing an OSPO is not the starting point for open source operations. Before establishing an OSPO (and keep reading the content of the book), it is critical to assess your organization's level of open source adoption and readiness for open source operations. Open source software adoption varies widely across organizations, and it is important to understand your organization's current level of adoption and the level of knowledge and understanding of open source within your organization.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any valid case where creating an OSPO could be a starting point? Or one of the starting points?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This and the below paragraph refer to 'open source adoption' and 'open source software adoption' without defining what these actually mean.

In this section I would rather be more practical and say that a companies and organizations need to assess their current goals and relationship with using and collaborating to open source software projects. And that below we're providing a framework and a checklist to assess and better understand their current stage and next steps.

anajsana marked this conversation as resolved.
Show resolved Hide resolved

Assessing open source adoption is critical because it sets the foundation for successful open source operations. Without proper understanding and adoption of open source, an OSPO may not be effective in achieving the desired outcomes.

* **☑️ Open Source Software (or open works) Usage:** Evaluate the level of open source software usage within your organization. Are there any specific open source projects that are widely used? Are there any projects that are critical to the organization's operations?

* **☑️ Knowledge and Understanding of Open Source:** Evaluate the level of knowledge and understanding of open source within your organization. Are the different actors that will be or are currently involved in open source familiar with open source licensing models and requirements? Do they understand the benefits and risks of using open source software?

* **☑️ Culture:** Evaluate the culture within your organization to determine if it is conducive to open source operations. Is there a culture of collaboration and sharing? Are the different actors that will be or are currently involved in open source willing to contribute to open source projects?

* **☑️ Tools and Processes:** Evaluate the tools and processes in place to support open source operations. Are there any existing tools or processes that can be leveraged for open source operations? Are there any gaps in tools or processes that need to be addressed?

* **☑️ Addressing Gaps:** Determine if there are any gaps in open source adoption or readiness and develop a plan to address them. This may include training those actors that will be or are currently involved in open source on open source software usage and licensing, developing new tools and processes to support open source operations, or establishing an OSPO to coordinate open source activities.

* **☑️ Overall, gather input from stakeholders on these areas** by asking the folowing questions
anajsana marked this conversation as resolved.
Show resolved Hide resolved

* How would you define 'open source'?
* What does 'open source' mean for you and your organization?
* How would you define the 'open source culture' within your organization?
anajsana marked this conversation as resolved.
Show resolved Hide resolved
* What are the organization's goals and objectives for using open source?
* How is open source software currently being used and /or created (contirbution) within the organization?
anajsana marked this conversation as resolved.
Show resolved Hide resolved
anajsana marked this conversation as resolved.
Show resolved Hide resolved
* If any, what are the current policies and procedures for managing open source software within the organization?
* What are the key legal and compliance considerations for using open source software within the organization?
anajsana marked this conversation as resolved.
Show resolved Hide resolved
* What are the motivations for implementing an OSPO within the organization?
* What are the challenges of implementing an OSPO within the organization?
* What resources and support will be needed to successfully implement an OSPO within the organization?

### Understand knowledge transmission through the eyes of OSPO
anajsana marked this conversation as resolved.
Show resolved Hide resolved
anajsana marked this conversation as resolved.
Show resolved Hide resolved

> RE ML disussion: https://lists.todogroup.org/g/ospo-book-project/message/5

If the organization decide to establish an OSPO (as entity) or integrate OSPO roles, it is crucial to assess the transmission of knowledge to different internal and external *open source players* that have a direct or indirect impact on the OSPO. This section examines the OSPO from four different perspectives:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still have a hard time with using the OSPO term for both an entity as well as a group of roles. I think it is very easy to associate to job roles and functions, rather than the responsibilities that we listed above.


* Looking downward: as the head of an OSPO, managing the team's tasks is a fundamental responsibility. Depending on the OSPO's objectives, the team's responsibilities may vary, but effective management is essential.

* Looking upward: if proposing the creation of an OSPO, managing expectations and aligning with executives' technology needs is necessary.

* Looking sideways: collaboration with other teams is critical. For instance, in business-oriented OSPOs, collaborating with the dev tools and security teams is necessary.

* Looking outside: representing the organization to external communities and foundations is crucial. The integration strategy must align with the organization's objectives and vision.

As an example, the following [diagram](https://lists.todogroup.org/g/ospo-book-project/message/5) illustrates the various players in a business-oriented OSPO and the different methods of interaction, communication, and knowledge transmission.

<img width="908" alt="img2" src="https://user-images.githubusercontent.com/43671777/224132683-6a2abdff-c846-4db3-b642-c2e32b5734fb.png">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should store the images in tree and also the editable versions of the images.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1! I can prepare an /img folder with the images and fix the links accordingly 👍


In Chapters 3 and 6, we will delve deeper into how an OSPO can effectively address knowledge transmission across various open source players and highlight some best practices utilized by different organizations.

## Antipatterns

`🚫 OSPO Antipatterns`

While Open Source Programs Offices (OSPOs) can provide significant benefits for organizations, there are also bad practices that organizations should avoid if they don't want to lead to negative consequences for both the organization and the open source ecosystem. Here is a set of examples that illustrates what an OSPO is not about, and how to avoid common pitfalls:

* **Establishing an OSPO without proper alignment with organizational goals:** An OSPO should not be established just because it is a trend or because other organizations have them. Without proper alignment, an OSPO can become a waste of time, resources, and money.

* **Viewing an OSPO as a separate silo within the organization:** It should be integrated into the organization's existing structure and collaborate with other teams to achieve common goals.

* **Viewing an OSPO as a legal or compliance function only:** Instead, it should be recognized as a strategic entity within the organization that contributes to the organization's overall goals and objectives while keeping in mind the value and rights of the open source community.

* **Viewing an OSPO as a one-size-fits-all solution:** It's important to evaluate the benefits and costs of establishing an OSPO and determine if it's the right fit for your organization's goals and objectives.


## Resources

`📚 Continue Here`

Additional resources useful to continue evaluating open source usage, contribution, creation, and leadership: [provide a set of resources]