Code, Collaboration, and Commitment: An Insight into ]u[ Ubiquity’s Role in the Open Source Community

]u[ Ubiquity
Ubiquity
Published in
6 min readOct 26, 2023

--

As an organisation, we are dedicated to open access and openness in everything we do. This includes open data, open research, open science — and open source infrastructures.

Open source means that the original source code for a platform is freely available, and may be redistributed and modified. The Open Source initiative lays out further guidelines for the distribution of open source software, many of which are based on values of openness, equity, and non-discriminatory practice.

Not only do we run our software on fully open source infrastructures, but we are also active members of various open source communities, regularly contributing to the development and maintenance of open source platforms that underpin our core services. We currently contribute to the Public Knowledge Project (PKP), on which our journal systems are run, Samvera Hyku, OPERAS Metrics and Traefik, as well as ]u[ Ubiquity’s own book publishing management platform RUA.

Today, we want to share a bit more about what being a member of the open source community means to us as a company, and why we take such an active role in the community, so spoke with Francesco, our Chief Technology Officer.

Why contribute to open source? What is the history behind ]u[ Ubiquity’s involvement in the open source community?

Francesco: Involvement in open source has been embedded in our company’s values since the very inception of ]u[ Ubiquity. We believe that academic publishing should be easily accessible and portable, and open source enables researchers and institutions to easily migrate to and from different hosting solutions, without too much sacrifice (“an import without an export is a lie”).

Open source software encourages experimentation and fits very well with the needs of the community we serve. We see open source as a way to maximise our positive impact in the research community, as it exemplifies everything we stand for; collaboration, social responsibility and innovation.

We are seeing a slow but steady shift of focus from open source software to open source infrastructure, where this definition includes software, but also protocols, hosting requirements, security standards (e.g. ISO and data policies), etc. Along with open source software, some projects we contribute to are specifically designed to encourage the adoption of open infrastructures and standards (OPERAS Metrics).

What does it mean for an organisation to ‘contribute’ to an open source project?

Francesco: Different companies and organisations will have different approaches to their contributions to open source projects. For example, some organisations sponsor community events, whilst others sponsor developers to achieve specific objectives in their open source contributions.

Open source is embedded in everything that ]u[ Ubiquity does, so we have developed our own internal framework for our involvement in open source projects:

  • Funding and resources: ]u[ Ubiquity allocates financial resources and technical expertise to contribute to open source projects. This could involve paying developers, designers, and other contributors to work on open source software. 80% of the software development time of the ]u[ Ubiquity Tech Team is spent on developing open source code that gets released with open source licences. The rest of the team’s time is spent on essential infrastructure work to keep our services running, cloud upgrades, and tasks such as reporting and planning future projects.
  • Project selection: We carefully choose the open source projects to support based on various factors, such as community impact, alignment with our business goals, and the potential for long-term sustainability.
  • Contributions: We actively contribute to open source projects by developing new features, fixing bugs and improving documentation. We are an active contributor to the PKP and Samvera Hyku communities, to name just two. We are also contributors to the OPERAS Metrics project, and a part of the OPERAS community. We have also developed our own open source platform Rua, which we use for book and monograph publishing. Rua handles all elements of the book publishing workflow, from proposal and submission through to peer review, production, and publication.
  • Community engagement: Building and nurturing relationships with the open source community is essential. This involves transparent communication, collaboration, and respect for the governance structures of the projects we contribute to.
  • Balancing company priorities and community: Balancing the profitability of an organisation with the interests of the open source community is a crucial challenge. We make sure that our contributions remain in line with the principles of open source software; by using ]u[ Ubiquity services, our customers are effectively sponsoring open source development.

What unique challenges does working with open source, as opposed to proprietary, software/infrastructure present?

Francesco: One challenge is that open source projects often lack formal customer support, so users may need to rely on community forums, documentation, or paid support services for assistance with issues. The quality and documentation of open source software can vary widely, and quality assurance may also be a concern — this is where ]u[ Ubiquity steps in and fills in the gap! Beyond code, we also contribute by improving documentation, providing support on forums or chat channels, and creating tutorials. Good documentation makes it easier for others to use and contribute to the project.

There are also challenges surrounding integration, compatibility and dependency management. In most companies, the management of day-to-day work happens through external applications; integrating open source software into an existing tech stack or ensuring compatibility with proprietary software can be challenging, and in the majority of cases there are no out-of-the-box solutions. Moreover, open source projects often rely on other open source libraries and frameworks, so managing dependencies and ensuring compatibility can be complex, especially in larger projects.

Collaborating within open source communities can sometimes be challenging due to diverse opinions, differing priorities, and communication barriers, especially when contributors are geographically dispersed.

What does it mean to be a good citizen of an open source community, and how do we ensure that we are one?

Francesco: Being a good citizen of the open source community involves following certain principles and practices that promote collaboration, respect, and the growth of open source projects. Though different communities might have different rules, some of the major principles we adhere to include:

  • Making active contributions: The most direct way to participate is by contributing to open source projects. This can involve writing code, fixing bugs, creating documentation, or assisting with design. Making regular contributions demonstrates a commitment to the community.
  • Following licensing and copyright rules: We respect the licensing and copyright terms of open source projects, and we align any new code we introduce with those terms.
  • Providing accurate documentation and support: Beyond code, we also contribute by improving documentation, providing support on forums or chat channels, or creating tutorials. Good documentation makes it easier for others to use and contribute to the project.
  • Contributing financially: We donate development time and funding to open source projects that we support. Many projects rely on donations to cover hosting costs, development, and maintenance, or to organise community events.
  • Reporting bugs and issues: If we come across bugs or issues in open source software, we report them to the project’s issue tracker. Detailed bug reports can be invaluable to developers trying to improve the software.
  • Respecting project governance: We understand and respect the governance structure of each project. Different projects have different decision-making processes, and it’s important to follow their guidelines.
  • Engaging respectfully: We interact with other community members in a polite and respectful manner. This involves using constructive criticism when providing feedback and being open to feedback from others.
  • Encouraging inclusivity and diversity: We promote inclusivity and diversity in the open source community, creating an environment where everyone feels welcome and valued.
  • Sharing knowledge: We share with the community the knowledge and expertise that we gathered by running ]u[ Ubiquity services; when contributing, we describe our use cases very clearly, and we provide data and statistics on service usage to optimise the code and give the community better data to understand the problem.

By being a good citizen of the open-source community, we hope to model a standard for responsible engagement, fostering growth, and ensuring that open source software and infrastructures continue to thrive.

For further information about ]u[ Ubiquity’s specific open source contributions, you can visit GitHub.

--

--