Blog

Unleashing Global Community: 5 Lessons Learned From The FoldForCovid.io Project

Reposted from my LinkedIn article with the same title: https://www.linkedin.com/pulse/unleashing-global-community-5-lessons-learned-from-project-st-john/?published=t

A few weeks ago, foldforcovid.io launched as a community effort to help developers donate their spare compute cycles to researchers studying the COVID-19 virus. FoldForCovid.io relies on the Rosetta@Home distributed research platform produced by the University of Washington Baker Lab. Since launch, more than 3,000+ people have installed the project on their spare single-board computers and laptops in nearly every country in the world.

For me, this project captures the essence of global developer ecosystem: A group of volunteer contributors motivated by a common vision came together to launch something cool in a short period of time. I wanted to take a moment to share five key lessons learned in facilitating this initiative. Hope that someone finds this interesting and helpful!

Lesson #1: When in doubt, Just reach outNo alt text provided for this imageNo alt text provided for this image

The FoldForCovid.io project started as a forum post by Dr. Lloyd Watts in the Fold@Home forum that was pointed out on Twitter by David Tischler from miniNodes. Dr. Watts and his team wanted to port the Fold@Home client to AARCH64 (64-bit Arm devices like the Raspberry Pi 4 and recent Android phones) and asked for help, but no one was responding. In fact, members in the forum agreed it was not possible of feasible.

My former manager at Intel Mashery, Delyn Simons, trained us (Mashery Developer Outreach) to reach out and get in touch with community members with questions. The mindset of being proactive and reaching out has always stuck with me. It is often better to err on the side of being “too proactive” (and too optimistic).

We had no idea if Dr. Watts request to port Fold@Home to AARCH64 (which would enable thousands of new developers to donate their compute cycles) was even feasible or possible, but we decided to reach out, get in touch via LinkedIn and find out. Sometimes reaching out doesn’t lead anywhere, sometimes it does. There is only one way to find out: When in doubt, Just reach out!

Lesson #2: Form an Exploratory Working Group & Keep an Open Mind

When faced with an open-ended, fuzzy technical problem it is easy to assume it is “too hard” / “too expensive” or “too difficult.” Rather than automatically dismiss the unknown, it is better to become comfortable to give an idea a preliminary evaluation with minds other than your own. I have learned that before I dismiss a project, I should get the real experts (who are not me) to take a look. Forming an informal working group is a great way to do that.

We had no idea if porting Fold@Home to AARCH64 was possible so we put together a virtual call on Microsoft Teams with 18 people including key developers and researcher. We recorded the meeting and we walked through the challenges involved in putting Fold@Home onto IoT devices.

It turned out that while we couldn’t immediately port Fold@Home to AARCH64, we could port a similar project Rosetta@Home immediately. While we couldn’t achieve our ultimate goal, we could make progress. Exploratory Working Groups form a critical element because they allow the community to meet each other and talk through difficult challenges. Even better: They can be fun and interesting (and free).

Lesson #3: Great Projects Require Great Facilitation

Facilitation is a critical “soft skill” for community projects. While “Being a Facilitator” is not always the most interesting or glamorous job, it is essential to the success of volunteer projects like FoldForCovid.io. Facilitation is about doing the basic operational work to schedule meetings, set agendas, pull in the right people, bring the right expertise to the table, invite the experts to talk (at the right times), document and share notes via email and keep everyone updated.

Being a great facilitator is about being willing to step back from the spotlight and let everyone else be the experts (and to not worry about who gets the credit) as long as the project gets done. If you want a community project to get done, you have to let go and facilitate.

Lesson #4: Invite Great People & Expect to be Surprised

No alt text provided for this image

If you are able to assemble the right group, frame the problem and facilitate the initial working group – you have done a great deal of good. Once you have set up the pieces and made the introductions, introduced the topic – The community is now positioned to succeed.

At some point, you have to trust that other people are going to carry through on the mission and that you cannot control what will happen next. Learning to “Plan To Be Surprised” is a challenging thing to do….but it works.

Once the initial set of discussions were complete, David Tischler and Sahaj Sarup along with Dmitry of NeoCortix set to work. Within a few days, they were posting the first screenshots of Rosetta@Home running on AARCH64.

Lesson #5: Get used to “In Command and Out Of Control”

Final point – when dealing with large, complex projects involving many stakeholders and community members, I recommend learning to get used to being “In Command and Out of Control” (although with volunteer projects, no one is really in “command”). In Malcom Gladwell’s book “Blink,” he tells the story of U.S. Marine Corps General Paul Van Riper who designed a new way to think about management in complex, fluid environments which outperforms “centrally planned” forms of management. Learning to let go, rely on people’s good intentions and facilitate the group rather than try to dictate actions is a much better approach to working with global ecosystems of people who….don’t collect a paycheck from you!

Acknowledgements and Thanks

FoldForCovid.io would not have been possible without help from a wide range of people: