Building open source community culture online, Part 1

Rosalind Benoit
The Spinnaker Community Blog
6 min readApr 16, 2020

--

Highlights, results & learnings from Spinnaker Gardening Days

Note: Read the original post here on the Armory blog.

With people worldwide rediscovering subsistence strategies like cooking and bread baking, I hope that gardening will also enjoy a resurgence! Tweet your garden pics to @dnilas0r with your answer to, “why do you garden?” any time : )

While planning the first Spinnaker Gardening Days, I continually asked myself: what will make folks in the OSS community want to join? What motivates people to contribute to open source projects?

Current circumstances render the question “why do we garden,” rhetorical; of course, we garden for fresh food and beautiful yards. But how many of us stay connected to those clear benefits in our daily lives? Gardening is gratifying, but not instantly. So, we may overlook it.

Just like we all eat, we all use open source software. We build careers and businesses on its capacity to solve problems. When it’s time to apply for a job, prepare a conference talk, or write our bio, demonstrated open source engagement makes an instant difference. To get that gratification, we need to start planting our contribution seeds now.

The hackathon proved that our community is ready and willing to sow those seeds. Prospective contributors expect a huge return on investment in Spinnaker Success at their organizations. As our community heats up, they can also expect the spotlight as the skills and contributions they manifest enhance professional profiles and generate buzz.

Enable the world on Spinnaker with standard development environment setup

The hackathon also proved that establishing a Spinnaker development environment is time-consuming. With several installation routes, and different gotchas to address depending on individual infrastructure choices, this can quickly overwhelm a new contributor. To help contributors prepare, we wrote a development environments guide which covers several viable routes. It even contains a video guide for local installation using Minnaker, a Spinnaker quick-start tool built by Armory for POC installations. Still, the variance we found in environment setup across expert Spinnaker developers indicates that no best practices exist. This isn’t the inviting, smooth onboarding process we’re striving for. Rob Zienert, who volunteered as an on-call expert along with fellow Spinnaker engineers from Netflix, Google, and Armory, addressed this in a key post to our main event Slack channel, #gardening-general:

^ TOC-member Rob Zienert responds to the community’s need with a pledge to lead development of an official Spinnaker Dev Toolkit

I have joined the #dev-toolkit channel and look forward to working with the TOC to unblock prospective contributors for a productive 2020! Please join us, as a standard dev toolkit would help organizations quickly influence Spinnaker’s evolution, in the true spirit of open source.

Hackathon result stats

A message I hoped to communicate to all prospective contributors in the hackathon: start small! Tracking issues and PRs that interest you, and commenting on them to provide context (even when you don’t have a solution), is a great way to start learning a new codebase.

The event gave me a better idea of how to balance formation of project teams with the option to work solo on smaller projects. We had one wildly successful project team, which built a plugin for using Pulumi in Spinnaker pipelines (more on their project below).

First, let’s look at this event’s output. Here’s a rundown of recorded contributions (excluding activity from Armory folks). CONGRATULATIONS to these ten contributors, who will soon receive their prizes from sponsor Salesforce:

Cristhian Castaneda, @castanedaci

  • 1 issue, 1 PR, 4 commits to a repository in spinnaker-hackathon

Dan Hernandez, @danfhernandez

  • 11 issues, 3 commits to a repository in spinnaker-hackathon
  • Pulumi Plugin project proposal

Brian Kelley, @battlecow

  • 1 pull request review, 5 commits to a repository in spinnaker-hackathon
  • RDS Snapshotter Plugin project proposal
  • 1 stackoverflow answer

Rin Oliver, @celanthe

  • 1 commit, 2 pull requests to a repository in spinnaker
  • 1 blog post

Edgar Magana, @emagana

  • 1 pull request, 1 commit to a repository in spinnaker

Trent Albright, @talbright

Guillaume Dupin, @yogeek

  • 2 issues, 1 issue comment in spinnaker

Barath Sriram, @tcprbs

Prashanth Guduru, @pguduru

Andres Leon Rangel, @aleon1220

  • 1 commit to a repository in spinnaker

We found that many attendees focused on environment setup and introductory plugin building tasks, according to the training we provided. I know we’ll see some of those “seeds” in full bloom at the next Gardening Days!

The Pulumi plugin project

We were thrilled to host a project team with a strong drive to flex Spinnaker’s new Plugin framework to create a custom pipeline stage. Thanks to the framework and clear extension points in Orca, Spinnaker’s orchestration engine, this team was able to scope their integration project with just enough time to demo working AWS resource creation as we concluded the hackathon. Check it out:

For a behind-the-scenes view, look at the code for the Pulumi Plugin, which lives in our Spinnaker-hackathon organization. The plugin deploys and runs Pulumi, an Infrastructure as Code tool that provisions AWS, GCP, and Kubernetes resources with code in your language of choice. Users of this plugin won’t need to leave the Spinnaker UI to interact with Pulumi and see output of its resource actions; it’s all integrated.

So, did the Pulumi team enjoy Spinnaker Gardening Days? Dan Hernandez, the project proposer, said in the demo:

The whole time, we had anywhere from 3–8 people on the line with us, with a lot of folks contributing in different ways, even if only by listening and learning and chiming in here and there. We’re thankful for that, as we expected it to be just us to be working on this. It was definitely a surprise to get all of the engagement, which is awesome.

Armory’s plugins team worked tirelessly with colleagues from Google and Netflix to set up and test the new framework and build extension points into Spinnaker. To engage the community in what they’ve built, we put together a training program to introduce Spinnaker Gardening Days developers to using it. From backend, to frontend, to build and delivery, this series lets you learn step-by-step from experts and creators. Watch the full playlist below:

Plugin Training Playlist

Armory engineers were so excited to test and improve the plugin framework against real problems. For the Pulumi team, the feeling was mutual. Cristhian, the Pulumi team’s lead developer, said in the demo:

Special thanks to [Armory engineer] Clay, who helped us to understand how Spinnaker plugins work. It was very helpful. Clay was awesome.

Clay McCoy had a lot of fun working with everyone on the Pulumi team, and got great feedback to bring back into Spinnaker Plugins. He was happy to “get an idea of what an ideal Spinnaker and Pulumi integration would look like,” and I’m so excited to see what grows out of this collaboration!

Thirst for Spinnaker training

I’ll round out Part 1 by highlighting the incredible demand for Spinnaker training. Folks have heard the success stories and want support in capturing the value of continuous delivery at their organizations. Luckily, Spinnaker Gardening Days included an awesome lineup of Spinnaker training that ranged from beginner to more advanced topics like custom stages, SpEL, and of course, plugins.

116 people signed up to attend the training track, and we’ve already seen over 500 views of event training videos. You can check out the full playlist of training videos on the Spinnaker Youtube channel below:

Spinnaker Training Playlist

Hearing the community converse about training needs and new project ideas warmed my heart! We’ll hit the ground running at Spinnaker Gardening Days II, coming soon with more training and ways to engage.

Meanwhile, look out for Part 2 of this article, which will dig deeper into what we learned from Spinnaker Gardening Days, including motivation strategies, internationalization, and ways to contribute! I’ll show you my data collection efforts to track contributions, and new efforts to dashboard and gamify them. For now, if you’re still hungry for Spinnaker training, make sure you’re tuned into the action on Spinnaker Slack and Spinnaker Youtube!

--

--

Director of Community at Armory. Ops ‘n webapps. The only 1 in the world waking up every morning with the thought, “How can I make Spinnaker inevitable today?”