Optimizing Open Source in 2021

I was invited to speak on open source for NGINX and BrightTalk and shared my experiences as an open source maintainer and best practices encouraged by the devrel team at Slack.

Optimizing Open Source in 2021

Table of contents

Optimizing Open Source in 2021: How Open Source Can Lead Business Resilience, Change and Success

Overview of talk

It’s no secret that open source technology enables companies to collaborate “around shared needs on a product that none of them could achieve alone”, as OpenSource.org states.

No time has this need for collaboration and excellence been more pressing than in the fight against the COVID-19 pandemic.

Now, as businesses get used to operating in a formerly unrecognizable landscape, marks a good time to explore the benefits of open source and how they can be optimized in the during and post-COVID landscapes.

Join NGINX for episode four of Fuel Business Growth and Innovation with New Application Delivery Strategies, where open source experts and IT leaders come together to discuss these benefits, and share use cases where these have been illuminated:

They’ll discuss:

  • The business outcomes of increased flexibility that Open Source Software (OSS) offers
  • The lower IT costs that open source can lead to
  • The benefits of increased security through collaborative source code
  • How OSS leads to faster time to market and shortened product development timeline
  • The benefits of being part of the open source community - including support, documentation and shared commitment to future software improvements
  • And more

Hosted by Helen Beal, Chief Ambassador, DevOps Institute

Guests:

  • Liam Crilly - Sr. Director, Product Management at NGINX
  • Frances Coronel - Software Engineer at Slack
  • Frederic Desbiens - Program Manager, IoT and Edge Computing at Eclipse Foundation
  • Steve Chin - VP of Developer Relations at JFrog

Q&A

Introduce yourself

Hi everyone, I'm Frances Coronel. I am a software engineer specializing in UI development on the Customer Acquisition Team at Slack, where my mission is to make your working life simpler, more pleasant, and more productive.

I have been working professionally as a developer since 2015 and hold a Bachelor’s in Computer Science from Hampton University and a Master’s in Computer Science from Cornell Tech.

Outside of Slack, I volunteer as the Technology Director and an advisor for Techqueria, a nonprofit that serves the largest global community of Latinx professionals in tech.

According to fans of Open Source Software (OSS), it leads to increased business resilience and innovation. Starting with innovation, what is it about OSS that helps Slack be innovative?

At Slack, we depend on open source software from all over the world to help us get things done. Our whole tech stack for product and for my team is built on a menagerie of open source languages and frameworks. Slack has also paid it forward by building tools, libraries and snippets to make the developer experience of our employees and wider developer community more pleasant. By sharing these tools, we pass that value on to the wider open source community.

Flexibility is also one of the benefits of Open Source. Why is Open Source Software so flexible, and in what ways does it enable flexibility?

When you buy into proprietary software you are "locked in" to whatever solution that software has to offer. Open source software is flexible. You can take it, use it and change it to meet your specific needs. No need to throw more money at the problem or suffer from software that doesn't meet your needs.

As with anything, there must be some challenges to using OSS. What are they, and how can businesses overcome them? Are there any challenges that maybe wouldn't come to mind at first?

I think community management in open source is super undervalued as it often falls on people after the fact - not proactively.

When we talk about open source, more often than not, we refer to these spaces and projects as their own communities. And yet, a lot of these products are built by a very, very small group of people, sometimes even one person who's now responsible for coordinating with all these different people like a sole maintainer. And so it's not exactly the distributed idea that people always have of open source. Without a community, you end up in situations where there's just one primary person maintaining the project and that isn't sustainable in the long run.

Are there any use cases or industries where OSS is a near-perfect fit?

More like is there a use case or industry where OSS isn't a near-perfect fit! 😂

But Slack has open sourced a number of projects for different use cases - an iOS component built in Swift for panmodal, an SDK in Python to interface with our API and a scalable overlay networking tool with a focus on performance, simplicity and security.

https://github.com/slackhq/nebula

https://github.com/slackapi/python-slack-sdk

