
A customer explains how Oracle tried to strong-arm it into a cloud sale - miralabs
http://www.businessinsider.com.au/oracle-customer-explains-audit-threats-2015-9
======
rodgerd
> At that point, they are probably looking (the very least) substantial per-
> core fees for the esoteric Oracle Enterprise features that they are using in
> production.

Nope, this is Oracle with their "you can only virtualise on our virt stack, or
you have to pay for the whole farm if a single vCPU is on" trick. Except their
licensing model is even more absurd than that - if you have cores switched off
at the BIOS, they still count for licensing in Oracle land.

The substance of the article is quite correct: Oracle is using customer-
hostile tactics to pump their numbers, so investors don't realise how badly
their non-core activities are actually doing.

~~~
tomjen3
The more I read stories like that, the more I wonder why companies use Oracle
at all.

Is it really just cover your ass, institutional inertial and people who don't
know better?

~~~
gaius
Because if you use it for what it's for, Oracle is very, very good. 10 years
ahead of the competition, easily and remember there is no "cheap" or
"expensive" in business, only worth the money, or not.

But if you are just some schmuck developer who needs "a database" and you
settle on Oracle and don't use all of its clever features because you've
hidden it behind SQLAlchemy or Hibernate in an attempt to be database-
agnostic, well then you're going to get taken to the cleaners, but it's your
own fault.

~~~
nemo
Yes, Oracle's database is really very, very good, and if you know how to use
it it's really powerful. I really did like working with it, but hope I never
will again due to the company that sells it.

While Oracle is powerful (and fast and scalable and feature-rich), if you get
to know another enterprise RDBMS in depth you'll find that once you start
leveraging vendor-specific features you'll get more power as well (perhaps not
as much as Oracle, but still quite a lot), at the expense of vendor lock-in.

Using an ORM or other abstraction layer to be DB agnostic for some businesses
would be a better financial choice, since once Oracle's burned you, you can
burn your bridges and walk away to something that might be technically less
powerful, but will probably save you a lot of money. Vendor lock-in has its
own costs. It depends on your scale and your plans to scale. Running large
scale enterprise apps Postgres might be very risky (Postgres is getting
better, though), but DB2 or another alternative might work as well and give
you some leverage when the Oracle audit thugs come in to extort more money
from you.

While I know I am biased, I sincerely believe that Oracle the company is a
money grubbing monstrosity that acts effectively as an extortionist to their
customers (they aren't alone here, but stand out to the degree they push the
envelope of greed, they're a good 10 years ahead of the competition). They
ruined Sun/Solaris, they ruined MySQL (letting it wither when it could be much
further along by now), they are doing very dubious things with Java, they
hosed OpenOffice, and I need to stop at PeopleSoft because my blood pressure
is raising - and are pretty much trying to be the MS of the 90s in the markets
they are in, and being in a position to be able to walk away from a business
like that is a very practical business decision.

~~~
gaius
My belief is if you _can_ feasibly write your app with an ORM then you
_should_ just use Postgres. If you can't, because you need $feature that the
ORM doesn't manage, then buy the most powerful database you can afford and
actively look for opportunities to exploit _every_ bit of the functionality
that you've paid for. The truth is being database agnostic is wildly
overrated; in practice any organization will go through 10 languages before
they decide to change their database, and no-one in their right mind cares
about designing an app that is "language agnostic". You wouldn't start out in
a language that supports, I dunno, closures, then deliberately not use them
_just in case_ you wanted to switch to another language in a couple of years.

~~~
kbenson
That's a good point, and I mostly agree with it, but it's less true now than
it was in the past. There's plenty of shops that switch around data stores for
part of all of their data now. It may not be all that common to go from one
SQL variant to another, but there are plenty of cases of people moving from
SQL to NoSQL (and back or vice-versa). Think BigTable, Dynamo and Cassandra.

That said, there's as little hope of being database agnostic in those
situations as there is being language agnostic. Really, being _SQL variant
agnostic_ is like trying to make sure you stay away from language features
that you can't rely on if you switch between a C/C++ implementation and JVM
hosted implementation of the same language. It's relatively easy (in the
context of what we are discussion in this conversation at least), and as such
may be feasible to take advantage of the flexibility it gives you later.

~~~
gaius
Perhaps a better example would be avoiding multiple inheritance not because
you think MI is a bad idea but _just in case_ you wanted to switch from C++ to
Java in the future and you might need to re-architect.

~~~
kbenson
Maybe, but I think it might be more apt to say "just in case you wanted to
switch from C++ to Java in the future and you _would prefer not to_ to re-
architect."

