In today’s world, it has never been easier to get your hands on a piece of software for evaluation purposes. Having worked for multiple enterprise companies, I have noticed over the years that they all take different approaches to allowing developers to get their hands dirty with their tech.
There are many different ways of doing this and in this article I will try and explain the main approaches that software companies use and the reasoning behind these methods.
Open Source Software (OSS)
Firstly we have Open source software. Open source software is generally free to consume but there are many different open-source software licenses that allow you to use the software in different ways. Open source software licenses govern how you use, modify and distribute the code.
While much open source software is free to use, there are many different licenses that explicitly define the usage of the software. Companies that create OSS generally make money by offering support, consulting and enterprise versions for businesses that require additional features or services.
Examples of OSS include Quarkus, Open Liberty and the Linux Operating System.
In this model, software is generally offered with a basic version that is free but has limited capabilities. There is then usually a paid version that adds additional features. Many software vendors use this model as it is a great way for people to get their hands on the software for evaluation purposes or use with small projects.
This helps promote the software but enables the software company selling said software to make money from the users who are big in size and should have the funds to pay for support and additional features. Examples of this type of software include Dropbox, Slack and Spotify.
This model incorporates advertisements into software to allow the creator to make money via advertising. The more people that use the software, the more advertisements that are shown, earning the creator more money.
Most Ad-supported software is free but can have a premium version that users purchase to remove the ads. The free version of Microsoft Outlook uses this model with the option to get the full office suite to remove the ads. Most mobile apps also use this model.
Many companies offer trial versions of their premium software for a limited period to allow users to test out the capabilities. After the trial, users are required to either pay for the software otherwise they will lose access or be moved to a free tier if one is available.
Many enterprise software companies operate on this model as it is a great way for developers to not only test the software but showcase it to others in their organization before a purchase decision is made.
The IntelliJ IDE is a good example of this model. You essentially get a trial version of the full version but if you don’t want to pay after a certain amount of time, you will be reverted to the community edition.
Community editions are generally free versions of software that are aimed at community development and support. This is a great model for people who are doing research or are running small side projects such as Open Source software that could simply not afford the software otherwise.
While community editions are normally free, you can normally upgrade to a paid version to get additional features and capabilities. As mentioned above, IntelliJ offers this kind of mode along with others like GitLab.
This model is usually aimed at educational institutions, students and teachers as a way to promote learning and skill development.
From a software companies point of view, this can help not only allow students to get skills in that software but also promote the software for when they start working in the industry in the hope they will recommend it to others.
AutoCAD is an example of this kind of model that provides free licenses to students and teachers.
This type of software is usually distributed for free but allows and promotes voluntary donations to support the developers that make the software.
This model would fail without the goodwill of the users so can be quite a risky model for companies to use. Wikipedia and VLC are good examples of this type of software.
Government & non profit initiatives
Governments and nonprofits organizations can fund software development projects that are then released to the public for free.
An example of this would be LibreOffice which was funded by a nonprofit organization.
Data collection and monetization
Finally we come to the data collection model. Companies generally release this type of software for free but make money by selling the data gathered on its users. The data is generally sold to advertising companies that use it to target advertising to specific users with those interests or needs.
Many companies use this model today such as Facebook and Google along with other models.
The main thing to remember is that software companies, in order to remain in existence, need to make money.
Companies take different approaches to making money (some multiple) depending on the type of software they sell, the needs of their users and the industry they are selling to.
While some models may be kinder on users wallets, all companies will make their own decisions on what model to choose.
Good companies should look at market conditions and user feedback and adjust their models accordingly.
Free software is great but at some point, every healthy company will continue to grow and with growth comes more responsibility.
If you are a large company that refuses to pay for software or support, do not be surprised when things go wrong and you have little in the way of help.
Free software in my opinion is great for personal use and small/new businesses, not enterprise conglomerates that wish to save some cash here and there.