https://github.com/slackhq/PanModal

Let’s talk about the security of OSS. Is it more trustworthy than closed source? Why?

Not much can slip by when thousands of eyeballs are sifting through it every day.

Are there any risks to collaborative source code?

It's in a company's best interest to be attentive to all the issues, feedback and ideas that are shared publicly. Still, everything you post on GitHub is public by default so every single interaction can also become a PR opportunity or nightmare. Ergo, we have to ensure all the engineers interfacing with the public don't share sensitive information and also put our best face forward.

What about shortened product development timelines: how does OSS benefit the development teams at Slack?

Putting a project out there opens a lot of doors to different use cases.

What about ensuring teams at Slack can work with OSS? Is it hard to attract the right talent who can develop with it?

Entire infrastructure is run on GitHub, we have a to-do guide and channel dedicated to open source legal questions and open source project inquiries in general. If an employee wants their work to be open source, there are folks available to guide them through the process. They can submit a software developer license and request an intellectual property review from our lawyers.

We also really embrace external contributions as part of our promotion process. Lots of senior staff + principal engineers dedicated to contributing to open source projects that Slack relies on. We have a senior open source engineer on the TC39 delegation, the committee is responsible for evolving the ECMAScript programming language (which in turn forms the basis for JavaScript) and authoring the specification.

We have an engineer on our desktop team who contributed a lot to one of our open source projects. We were really impressed with his work and he ended up doing an internship with us before being offered a FT job.

Earlier, we talked about Open Source Software enabling businesses like Slack to be more resilient. Do you have any examples you can share with us of where you’ve seen this illustrated?

Facebook built Hack for their own needs..

Our desktop team works directly with the maintainers of Electron and contributes back to the project. Electron is an open-source software framework developed and maintained by GitHub. It allows for the development of desktop GUI applications using web technologies: it combines the Chromium rendering engine and the Node.js runtime.

Our backend team also works directly and contributes to HipHop Virtual Machine (HHVM), an open-source virtual machine based on just-in-time (JIT) compilation that serves as an execution engine for the Hack programming language. Facebook built Hack for their own needs, when they opened it to the community, they got other use cases that it was valuable for.

What business outcomes at Slack can be tied back to using OSS?

Our developer relations team has OKRs that directly tie to sponsoring open source though maintaining projects, funding projects and attending conferences or summits centered on open source.

Our top of funnel efforts on Slack.com generate millions in revenue every year. We recently launched a homepage that drives more traffic and sales leads and we charted new territory by using a third party open source animation library we'd never used before. We got to work directly with the maintainers of the project and shipped something we could really be proud of.

The Open Source Community is well established and supportive by nature - outside the technology benefits, what are some examples of the benefits of being a part of the OS community?

The community behind open source is unmatched in numbers, passion, knowledge and initiative.

We also fund a number of open source projects like webpack, async api and conferences centered on open source (Pycon, JSConf, Open Source Summit)

Electron conference

Covalence is an independent, hand-crafted, single-day and single-track conference about building desktop apps with Electron, Node.js and JavaScript. Join us for an exciting look at the future of Electron and JavaScript on the desktop, a chance to meet the community, and a day of inspiration and fun.

https://www.covalenceconf.com/

Finally, let’s wrap up by recapping why we think OSS is, and will continue to be, such a key part of IT leaders’ strategies going forward.

Open source allows us to establish ourselves as thought leaders in our space and also embracing the human side of engineering by cultivating a community of our own where we give back.

Amazing results are possible when you have a vast network of people invested in its success. F´ (or F Prime) is NASA’s open source flight software and embedded system framework. There are a number of contributors, maintainers, minders, and menders who crafted or cleaned up the code that let a helicopter fly on Mars.

Video

[Ep.4] Optimizing Open Source: How To Lead Business Resilience, Change & Success

Screenshot

Me talking about community management during the OSS talk

Subscribe to my newsletter Today

In my newsletter, I share personal and career learnings, advice, collaboration opportunities, and more.