CTA BG
Blog
open-sign

Diving Into Open Source Software

Working with open source software and contributing to open source communities is something that the SoftServ team takes a lot of pride in. It’s very much in keeping with our company culture of mentorship and collaboration. Whether you know it or not, you’re probably using open source software daily. Common programs like Mozilla Firefox and VLC Media Player are entirely open source, and a vast number of others are built with open source components and libraries. The phrase “open source” is used throughout the software industry, but does it mean “free?” Is it secure? Just how “open” is it?

open source

What is Open Source?


“Open source” describes license-free software produced and maintained by a community of developers who collaborate to create and improve the software. The software that the community supports is released with its source code, allowing anyone to use, share, and edit the program.

In general, open source projects strive for more flexible paths to solutions that aren’t being sufficiently and affordably addressed by proprietary software. The term open source can be applied to frameworks and technology components like React and PostgreSQL, or full systems like Linux and Firefox. They are developed and maintained by a community of active developers,with open participation allowing anyone to contribute code changes. Although “anyone can edit” sounds risky, PRs are generally reviewed and merged to the code by senior community members, a process that’s often governed by a board or committee and documented well for developers. When a community is inactive, and the code is not maintained with updates and security patches, the technology dies. We all know that software - like plants and pets - requires nurturing to thrive.

Open source software is free. Yes, free. But this comes with several caveats of course. Some open source software components are ready as-is (again, Firefox). But often you’ll need funding to run it, maintain it, or customize it. SoftServ, for instance, works with open source programs in the academic (Samvera and BlackLight repositories) and scientific research (LIMS and ENS platforms) fields. It's free to deploy the code base for these applications, but most organizations need to provision additional investment to customize it for their own needs, both in functionality and institutional theming and branding.

At its core, however, open source applications are attractive to universities and other public-serving institutions for that reason among others. Although they need to invest in development and support, they are not paying into the private pockets of commercially-run software providers. On the contrary, those investments often allow the institutions to contribute back and improve the core code base. Though colleges and universities have long used open source platforms, the adoption is only expanding as administrations increasingly create policy encouraging participation in community-run, non-proprietary applications. It affords organizations more control over their own technology portfolios, and can help expand personalized learning and access to affordable education. The partnership of open scholarship and open source is real.

Particular to today’s landscape, the COVID-19 pandemic required educational institutions and other organizations to pivot and quickly invest in better digital infrastructures. Many turned to open source solutions run in-house to stay in charge of their own systems. This technology caretaking is also flexible, allowing institutions to provision in-house resources for maintenance, to work collaboratively with other community efforts, or partner with a service provider for external consulting and support.

What is Proprietary Software?


“Proprietary software” is a term that applies to any software that is controlled by one organization, typically as a for-profit product. Since SaaS and other software products are tied to the provider’s business model, purchase or subscription can be considerably more expensive than adapting and running open source platforms. Furthermore, licensing and use are generally restricted by corporate end user licensing agreements, dictating breadth of use and limiting individual customization of functionality.

Binding proprietary software agreements keep organizations tied to a specific set of features. Although most companies will dictate their commercial product roadmaps based on user needs - to sell more software - organizations can often find the product veering more and more away from their specific needs. In the digital repository community for instance, many academic institutions and libraries find they’re paying more and more for subscription software that’s only growing in a direction that's further away from their user requirements. Many clients who come to SoftServ are in this position, exploring an exit path from commercial providers and a desire to migrate to an open source solution. For our academic and library clients for instance, this is generally a move to open source BlackLight and Samvera repository applications.

Why Open Source?


Open source solutions have the potential to be more cost-effective, but depending on custom requirements that’s not always the case. However, there are many other non-financial benefits that attract organizations to open source solutions. First among these is the strength of community, which benefits the product in a number of ways.

The future of the software, including new features and other improvements, is decided and executed by a whole community of users who have input, not by profit-driven motives. In a strong open source community, an active pool of developers is working together to build better software faster. If they choose to become deeply involved with the community, organizations can have more say in the future direction of the software. For customized development, instead of being beholden to the development schedules of a commercial enterprise, organizations have the liberty to invest in their own custom work on their own timelines.