IMO I think this is mostly an enterprise (or a "we serve enterprises") sort of
mindset, where they have existing, vetted systems, and being able to match
those targets opens you up to more of the market. Is their code target C/C++
or the JVM? Is their target DB Oracle, DB2 or MSSQL. I can imagine having an
app that could be deployed on both Oracle and MSSQL back-ends would greatly
increase your markets due to ease of getting it vetted in some organizations,
just as I can imagine not too far in the distant past having both JVM and
C/C++ versions might have done the same (but I thing that's still inherently
harder to do).

------
adrianN
I'm not a database person, but I wonder what makes Oracle databases so much
superior to free alternatives like, say, Postgres, that companies put up with
the enormous costs and hostile attitude.

Can somebody explain why it makes sense from a business perspective to use
Oracle products?

~~~
endymi0n
1\. Like SAP or Salesforce, they don't sell to sane IT guys, but to enterprise
executives that are far away from ops and just let them deal with it.

2\. Ass insurance. You pay enormous amounts of money for the knowledge there's
a dependable fix to the database in X hours, should there be a problem.

3\. Certifications and tutorials. How do you know a DBA is any good if you
don't know about databases yourself?

4\. Permissions. Oracle let's you shield the database like no other competitor
can. If you need DBA's that can't look into the database or character-level
permissions because you don't trust the people you work with, Oracle is an
enterprises' wet dream.

~~~
imglorp
> You pay enormous amounts of money for the knowledge there's a dependable fix
> to the database in X hours

That's a problem right there. If you're paying ludicrous or plaid amounts, say
7 or 8 figures, then X might be reasonable and you'll get a decent team to
work with you and fix your issue.

However, if you're only paying enormous amounts, then X becomes "whenever they
feel like it", and a fix specifically requested for you is out of the
question. You have to wait for the next patch cycle and hope your bug is fixed
in the next patch. Anybody you talk to will begin every sentence with "I'm
sorry you're having this problem," and they will be offshore.

Source: my company used a shitty db which oracle bought to squash competition
and drive you towards the Big O product. We paid only 6 figures for support
and got nothing useful. Then they bought Sun, which we were also into, and the
same thing happened to us.

------
dankohn1
Can anyone name a startup (let alone a YC startup) running Oracle software?
Why would anyone open themselves up to these kinds of issues in a greenfield
deployment?

And, if not, how much longer can Oracle keep up their growth by selling only
to established companies? (Yes, they can sell maintenance forever, but how
about growth?)

~~~
djfergus
Uber.

