Salesforce has been involved with open source since its earliest days, and contributes to hundreds of projects every year. We know that a healthy open source ecosystem is essential to a growing software industry, so we're proud to dedicate resources to supporting open source. Our approach to open source is centered on projects that will make our customers successful — from scaling our big data infrastructure with Apache Phoenix (released in 2014) to projects such as TransmogrifAI that help power our AI products. We approach our open source projects with the same rigor as any of our technology — launching production-ready, scalable technologies that solve real customer needs.
Today, we took a significant step forward in this journey by open sourcing Lightning Web Components, our standards-based UI framework that makes it easy for millions of developers to build apps on the Lightning Platform. Open sourcing Lightning Web Components significantly extends its reach by empowering developers to build on the development stack of their choice. It is now available on GitHub (https://github.com/salesforce/lwc) so developers can explore the source code and help us define the future of development on Salesforce by contributing back to the project.
Why the focus on open source? Well, we’d like to say it’s ALL for the greater good, but that’s only part of it. Turns out that open source benefits both the community and businesses in a number of ways, and we are seeing companies increasingly focus more effort in this area as it naturally drives innovation, among other things.
We caught up with Chris Kelly who leads Salesforce’s open source initiatives, to learn more about why companies with big investments in software or hardware should get involved in open source. Chris has extensive experience in open source – having spent time at GitHub and also co-founding TODO Group, a consortium of leading tech companies committed to working together to improve the viability of open source projects.
Tell us a bit about yourself?
I’m a California native and have lived everywhere from San Francisco to San Diego. I’m an avid bread baker, and before joining Salesforce I actually took some time off to work in a professional bakery. I’ve been writing software for over 20 years, and first became excited about it when the Internet emerged in the early 90s.
What first drew you to open source?
I’ve always been a community-driven person; even back to my earliest days of being on a computer, I gravitated to BBSes and Usenet (two bulletin board systems) to connect with people and share ideas. As the Internet emerged, it enabled the free flow of information and the connection between people struck all the right chords with me. The tools we used to build on the Internet – Linux, Apache, Python, PHP, MySQL – all exploded in that era and were all open source. So open source, to me, was as natural as a fish in water.
What open source project do you most admire? Doesn't have to be one tied to Salesforce.
Python is near the top of my list of open source projects. It was first released way back in 1991 and has continued to grow and evolve steadily throughout its history. I admire it because it has a very welcoming, inclusive and diverse community; it can be used to solve problems across so many different domains; and is maintained and developed through an open and thoughtful process of proposals. I think much of Python’s popularity today can be attributed to those features, and are what make it a project that should last for a very long time.
Why should a developer work on open source?
Working on open source is great for a developer’s career as it helps them build new skills. It’s the perfect way to work with a technology they might not be using in their day-to-day work. This also benefits the company, as new technology or ideas can start to show up on production systems that originated in working on open source.
Working remotely and collaboratively with other open source contributors is a unique skill that naturally makes any employee a better teammate and collaborator.
How does embracing open source benefit companies?
The benefits go well beyond “It’s the right thing to do,” and include writing better code, accelerating innovation, hiring and onboarding. Code that is intended to be open source typically exhibits qualities we associate with good software design: it has to be modular, well encapsulated and extensible; it has better documentation; and is written with clear and stable interfaces, allowing other teams to rely on it with confidence. And better code equals better products.
By contributing to or releasing their own open source projects, developers can leverage the collective effort of the community to build new features faster. And as the projects are put into production elsewhere, companies will often realize a spike in performance, and more readily adopt new security and usability features.
Open source provides one of the best resources for hiring and onboarding new team members. Regular contributions show the market the kind of work a developer is focused on, the scope of problems they are solving, and how they work with others. Onboarding new developers is faster when they are already familiar with the software being used in production.
How can a company encourage its developers to contribute to an open source project?
This may seem obvious, but you have to prioritize and make time for it — set up hack days, start doing #opensourcefridays and put open source in the project backlog. Many developers don’t feel empowered to work on open source because the company may not prioritize it — but in today’s engineering world, working on open source absolutely should be a key part of the job. Fixing bugs or making improvements to an open source project can solve real customer and business problems. It doesn’t have to be either/or.
Efforts need to be recognized too. Engineering leaders should make open source initiatives part of their staff meetings — publicly celebrating team members that made important contributions or congratulating first-time contributors reinforces that working on open source is valued by the company.
Open source can’t be viewed as a separate initiative or pet project. It has to be held in the same regard and recognized as equal to any other engineering initiative.
Where is the open source movement heading?
Big companies are playing an increasingly active and positive role in open source. For example, Google continues to be the driving force behind Kubernetes since they first open sourced it in 2014. Another good example is IBM, who is heavily involved with multiple open source projects including Linux, Apache and Eclipse.
As this trend continues, we’ll see more production-critical projects from companies like these being released as open source as a way to build industry consensus, accelerate hiring and provide enterprises with ways to more fully interact with their products.
We’ll also see more organizations dedicated to strengthening the bond between the open source community and tech companies, and we already have communities like the TODO Group to share knowledge and experience as the future of open source and technology companies becomes further intertwined. Then again, as one of the co-founders of TODO, I might be a bit biased.
Is there anything you’d like to add?
The great thing about open source is it’s never finished. There’s always a new project to work on, a new challenge to collaborate with the community on. I feel the same way about open source here at Salesforce — we’ve got work to do to further our efforts in this area, but we’re off to a good start.
Learn more about Salesforce’s open source efforts here: https://opensource.salesforce.com/ And for all you developers, admins and architects, please check out our TrailheaDX developer conference, taking place May 29-30 in San Francisco.