Other motives are more connected to the adopter’s culture and reputation. The “open” in “open source” is attractive, particularly to groups in the sciences, humanities, and education with altruistic intentions. Contributing improvements to the platform also provides community and professional recognition. Allocating resources to community code contribution can also boost staff morale in the user organization, giving developers relief from burnout on their primary work and reminding them of the value their work provides.

The transparency of open source software and its development process leads to high quality code. Instead of being limited to the control of one development team at a private company, there’s an entire community of users and developers with eyes on the code. More people finding and fixing bugs and security vulnerabilities. Because of this mass effort and constant review, open source software is often more secure than proprietary platforms. A community of developers also fosters checks and balances, producing higher quality code through cross-community PR reviews and refactoring. Ongoing support and maintenance of the software is handled by a much larger population with an investment in continuing that support.

In contrast, proprietary software may suddenly go out of support based on the business decisions of the commercial provider, which can also be precipitated by corporate mergers. Adopters can be trapped into a scenario where they have fully integrated many arms of their business processes with proprietary software only to find they are hostage to increasing costs and decreasing value. Furthermore, proprietary software providers often have mechanisms in place to reuse or sell data; something you have more control over when utilizing your own instance of an open source platform.

Considerations When Adopting Open Source Software


The benefits of adopting open source software and community participation may seem obvious once you understand them. However, it’s still important to consider all angles when committing to a long-term technical investment.

Although the activity and governance of an open source community may be attractive for a number of reasons, it comes with certain rules to follow. For instance, there may be barriers to community interaction, power dynamics that skew decision-making to larger sponsor institutions, or burdensome processes around developer work and code contribution. Organizations will want to do their research and make sure that these are parameters they can work within for the long haul. Fortunately, the free nature of open source software usually affords potential adopters the ability to work with at least some version of an MVP to test drive both the functionality and the community around it before making a significant investment.

Depending on the level of adoption and the engagement of the community, development around open source can move at a frustrating pace. If the software is supported primarily by donated developer hours, those hours can fluctuate depending on the priorities of sponsor organizations. Likewise, even if your own team is pushing changes to the core code, the PR may sit for sometime before being reviewed and merged if the community has low participation.

If continued development is a priority, organizations will want to be sure there’s healthy participation from service providers in the community. For one, it’s a sign that the community is active and sustainable enough to warrant the interest of service providers. But having the option for paid support resources is also important to alleviate the blockers mentioned above. Additionally, the availability of paid professional support is insurance if the adopter loses knowledge due to turnover, or reallocates staff to higher priority projects, or simply needs to move more quickly on development.

As far as the investment, “free” is often a headline on open source software. While the softwares should have no licensing fees, potential expenses that need to be considered include:
  • •  Investing in development for customization or new features
  • •  Setting up the right network infrastructure to deploy and host
  • •  Ongoing maintenance and component upgrades
  • •  High priority bug fixes
  • •  User support

Those costs can be indirect staffing costs for the resources, or direct costs for hosting or a service provider to handle support and development.

Conclusion


As with any technical project, the adoption of open source platforms should only follow careful research and planning. It’s also worth remembering that the more you give to a community, the more you get out of it. For adopters to thrive with open source platforms, active engagement with that community will better educate you and also help you build a support system. Finally, any organization should remember to adequately plan and budget - even a free puppy needs to be fed and groomed.

As long-time users of open source frameworks like Ruby on Rails and React, and service providers in the Samvera repository community, SoftServ embraces this approach to building and sharing software. We’ve created many strong relationships by participating in and shepherding clients into open source communities, and will continue to follow and contribute to these exciting technologies into the future.

References:
https://library.educause.edu/topics/administrative-and-business-services/open-source https://www.theedadvocate.org/why-universities-are-choosing-open-source-software https://www.redhat.com/en/blog/value-open-source
Kevin Kochanski
Kevin Kochanski