Supporting Free Open-Source Software as a Custom Software Development Firm

Free software is free as in libre, not free as in gratis.

Free software advocate and GNU founder Richard Stallman has quipped, “Think free as in free speech, not free beer.”

In the world of free open-source software (FOSS), many large, popular open-source projects are well-funded professional organizations. For example, React is a FOSS project maintained by Meta. But countless FOSS projects rely on small teams of volunteers to keep them vibrant and secure.

At Soliant, we sponsor and maintain some of our own small FOSS projects. (See https://github.com/orgs/soliantconsulting/repositories?type=all). These are utilities that meet our own needs, which we identified while building closed-source cloud-native application projects for our customers.

But more to the point, we also financially support third-party small-but-essential projects that form the backbone of our work. One such project is MikroORM – a TypeScript ORM that has become an integral part of our development stack.

We encourage others who are building closed-source software with open-source components to consider also financially supporting the good/small OSS projects you rely on.

FOSS & AWS

At Soliant, we have developed an application recipe comprised of FOSS that we run on Amazon Web Services (AWS). The combination of FOSS and AWS gives us a flexible and reliable base that supports many/most of our cloud native application use cases. We have fully automated our application bootstrapping process.

When a new project comes in that is a fit for this approach (which frankly is most cloud-native projects we see), our developers can bootstrap not just the code bases for the server-side logic tier and the browser-based client app but also the entire set of environments for dev, staging, and production including the CI/CD pipeline.

A big part of the success of our CNA recipe comes from free, open-source software. We build out the middle tier (server-side logic and its JSON API) in Node with TypeScript. When a custom RDBMS is called for, we reach for a DBAL & ORM. Our senior dev team had a long history with Zend Framework before we transitioned away from PHP, which in turn means a big appreciation for Doctrine ORM.

As we refined our approach to Node application development, we looked for a good Doctrine-like TypeScript ORM. We have used TypeORM, which is a respectable project, but we found it to be a bit slow to issue patches, etc.

In seeking alternatives, we found MikroORM. This is a vibrantly active project with a small core team, comprised primarily of Martin Adámek as the creator and key maintainer. MikroORM is a “TypeScript ORM for Node.js based on Data Mapper, Unit of Work, and Identity Map patterns. It supports MongoDB, MySQL, MariaDB, PostgreSQL, and SQLite (including libSQL) databases and is heavily inspired by Doctrine and Hibernate.”

If you are interested in more of the nitty-gritty design philosophy, take a look at the main README.

If you end up appreciating what they are doing, you can consider sponsoring MikroORM yourself.

And if you’d like to learn more about what’s possible for your business systems through customization and the integration of FOSS, contact our team to learn more.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top