Licensing challenges... Time for Open Source?

I have been tangled in licensing as long as I can remember and I can tell from 15+ years of experience that it is ugly unethical business that no one should be subjected to. Below you will find some practical examples and scenarios from consumer and corporate side and how to avoid these pitfalls.

Before reading any further please read the disclaimer on the right side menu. Also please be advised that this is not about bashing software companies but merely a far cry for more reasonable licensing policies.
I will not go too deep into vast selection of various licensing models but I will gladly answer any specific questions.

To the matter at hand

It is really simple: it is all about fair play/trade; terms of usage, warranty of quality, pricing, ownership of content/data, keeping promises, being there for the paying customer, etc.
Don't get me wrong: I will gladly pay for software if following criteria is met:
  • the software does the trick (aka the right tool for the job)
  • the price is and remains reasonable
  • the license terms are and will stay reasonable
So lets chew on these in details for a while.

The software does the trick

Nobody wants to spend a fortune on a piece of software that doesn't perform the task it was bought for.
Best way to avoid this is to use software has at a trial period; not the 15 or even 30 day trial but a proper 90 day trial. If the software vendor refuses to provide at least 60 day trial then forget the software - the testing always takes 2-3 times more time than expected. Most software vendor's sales managers can grant extended trial period in order for you to conduct proper testing.

Do you buy a car without a test spin or two? Don't you get a two year warranty when buying consumer goods? Doesn't the consumer goods have at least 14 day return policy? So why should the software be any different? Customer is always right - don't give up your rights as a customer.

From Open Source side this would be:
Is there a guarantee about the continuity of the expensive product? Open Source sometimes lacks this but then again proprietary software vendors stop supporting the previous versions right after the new release. Trust me: call you software vendor about any issues and you always get the questions Have you upgraded the software to the latest version? followed by Send us logs and we will study.... and then .... well nothing. Are you better of paying for nothing compared to community supported Open Source? The community support is the most effective form of support - even Microsoft knows this nowadays (they have documented things admirably, it is not documentation of real life scenarios)

The pricing is and remains reasonable

This is a bit more complicated - what is reasonable? I guess it boils down to how much you want/need it. Was there ever really a software that one couldn't live without? Hopefully not. 
There are other matters to consider like ROI (Return Of Investment) which also includes support, training and implementation costs.

To simplify this here is a practical example:
  • Microsoft Windows 8 64-bit OEM (localized version) 118€
  • Microsoft Office Home and Business ~250€ (or Pro for heavy users for ~500€)
So buy a self assembled workstation and you end up paying at least the same price for OS & Office... Should the software cost more than the hardware? Should the car on-board computer be more valuable than the car that actually gets you to places? and what about the upgrade prices?

In companies there are (or should be) quality, testing and development environments in order to produce tested quality coding to production environments. Most of my favorite software vendors offer these lower level environments -50% or even free (thumbs up for RedHat). Unfortunately there are those that originally had this offering but then backed down (pun intended Oracle (NUP licensing won't cut it)).

Then there are those nasty hidden/semi-hidden costs; buy an expensive Oracle product and you need to purchase the support for the first year at the same time - so the price for first year usage is 130% product sales price + ~30% annually after first year. You also need to buy additional extra features (packs) to get even the basic analytic features how the product is running (like having a car without a dashboard).
The licensing with Oracle products will not scale with the development of the hardware which creates major cost and licensing challenges in future. Luckily companies like VMware have understood this in their licensing (I know that they have had some bad ideas in past). I guess  Microsoft CAL (Client Access License) licensing is one of the most hideous form of hidden license costs - this in mind I don't wonder why Apple and Linux are gaining footing in the corporate environments.

If the list prices are reasonable then you OK for now, but how about those major discounts? The first purchases are always heavily subsidized but what about the next minor purchases? The more you are nailed to the software the less discounts you will receive in future. This is called Vendor Lock - you are stuck with the software/partner you once chose. You might consider options like only rely on common supported standards such as ODF format on documents. Using ODF you can use Microsoft Word, LibreOffice Writer and even Google Docs via converter.

Personally at work I really dislike the fact that when when I install a server I need to check first if I have all the necessary licenses - business just needs a server fast and no excuses that we are out of licenses and need to start discussions about the pricing... just use Open Source OS and add-ons and sky is the limit license wise.
Be warned: unfortunately there is a growing number of Open Source companies that sell software like drugs: free tasters but anything else costs a fortune (Splunk (500M/daily and then insane prices), NagiosX, Talend (more and more stripped free version and then insane prices), etc). I guess they started with open minds but got greedy after success.

The license terms are and will stay reasonable

I think that this is the most difficult one for people to understand - few real life examples:
  • you buy something for your own usage but commercial usage is not covered by the license. This is quite usual on graphical software
  • you are not allowed to move the software you have once purchased from one to another machine (your upgraded/new laptop needs a new license always). This is quite usual in some CAD/CAM software
  • you are not allowed to install the software to more than one personal machine at a time (anti-virus software is a good example here)
  • you are offered support but it lasts only 12 months of non-responsive support with only few support request via email. Patches to the software are a totally different story... That is why we have upgrade licenses :-)
  • have you ever really read Microsoft EULA (End User License Agreement)? It's the one with I have read the agreement and OK that no one reads. Basically it just says that if it brakes you get nothing, if it vaporizes your data you get nothing, if it fails to deliver you are out of luck, etc. Should there be some ethics here like 'We the manufacturer of the software guarantee that this software actually works the way it was sold to you'?
  • licensing doesn't really 'allow' virtualization unless you are prepared to buy licenses to cover the entire virtualization farm (=total amount of host/node CPUs that deliver HA like setup). This is applies to all Oracle products. 


One of my favorite quotes fits this blog text:
"Let's Be Careful Out There" -- Sergeant Esterhaus in Hill Street Blues

Licensing is not easy and it is not for hobbyist. Take it seriously or audit expenses will be the end of your company.

After previous examples it should be quite obvious that Open Source is a valid option. 

Sales people saying that proprietary software is the only way or that 'Open Source is not Enterprise Grade' have no clue what they are talking about: Internet runs on Open Source (Google, Facebook, Twitter, Yahoo, Wikipedia, etc) and if that is not good enough preference then I don't know what is.
ROI is really not a an issue in Open Source; superior community documentation makes Open Source a smooth ride in most case. Just prefer Open Source projects with good governance (like all projects under Apache software foundation) and big enough project group (like Icinga (Nagios fork)).

And now to the best part: software vendors like Microsoft and Oracle require you to remove their software within 30 days (maximum) after terminating the software support agreement... with Open Source you don't have this issue. For example think of costs if you would like to keep the legacy systems up'n'running just for the sake of it - it's zero costs.