Handbook

Introduction

This is the OSDC handbook.

Goals

Proposed Solutions

What does OSDC stand for?

The first time I encountered the OSDC acronym was when I heard about the “Open Source Developers’ Conference” in Australia. I used the name in 2006 to organize an even in Israel. More recently I saw it being used as “Open Source Developers’ Club”. In December 2022 I started to use it as “Open Source Development Course(s)” escaping the need for the apostrophe. Then in June 2023 I realized the C can also stand for Company or Corporation. Somehow all of these might fit us.

Products and Services

Under Solutions I described a few potential revenue sources, but in reality I am not sure how well these source can generate revenue. I do some training, but the world of training changed a lot. I don’t know if companies will be interested in the maintenance of open source project and if they are ready to pay for that or if something else need to be sold to them.

For now I try to describe the way I would like to work in this company.

Goals and Values

Culture

Agile and DevOps culture as expressed in the Agile Manifesto and by core people in the DevOps movement, such as Jez Humble, Gene Kim, David Farley, Nicole Forsgren.

TODO add links to books and articles about Agile and DevOps.

Work on what you like

At any point in time there are many open issues to work on and there might be many other tasks that are not (yet) listed as issues. We can have meetings to set priorities, but trying to stick to the exact order of priorities might be difficult and not enjoyable.

We trust people that they have (or that they can develop) an understanding of what is more important and what is less important. Beyond that we want to allow people to work on the issue or task they find most interesting, valuable, or even fun. We believe that if people have the freedom to act they will work towards the well being of our projects and our organization.

We recognize that sometime people are just not in the mood to do the “most important task”. In those situations they will start wasting time on all kinds of non-productive things, for example browsing the social networks. It is better to let them work on less important or less urgent task that still move the projects forward than to make them suffer and waste time.

Background

I hear plenty of people complaining about their workplace that they don’t understand software development and operations. I saw similar issues at many of my clients. Well, maybe “don’t understand” is not the correct way to describe this. Let’s find a better description that will help with our understandings. What we see is that instead of going Agile, they implement Scrum top-down in the organization. Instead of changing the organization to embrace the ideas behind DevOps, they rename the ops team to DevOps or even create a separate team of “DevOps engineers”.

To me this indicates that the majority of companies (or the people in these companies) are not really capable of change. So you need to wait till people move and new people arrive who have better ideas. Even that probably won’t help in most places as there is already an organizational culture that the new people won’t be able to change.

So if you want to work in such an organization, either find one or create one yourself.

Documentation and transparency

In many organizations during in-person person meetings people discuss things, reject ideas and then make decisions. In many cases even the decisions remain only in the memory of the participants. The process of decision making, the reasons why that particular decision was made and why other things were rejected is almost never documented. This means that if someone is not present that person will not know the reasons. In particular any person who joins the organization later will not be able to understand why certain things work in a particular way. Was that a conscious decision or did that just happen.

We want to make sure that all our decisions and how we reached them are documented. This is realtively easy if everything is in writing. Less so if we also have other communication channels. Especially it is difficult to make sure everything is recorded for in-person meetings.

Nevertheless we would like to encourage people to record all the discussions.

For online meetings we can have a video recording, but we should also take notes in writing. That will be easier to search.

For in-person meetings we should take notes.

Communication

There is a lot of value in face-to-face and in-person communication and we would like to encourage that too, but we know that in reality in many cases the time needed for communication is not symmetrical. The time it takes to create the content is not the same as the time it takes to consume it.

Besides that, people live in different time-zones and even those who live in the same time-zone will have different habbits or different constrains when they can work.

So asynchronous communication is key to enable good communication.

Marketing and Promotion

Our ideas, products, and service might be great, but if they don’t reach the people who need them then they don’t provide the value they can. So we need to promote them. Let’s start by describing some of the channels for promotion:

TODO: We need a lot more ideas and explanation here.

Global in English

Local in Hebrew