Like cars, houses, and other things that are built; software requires a bit of maintenance from time to time. Bugs are discovered that need to be fixed. Tweaks to the user interface are needed to make it more intuitive and easier to use. New features might be needed to keep up with users’ changing requirements. It is actually quite rare when a program is simple and stable enough to run for years without any changes. Software developers often have a long list of items that need attention and the old adage that ‘software is never done’ is usually accurate.
Like an abandoned car in a vacant lot, software tends to quickly degrade when the developers are no longer actively maintaining it. Security flaws are discovered. Hardware, operating system, or library changes make it incompatible. The data it processes grows too big for the software to handle. All of these things can cause software that has been abandoned by its developers to become quickly abandoned by its users as well.
The possible reasons why developers abandon their projects are many. For proprietary commercial software, the company that originally produced it might go bankrupt or be bought out. The team that developed it might move on to other projects and the company decides that the revenues from it do not justify more resources. For open source software (OSS), the maintainer might just lose interest. Without a steady stream of income from the software, there might be little incentive for the engineer to spend any more time on it.
Most software projects have a variety of tasks that are required to make it a complete package. The code must be written. Tests need to be created and run. Documentation needs to be complete and kept up-to-date. Bugs must be fixed and performance problems investigated. Some of these tasks are fun and interesting to perform. Others might seem tedious and time consuming to the developers. One of the biggest complaints of many OSS projects is that the project owner never quite gets it to a truly useful state. They do the fun tasks and release the code, but never get around to completing the tedious, but still necessary parts.
Like every other profession, money is a powerful motivator in the software industry. Revenues from selling licenses, subscriptions, or service contracts can be used to support developers and their families. While many contributions to open source projects are motivated by non-monetary reasons; nothing makes you do unpleasant things like a steady paycheck.
My own Didgets project has been a labor of love for the most part. I have spent years working on it in my spare time. My passion for data management has driven most of its features and performance characteristics. I essentially built the kind of data manager that I personally wanted and think others will find incredibly useful too.
But my ToDo list is still a mile long. While some items on the list seem very exciting to me; there are many items that I kind of dread working on and are easier to procrastinate. The truly fun stuff is mostly done. I have a number of beta-testers and a few paying customers, but I need many more. It is still very rewarding to see someone new find real value in what I have built; but to be a viable long-term software project I need hundreds or even thousands of more users to discover it, use it, and support it.
As I mentioned in earlier posts, sales and marketing are not my strong suit. Getting the word out about my project and attracting interest in it has been difficult for me. This newsletter is just one method I am using to raise awareness. So if you know anyone who has challenges with managing and analyzing data (who doesn’t?) and could use a new, innovative way to do it, please help me spread the word.
It can load in large amounts of structured data to create relational tables quickly and easily. It can help you quickly find and fix anomalies in the data. With just a few clicks of the mouse, it can analyze that data a hundred different ways to show insights using graphs or pivot tables. Drill down to specific subsets to analyze them independently. Queries are many times faster than with conventional databases without needing to create separate indexes. I find it incredibly fast and useful and I hope you will too.