We have received quite a few comments lately about the operating systems supported by VoipNow. Let me explain some things. The ideal operating system to run our software must:
1. Be supported by the vendor for at least three years.
2. Be stable and properly maintained.
3. Have an established community.
4. Be supported by third parties.
5. Be free!
Based on the above criteria, we are dropping support for Fedora in the next releases, because:
1. Fedora’s life cycle is very short; you can only upgrade the OS, which is not practical on a server because it introduces downtimes. In fact, Fedora was never designed for servers, but for enthusiasts.
2. 80% of the critical issues we experienced in the last two years were related to Fedora’s minor patches, usually in the libraries VoipNow is dynamically linked with. These issues often lead to crashes. However, less than 15% of our clients use Fedora.
In the future, we will focus on “Enterprise” operating systems. Redhat Enterprise Linux is very carefully maintained, supported for seven years and highly backed up by third parties. Unfortunately, it is not free. Fortunately, there is an alternative called CentOS, which is binary level compatible with Redhat Enterprise Linux (it’s a recompilation of the Redhat packages). In the last three years we have noticed only two problems that were related to improper compilation of the Redhat Enterprise Linux sources by the CentOS team. None of them was critical.
Supporting an extra operating system is a very delicate step, because it involves a lot of work on maintenance and QA. Many people think that it’s easy to support an extra operating system – that it’s just a matter of “compilation”. There are many, many issues that range from subtle differences in the linked libraries (for example VoipNow is dynamically linked with 50+ libraries that are installed by the OS, a bug in many of these could lead to crashes) to package management.
It’s easier to support extra Linux distributions rather than different operating systems (like FreeBSD). In the past, most of our products supported FreeBSD (personally I am a big fan of FreeBSD and Solaris), but we discovered that less than 2% of downloads were for FreeBSD. Due to this situation, we decided to drop support for it because the development of the FreeBSD version was quite expensive (we could use those resources on the product development).
Also, with VoipNow 2 we will support much more complicated infrastructures, like the Cluster. In this case, the operating system support is even more important because maintenance becomes more difficult.
What I can tell at this stage is that with VoipNow 2 we will support RHEL3 i386, RHEL4 i386/x86_64, RHEL5 i386/x86_64, CentOS 3 i386, CentOS 4 i386/x86_64, CentOS 5 i386/x86_64 and Suse 11 (so only Suse 11 support will be added to the list).
We are of course opened to provide support for more operating systems, but such decisions must be technically and economically founded (for example, a reason like “I hate Redhat” is not going to work :))
BTW, the same OS strategy applies to DNS Manager.