“Tech companies born with an open source mentality get it. It’s our ability to work together that makes our dreams believable and, ultimately, achievable. We must learn to build on the ideas of others”—Satya Nadella
Whenever I teach open source at Microsoft, I open with this quote from Satya. Whether new to Microsoft, or learning a specific skillset around open source, we want people to feel grounded and inspired in this “call to action” that learning and open collaboration must be central, and not optional to how we work. This aligns with Microsoft’s Growth mindset overall: Our culture is rooted in the belief that potential is nurtured not predetermined. We must be learners not knowers.
As we, on the Open Source Programs Office (OSPO) team, reflect on the past year, it is certainly clear that we’ve learned a lot! In the spirit of open collaboration, we thought it might be helpful to share a bit of that journey this year, including sharing resources. Those are listed at the end of this post.
Onboarding to open source
One question we asked ourselves this year was, “what does it mean to onboard to open source at Microsoft?” No matter someone’s job title, function, or experience, it’s more than likely gaps exist, and these gaps might present risk to the organization as well as missed opportunities people and their careers.
Taking this as an opportunity to learn, we ran a survey to ask, “What support are you most in need of?”, the responses were almost equally split between need for skills training and connection with others. That desire for connection, likely in-part driven by the isolation of the pandemic, felt like an important nudge to develop learning that was both supportive and which provided a chance for people to meet, collaborate, share experiences, and solve problems together.
As an experiment, we developed a series of self-study courses, as well as in-person workshops under the title, “Open Source Maintainer”, to teach basics of use, contribution, release, and growth of an open project; part presentation, part breakout room where people could meet others, share stories and work on problems together.
In recent months, we’ve run over 36 workshops for over 900 people (across a few time zones), with over 300 more having completed self-study courses which include one focused on career growth through open source titled, “Mapping Your Open Source Career”, and one focused on developing inclusive open source culture called, “Inclusive Open Source Governance”. Both, now available on GitHub.
“There two qualities that make a great leader in the open source world, and they are humility and empathy; I want to emphasize that these traits can be learned.”—Nell Shamrell-Harrington, OSPO Principal Engineer in the course on Mapping Your Open Source Career.
We’ve discovered that people deeply value the chance to connect in real-time workshops, and that working on problems together in breakout rooms is not only fun but has a name; “social learning”. Social learning is focused on learning with others, which deepens and accelerates learning over just doing it on your own. Social learning seems to accurately describe the benefits of open source collaboration, which made the design even more relevant.
On the other hand, self-study courses appear to be great for those who prefer self-paced learning or want to dig into one specific area of a topic—we provided several courses in this format as well including “GitHub at Microsoft 101” written to help people work effectively with that tool in the context of Microsoft systems. One of those tools is just-in-time (JIT), an important GitHub administrative tool (soon to be released as open source).
I will say, throughout all of this—learning was two-way. Many, many improvements made to our processes, tools, and documentation this year were a direct result of questions that came up from learning participants.
Lastly, we learned that embedding courses like these in existing employee onboarding was a great way to meet people at the door and currently experiment with an “Onboarding to Open Source at Microsoft” checklist (organized by priority and time) to help people to slowly connect with policy, process, community, and training. To date, we’ve onboarded over 600 new to open source at Microsoft as part of existing onboarding programs.
Contributing to Open Source
Once again focused on learning, we experimented with ways of increasing individual employee, team, and organizational impact on upstream projects through contribution. By the way, we use this Component Detection engine to detect and understand usage at Microsoft; it’s now open source so you can use it too.
OSPO had goals to increase contributions to open source overall, and while we generally saw an uptick in numbers (both casual and sustained contribution) we learned that in these unusual times, success also looks like people “avoiding burnout” by taking breaks and getting outside. That’s why a drop in contribution over the summer felt like good news—as people likely taking their time collected during COVID started to go on holiday again.
We’ve also made contributing to open source a prerequisite to participate in the FOSS Fund (inspired by Indeed), which selected 19 projects for sponsorship this year including Babel, Grain, QEMU, Chayn, dbatools, Ajv, Optikey, with goals to fund more even more in 2022. We created a resource “8 ways you can contribute to open source today” to help unblock thinking that a contribution had to be significant to count.
“Reproducible Builds is important to secure supply chain efforts across the company as well as many of our security initiatives.”—Carol Smith, FOSS Fund nominator on why she thought Reproducible Builds should be selected for FOSS Fund (they were!)
We invested in learning about the sponsorship experience itself asking projects and maintainers how we could do more and do better. One theme that emerged was the need for resources to support equitable and trusted disbursement of resources.
“Having funding solves one problem while introducing a host of others—how do we manage supported developers, how do we mix volunteer and supported developers, how do we ensure the community is aligned with how funds are dispersed and when.”—Thomas Caswell, Matplotlib Maintainer
As we work to scale sponsorship in 2022, it’s clear that identifying those gaps and experimenting with supplementary support as part of funding will have an important role to play. It’s early days, but we’re optimistic that the Azure Credits pilot and collaboration with the CHAOSS project around metrics for sustainability will help us experiment, learn, and continue to have new impact. We’ll keep sharing what we learn as well.
Empowering internal commmunity
With a membership of nearly 100 passionate people dedicated to positive impact through open source, “Open Source Champs” is an employee-led program set up to support membership with learning, collaboration, and other support. Building an internal leadership community is no different than external communities—there needs to be a clear value exchange, recognition, opportunity to influence, and clear milestones for membership (onboarding, renewal, and emeritus). We’re looking forward to up-leveling the quality of the program in all these ways in 2022.
According to Microsoft-owned research through the Open Source Champs Program, people describe the value (and potential value) of Open Source Champs similarly to how we define an ERG (Employee Resource Groups), in that a psychologically safe place to learn, advocate, and collaborate was highly valued and important for their professional goals.
Focusing on cultural transformation, we also focused on the health of internal collaborations (InnerSource), indeed opportunity to work across teams on InnerSource projects appears to be a great way to gain confidence, learn, and experiment (almost like a sandbox for open source) before taking that next step to working openly.
We’ve learned a lot this year, but there’s so much more we hope to accomplish tough a growth mindset—always learning. We hope that sharing our work helps inspire others tackling similar problems. We invite you to collaborate with us to reuse or remix any of the resources below. Looking forward to sharing more and collaborating with you in 2022.
We’ve compiled a list of links to relevant projects and resources Microsoft has published or contributed to in support of other OSPOs and companies working with open source.
Component and license detection
- Addition of Go support to Clearly Defined: Open Source components written in Go to get clearly defined license information for them. This can be automated using the ClearlyDefined API, which means they can automate their compliance checks for all the Open Source Go software that they use.
- Component Detection: Core Component Detection engine which runs on Microsoft builds, identifies open source components in the most popular package managers like NuGet, and npm.
Education and training
- Inclusive Governance (Code of Conduct and Etiquette Guidelines), which includes this triage tool for reports. View the OSPO Courses README.md for format.
- Mapping your Open Source Career: This course provides learners with an inspiring overview of the skills, knowledge, and opportunities that open source can provide to their personal and career goals. View the OSPO Courses README.md for format.
- Onboarding to Open Source: This is a checklist of steps we setup those new to open source, and or new to Microsoft for success. Many of checklist items were originally internal to Microsoft, but hopefully inspire you to think about the equivalent in your company/organization.
Open Source Maintainer employee stories (produced videos)
- Johannes Shindelin: Johannes is the maintainer of git for Windows.
- Karen Chu: Helm Maintainer, CFCF Ambassador.
- Nell Shamrell-Harrington: Board Director, Rust Foundation, Maintainer ClearlyDefined.