[https://www.uber.com/jobs/43437](https://www.uber.com/jobs/43437)

AirBnB

[https://www.oracle.com/marketingcloud/customers/success-
stor...](https://www.oracle.com/marketingcloud/customers/success-
stories/aibnb.html)

~~~
dankohn1
AirBnB is the exception that proves the rule. I had to watch 2 minutes into
the video to find that AirBnB's 2 person email marketing team selected
Responsys. Note that Oracle acquired Responsys in 2013, so I suspect AirBnB
was already using them, and got offered a discount if they helped Oracle seem
less dated by having a hot startup on their webpage.

But, I believe it is a SaaS offering, not licensed software.

Uber seems to be using Oracle Financials, presumably because the SaaS
alternatives aren't yet ready for Uber's scale. So, that does seem to be an
example of companies going with Oracle when they get big enough.

------
falcolas
From my experience at a previous company (who Oracle acquired, ironically),
even if you're not using any Oracle software at all, Oracle will still demand
to audit you because "any company over a certain size has to be using an
Oracle product". And of course, you can get out of it by purchasing a license
for their product.

The cost of declining? Dancing with Oracle's lawyers for months or years. The
company opted to allow Oracle in, and no Oracle software was to be found (this
was pre-Sun acquisition, so they couldn't even attempt a claim at MySQL or
Java).

These tactics are nothing new for Oracle.

~~~
deskamess
How is this even legal? How can one just walk into any business and ask them
to show your 'technical' books? Is there some legal backing/construct to allow
a company to do this? Was there compensation for time and materials spent?

------
djhworld
I worked for a company a few years ago that fell foul to this, I wasn't privy
to the exact details, but it was explained to me that Oracle did an audit and
found the company were using the database on more cores than licensed for or
maybe something like the VMWare situation.

To "make good" the company were offered the option to buy two Exadata racks
and support contract at a very high cost, which they took up, and meant I had
to spend a good few months migrating all of our applications over to the new
Exadata database.

~~~
raverbashing
Sure, textbook tactics

Expect a future shakedown for those who bough it

------
davidgerard
To repeat the tale:

We're discovering that literally everything is better with Postgres. Mostly
because instead of a single expensive point of failure, every app gets its own
clustered PG pair. Because we can, because we don't have to think about
licensing ever again.

Just everything not having to play nicely with anything else makes a huge
difference.

The other nice thing is that PG is administerable by clear-thinking (and
understand relational databases) non-specialists who can read a manual. You
don't actually need big-ticket support unless you do.

And, guess what? Our Oracle support was most keen to offer Postgres support,
because they too can tell which way the wind is blowing.

WHAT WE DO: PG 9.3 out of Ubuntu 14.04 repos. Failover pair with a primary and
standby. Primary streams write-ahead log records to standby as they’re
generated. Some script gaffer-tape to watch for primary failure and fail over
(I think we haven’t ever yet actually had to invoke this). Conversions done by
hand with ora2pg then faff and twiddling and unit tests. Gotchas: malformed
sql that Oracle accepts but PG chokes on. All cobbled together just following
the docs, almost certainly better ways to do all this.

Postgres is in fact the 99% solution.

------
jkot
This is not just Oracle, but it is pretty common for software dinosaurs
(Microsoft, SAP...). We migrated to Redhat since Microsoft was unable to tell
us exact price. Managers would risk criminal offense, by using software with
unclear licensing terms.

------
nateguchi
Is it old fashioned to try and keep your customers happy?

~~~
gpvos
Did you read the article?

------
jpollock
Key quote:

"threatening customers with big bills for software they’re using but haven’t
paid for"

The _really_ key bit: "haven't paid for".

The customer is not in compliance with their software license. At that point,
they are probably looking (the very least) substantial per-core fees for the
esoteric Oracle Enterprise features that they are using in production.

I worked for a software firm that was selling telecommunications software to
carriers. We charged per subscriber per year. If the carrier wasn't paid, we
didn't get paid. However, the carrier didn't keep their license up to date
with the number of subscribers they had. Anyways, up comes the support
contract for renewal. They complain about slow performance, slow releases and
high fault rates - aiming for a discount.

We, pull out their 3 month old press release showing record numbers of
subscribers, exceeding their license by 50%. To the tune of ~$500k/yr.

Yeah, the contract got renewed, with no discounts. You see, they'd already
received the discount.

Take Away: If you're going to use software with a license, make sure you're in
compliance with that license.

If you use Oracle, make sure you have a scripted install and that you audit
the feature set against the license. This script and feature set needs to be
re-audited for every new release, since the pricing and built-in features will
change. It is UP TO YOU, the deployer to ensure that you are in compliance
with your license. Oracle has automated audit tools, and when it comes time to
renew, they know what you are using.

If you use Open Source, make sure you keep it SEPARATE from your main code
base and read the terms of the license you are using. BSD (with advertising)
vs GPL vs LGPL vs AGPL have very different impacts on your code.

~~~
Oletros
Problem is that the rest of the article show no sign of using software without
paying

~~~
gcb0
oracle gave them the software on a quasi-good-will and the client had no means
to prove where they used or not used the software. The article calls it "a
tricky to not pay oracle" which is idiotic and should read "lack of due
diligence".

i'm not defending oracle. i think everyone who signs with them deserve all
that. but in contract law, they are pretty mundane, for that one case. Their
IP lawsuits are another history.

------
gcb0
tl;dr: typical case of customer losing the tab on bar and complaining about
paying the fee for lost-tab.

company A signed with Oracle on a contract that says they will pay per user
and per server.

oracle asks them how many servers are running oracle software, company A has
no logs, oracle says for them to pay for a big number of servers based on how
many servers company A has available or pay a fixed "cloud" price.

company A now thinks they are too smart despite having made the asinine
decision of supporting such contract in the past and goes to the press.

~~~
nemo
"typical case of customer losing the tab on bar and complaining about paying
the fee for lost-tab."

It's more the customer getting a bar tab for a huge number of drinks they
could potentially have ordered but claim they didn't while the barkeep doesn't
keep track but just assumes the maximum number theoretically conceivable.
Oracle's approach of letting customers hang themselves then putting their feet
to the fire to prove they didn't use their software the way Oracle fantasizes
is seriously ruthless (though this in no way exhausts their approaches to
ruthlessly piling fees on customers - I'll never deal with them ever again).

~~~
XorNot
My company recently had an Oracle audit, and yeah, the big concern was that
the audits basically tend to find some non-compliance "but you'll be totally
covered if you buy N cloud-services from us".

Why anyone uses Oracle is a god damn mystery to me. Why _we_ use Oracle even
more so - we have no use nor need for it's featureset.

