The concept of open source software has transformed the software industry and gained momentum at SAP. At the same time, it has changed the ways how software engineers develop code . In this short blog post, I will talk about the potential to accelerate skill transformation and establish a culture of collaboration with open source and InnerSource practice at SAP. I will also describe how these development concepts fit into work environments that are distributed and often related to virtual or hybrid working models. They also go hand-in-hand with practices described by the Initiative Future of Work at SAP.
Open Source and InnerSource Practice
Open source software, is per its nature, developed in a decentralized and collaborative way, with peer reviews being an important aspect in the development cycle. The success of open source projects is often attributed to diverse communities and efforts in collaboration and knowledge sharing among developers. InnerSource (applying open source principles internally) can be a great foundation for teams to prepare an organization to engage in open source. It is also a way for companies to encourage collaboration and knowledge sharing among their own software engineers. Both open source and InnerSource allow individuals to work on projects outside their normal scope of work, which helps to develop new skills and perspectives.
Win-Win for Learners and Code Maintainers
But what is needed for enabling peer developers or collaborators to contribute? How can teams engage adopters of software outside of their own team in addition to the learning material and product documentation already provided with all of SAP’s software products?
To facilitate collaboration and improve the learning effect, it is important to have a space and a common understanding of collaboration. One example would be the platform GitHub, a platform for co-development and peer reviews. It is also important that newcomers have a smooth onboarding experience and enjoy an environment of trust and respect.
Supportive communities encourage external contributors to provide feedback in discussion forums or suggestions via issues or pull requests. Most of the time it is a win-win situation for the development teams who put some extra effort into building up a community around their projects and take feedback and peer-enablement seriously. “The quality of issues in well documented open-source projects is usually relatively high and valuable for the development teams,” remarked Marika Marszalkowski, developer at SAP, in a recent webinar about the SAP Cloud SDK project.
With SAP’s Open Documentation Initiative, product teams chose the “open source” way to allow collaboration even in SAP’s developer documentation on help.sap.com. After almost two years with a growing subset of documentation on GitHub, the Initiative’s leaders confirm that inviting collaborators to give direct feedback through issues and pull requests is even leading to cleaner documentation, as the quality of feedback is more valuable and actionable. A user who can improve the documentation or code with direct feedback will more likely read the content with greater attention.
As learning always has an emotional component, leaving a footprint by collaborating has a positive impact on the upskilling process. Ajinkya Patil, developer at SAP, explains his learning experience with open source contributions: “When engaging actively in a project by submitting an issue or a pull request, my understanding of the project is much deeper and lasts longer as if I were only reading about the features somewhere.” Contributing to open-source projects is more than just coding; “it is a great way to expand my skills through hands-on experience, feedback, and collaborating with like-minded individuals in the open source community.”
Accelerate Skill Transformation
The practice of open source and InnerSource can accelerate skill transformation in several ways:
Expand skill sets and knowledge base.
Collaborate with others who may have different backgrounds and experiences, which can lead to new ideas and solutions.
Allow developers to showcase their work and receive feedback from others.
Provide the opportunity to test, review, or modify code.
This will help software engineers to have an improved learning experience because they are actively involved – known also as learning by doing.
To nurture, grow, and maintain a community that is engaged in open source or InnerSource projects, these projects usually make use of active community support. Depending on the size of the project, this support is often driven by a few individuals who focus on building and orchestrating a respectful community. Organizations can support the community managers or project promoters by acknowledgement and budget for speaker assignments at conferences or hackathons. They can also facilitate the organization of events for certain open source projects, such as CodeJams or Conferences. Public events are extremely important to gain visibility for projects and to strengthen and expand the community (aka ecosystem) of a project. UI5con, reCAP, or the yearly Fundamental conference are examples of SAP open-source projects gathering their communities for continuing education and collaboration.
Larger events are organized by open-source foundations or co-organized, such as the upcoming Cloud Foundry Day, co-hosted by SAP in Heidelberg. Hybrid event models have been established over the past years to include geographically distributed audiences. Conferences, hackathons, working groups, and virtual forums are great vehicles to connect like-minded people. They can create or tighten relationships across organizations between technology experts with similar expertise and an interest in learning and discussion. A community is more likely to stay active and involved if there is regular interaction and a welcoming culture. A healthy community is one that is active, diverse, inclusive, welcoming, and responsive to the needs of its users and contributors. These communities usually go beyond the SAP ecosystem, connecting software engineers and development roles from many different entities or even students who have a particular interest in a certain project or technology.
Key Take-aways (Positive Impact of Open Source / InnerSource in Development Workforce)
By encouraging collaboration and knowledge sharing, organizations can create a more open and inclusive work environment. This can lead to increased innovation, as well as improved morale and job satisfaction among employees. Remote, virtual, or hybrid work environments can especially benefit from any type of personal engagement and social interaction through open source or InnerSource practice, which can contribute to better work satisfaction and to increased motivation.
In conclusion, open source and InnerSource development have the potential to accelerate skill transformation and establish a culture of collaboration within and across organizations. By providing opportunities for developers to work on projects outside their normal scope of work and encouraging knowledge sharing, companies can create a more open and inclusive work environment. Actively supporting contributions to open source projects helps talent acquisition and retention. As such, companies should consider adopting open source and InnerSource principles to help transform their organization into a more collaborative and innovative workplace.
Learn more in this context with the upcoming webinar hosted by the SAP Open Source Program Office on May 16th about “Ways of Supporting Open-Source Communities” with Christian Neu, SAP Open Source Program Office and previously community manager for the Corona-Warn-App Project, Andreas Kunz, Lead Architect in the UI5 development team and Johannes Bechberger, Open Source developer for SapMachine discussing their experience and learnings in their roles of engaging with and supporting the community around particular projects.