“My engagement with open source started with contributions to Mozilla Firefox, which was an achievement for me”

0
123
Mayank-Raj

Mayank Raj, Lead Member of Technical Staff, Salesforce, believes that companies entering the open source arena can gain by building on existing projects and collaborating with the community. In a candid conversation with OSFY’s Yashasvini Razdan, he reveals how Salesforce is finding a balance between internal and open source development.

Q. What is the incentive for developers to contribute to open source projects?

A. There are certain people who like to commit to multiple projects through open source, which wouldn’t be possible if they were working on just one project at a company. The community is so energised with these contributions that it provides a great entryway for newcomers to enter the development community. My engagement with open source started with contributions to Mozilla Firefox, which was an achievement for me. When I saw someone using Firefox, I could say, “Hey! The browser that you are using has a code written by me.” It’s a point of pride, and it allowed me to interact with industry veterans, something I wouldn’t have been able to do otherwise.

Q. What is Salesforce’s engagement with open source?

A. Salesforce has a dedicated office of open source, led by a former leader from the Apache Foundation. This team ensures that Salesforce personnel invest sufficient time in contributing to open source projects. While we develop solutions that can be limited to internal use for various reasons, there is always a healthy discussion of trying to understand if the solution can be generalised enough for the wider ecosystem.

We actively leverage and contribute to the open source ecosystem. I work with a team that is one of the major contributors to the open source application service mesh projects. Salesforce has developed a significant monitoring tool initially intended for internal use but has since been made open source and is widely used, with considerable contributions from the community. We have various projects in the AI domain that are being worked on along with the community.

Q. Does Salesforce also follow inner sourcing?

A. Yes, we do actively engage in inner sourcing. If a team needs to develop a project and feels individuals from other teams can also collaborate on it, it can post this requirement on internal tools and communication channels. In these posts, the nature of the work, the estimated time needed, and the profile of the individual being sought for the task are detailed. This approach encourages collaboration among different teams within the company. Many Salesforce employees are enthusiastic about participating in these internal projects.

Additionally, when one team is dependent on another for a build and is facing a blockage due to a missing feature, it often considers inner sourcing as a solution. This involves the team that needs the feature collaborating with the team that is developing it, enhancing cooperation and efficiency across different teams within Salesforce. This is also a great way for someone to work very closely in a hands-on fashion with other teams.

Q. How do standards determine integration in open source?

A. All integration essentially boils down to whether two modules can communicate with each other through a common language, often facilitated by APIs (application programmable interfaces). APIs serve as the communication channel, allowing independently developed software, with various stacks and flavours, to interact seamlessly as long as they adhere to these standards. For example, developers from Google can write Chrome to run on both Linux and Windows because it can communicate with both operating systems. However, you can’t install software designed for Windows on Linux, or vice versa, because they ‘speak’ different languages. This integration process applies to both proprietary and open source software, ensuring modules can interact while maintaining the flexibility to protect intellectual property by avoiding tight coupling with specific modules. For instance, if I want to keep part of the code as my protected intellectual property, I will write it in such a way that it can interact with other modules, but without being tightly coupled with any one particular module.

Q. How do you enable integration at Salesforce?

A. While developing open source projects at Salesforce, we take several steps to ensure the communication layer remains consistently open. Our primary focus is comprehensive documentation. We document every aspect of our projects, detailing how to use them, potential pitfalls if used incorrectly, expected outcomes, and possible errors. A key to the success of most open source projects lies in their simplicity and ease of initiation. By making it straightforward for people to start using a project, its adoption naturally follows. This approach of simplifying adoption while providing extensive documentation is how we ensure the success and widespread use of our open source projects at Salesforce.

Q. How does open source foster innovation, especially in AI/ML tech segments? How is it done in Salesforce?

A. The reason AI and ML technologies have surged in recent years, despite being around for decades, is largely due to the increased contributions in the open source ecosystem. For instance, while ChatGPT is not open sourced, Facebook has chosen to open source its large language model.

In the case of Salesforce, the decision to open source a project is made based on various factors like its value to the larger ecosystem, how generic vs specific it is, etc, and this applies not just to ML models but to other projects as well. Open source provides everyone with access to AI/ML resources, be it university students or technology enthusiasts. Such resources are available in the public domain, accessible via the internet. This democratisation of resources is possible when the open source community actively shares and provides access to knowledge and the learner is equally eager to absorb it. The individual’s motivation is a critical factor, but the open source community’s role in providing accessible information is equally important.

The data scientist community, particularly in AI and ML, contributes heavily to open source. This contribution not only brings more people into the ecosystem but also ensures a balanced ecosystem where there is continuous investment and interest in sharing and using open source resources.

Q. While recruiting, what skills does Salesforce look for?

A. Salesforce hires for a diverse set of roles, so there’s likely a place for almost everyone, regardless of their specific skillset. At a high level, particularly in engineering roles, Salesforce is always on the lookout for more engineers across various specialisations. Whether your expertise lies in frontend development, machine learning, data science, organisational roles, or other technical areas, Salesforce has openings in all these fields. The company seeks individuals with a wide array of talents and abilities, catering to a broad range of technical and non-technical roles.

Q. What is your advice to the companies that are starting to delve into open source?

A. Companies venturing into open source can benefit from building upon existing open source projects rather than reinventing the wheel. This approach allows teams, regardless of size, to contribute to and benefit from a larger developer community. Active involvement in open source can enhance talent acquisition, attracting developers who appreciate engaging with a broader professional community. This openness makes recruitment, especially for senior positions, easier, as candidates can assess a company’s work and coding practices through open source projects. It’s crucial to balance in-house development with open source contributions. If open source projects can achieve goals more effectively and efficiently, it makes financial sense to participate, ensuring a balance that maximises both financial and innovation benefits.

Q. What do you seek in the Open Source India conference?

A. Our primary goal at the Open Source India (OSI) conference was to interact with the community and share our learnings and experiences regarding operational methods and technologies. The focus of our sessions wasn’t on promoting Salesforce as a product or a company. For instance, the talk I delivered was centred around technology itself, independent of Salesforce’s offerings. The main objective was to focus on how things are built and how companies might want to approach building them. Personally, the reason for giving this talk is to understand the challenges others are facing and how they are addressing these issues. This insight is valuable as it can be applied back in our own work, especially when dealing with similar problems. Conferences like OSI provide an opportunity to gain a broader perspective on problem-solving in the open source realm, which can be beneficial for personal and professional growth.

Q. What major technologies is Salesforce currently looking at?

A. At Salesforce, the scale of our operations is extensive. Our greatest strength is our flexibility in technology use. We do not impose restrictions on using a specific tech stack, programming language, or method of working. This autonomy allows each team, including mine, to innovate and experiment, but comes with the responsibility of staying within certain guardrails. I can introduce new technologies, get them approved, and start using them in our projects. We are also actively developing new technologies.

Importantly, we contribute back to the community, sharing our advancements and learnings, fostering innovation within Salesforce, and supporting the broader tech community’s growth and development.

LEAVE A REPLY

Please enter your comment!
Please enter your name here