Writing freeware software has a long distinguished history. While often viewed as the realm of hobbyists and beginning developers, freeware is often an excellent response to the adage “you get what you pay for,” as the quality of free solutions often rivals and exceeds that of very expensive ones.
If you’re considering developing freeware software, here is some information to help you learn more about your options and considerations.
Freeware software’s beginnings are difficult to pinpoint, though they were almost certainly in the late 70s, and in the various universities of hacker lore.
The first freeware was no doubt passed around as source code to be run on large mainframes. While it has certainly evolved over the years, it is almost certain that some of these pieces of software are still being used in some form to this day, several decades later.
Freeware experienced a great leap in popularity at the dawn of the personal computing era. Until that time, computers were giant contraptions only available to those with large amounts of money to throw at any problem. When personal computers entered the scene, software solutions could no longer be costly. Also, the power to write such solutions became available to more than just an elite few. As such, many began releasing their software free, and thus the term “freeware” was born, in contrast to shareware titles, which sold for a small fee.
Times Are Changin
Today’s freeware landscape is somewhat different from that of twenty years ago. Traditional freeware is still commonly available, and is a workable model for many. Anything ranging from simple tools to entire operating systems can be had free. Many businesses have even been based upon writing freeware software, as it must still be supported, and can sometimes even be sold on store shelves for those wanting a physical copy of the software they use.
In recent years, though, the concept of freeware has been outshined by that of open source.
Whereas those who are traditionally writing freeware software only make the finished product available, open source also offers the software’s source code. The result is similar to traditional freeware, but the development process is open to more than just one developer.
By opening the freeware development process, the developer does less work because others are available to fix bugs, add new features, and write official documentation. Were the source closed, all of this work must be done by one developer or team.
Opening the source when writing freeware software has other advantages as well. If the developer of traditional freeware is unable to continue doing so, it languishes into obscurity. As unresolved bugs accumulate and the software ages, its user base will steadily decline and all of the effort spent writing it has been wasted. If the source is available, however, development can continue, and there’s at least a chance that the software can thrive.
A rich culture exists around writing freeware software in general, and around open source in particular. The first step in the process is familiarizing yourself with what that culture has to offer. Many of the tools needed for development are also free, and thrive among rich communities eager and willing to support you on your path.
Check out this article for tips on what programming language to learn first.
If interested in freeware, look toward open source for inspiration and support.