I'm looking for high level generalities. For example:
- Software acquisition cost advantage -> Open source
- Maintenance -> ...
- As defined by XYZ -> ...
- As defined by ABC -> ...
First, you need to know which DBMS features you want and how well the systems do this. For example:
Once you know which of the various proprietary or open source DBMS platforms can support your application and how well they do it you can decide which you want to use.
All of the open-source DBMS platforms have credible support offerings available either through the vendor or third parties. Needless to say these support offerings are commercial so they are not free. If you really do not need vendor support you could view an open-source system as free, but this is going to be an unusual situation. There is one corner case of particular interest, which is discussed below.
Open-source systems also de-couple support from the vendor - credible third-party support offerings are available for most if not all major open-source DBMS products.
Various DBMS platforms allow extensions to be developed - in fact, this technology was first pioneered on Postgres by Stonebreaker et. al. and was the main driver for the development of that system. Different platforms have greater or lesser support for this -
If you have this particular requirement you may find that the open-source systems offer more flexibility. For example, there are several data warehousing products based on modified versions of Postgres.
Thus, open-source vs. proprietary is not a choice between free (as in beer) and paid for, rather is a matter of features, cost, confidence in the support options and control.
I think the advantages are based on your staff. If they can support it, and it fits your needs (as mentioned in the first post above), then you should consider it. If you don't have staff, don't use it.
The cost of people, especially if they have to learn the platform or change the code, far outweighs any licensing cost or savings. Go with what you can support/build on.
That being said, there's also often bad tech support from commercial vendors compared to the support offered by the open source community.
I think the biggest question you need to ask is "Can I get a support contract?". And yes, there are people who offer support for open source software.
Here's the main advantage to open source software, in my mind:
Freedom: Software that comes with its source code and a license permitting you to make modifications for your own use gives you the ability to pay anyone you'd like to "support" that software. There is no "manufacturer" behind the software that can choose to make the version you're using "deprecated" and force you into an "upgrade" or being "unsupported". You may choose to use the software indefinitely.
With "closed source" software, the "manufacturer's" embargo on availability of the source code means that you are not able to choose the party who supports the software based on your own criteria (best price, best skills, etc), but rather you are forced to choose only the "manufacturer", regardless of their commitment to "supporting" your needs with respect to the software.
Is it supported on your platforms / infrastructure
Speed / Performance / Feature Sets
Availability of Tools (DBA and Dev)
Also, with a commercial version then you can easily say 'XXXX are at fault', but if you use an Open Source version then there is generally no one that you can hold responsible for issues (so the buck stops with you) - If that is a consideration ;-)