Hacker News new | comments | show | ask | jobs | submit login
Oracle refuses to accept pro-Google “fair use” verdict in API battle (arstechnica.com)
281 points by nkurz 133 days ago | hide | past | web | 320 comments | favorite

Oracle is set to repeat the trajectory of SCO. Their primary product (the Oracle DB engine) is being displaced by the NoSQL and things like Postgres. The "next generation" of developers equals SQL engines with "old and bad", and when forced, it ends up with Postgres anyway.

Oracle used to survive in significant part by the support of the "database administrators" class. This layer of support is also becoming thinner and older.

There's essentially no way forward for Oracle. They can use hostage tactics to squeeze money out of exiting customers for a few more years, but otherwise they are irrelevant in the tech landscape.

Except for Java, that is. The current tech is powered by Linux and there isn't really anything as big as Java on Linux. Python has been pretty significant and Go is making inroads, but the default is all Java. It is going to be interesting to watch how this will play out.

> The "next generation" of developers equals SQL engines with "old and bad"

I think that what you mean is:

  - they don't understand the relational model
  - they don't understand the tradeoffs of ACID vs BASE
  - they never bothered to actually learn SQL
  - they *think* that they have "big data"
Don't get me wrong - there are compelling use cases for, and decent products for, every class of non-relational database.

But there's nothing out there that can handle the general use case like an RDBMS.

Anybody who doesn't understand that isn't qualified to be making organization-wide decisions.

PostgresQL is an RDBMS and has increasingly been demonstrated as able to hold it's own against closed source rivals.

I think the OPs tossing NOSQL in there was poor form, and I think "SQL engines" could be replaced with DBAs. The world still needs RDBMS and we desperately need people who understand them from an engineering perspective.

But as an average app developer, I can scale my product to serve hundreds of thousands of people with really shitty DB architecture by simply throwing RAM at Postgres. That means Oracle corporate promises and hoards of query-optimizing DBAs are not the default for most fast (and even some moderately fast) moving startups anymore.

What can Oracle do that Postgres can't, then? Can Oracle function with less RAM than Postgres?

I think Oracle has a few features that postgres don't have.

Warning: conspiracy theories ahead - I have a suspicion that the biggest reason is so that their field agents (i.e. oracle-friendly DBAs : ) out in the field can always find some reason to choose Oracle over anything else.

Also: and this is based on once working with a Oracle shop and also listening to Microsoft guys: licenses fees can be a blessing in disguise, they aren't going to pay them anyways, their customers will and they will add 15%

> What can Oracle do that Postgres can't, then?

Provide enterprise level support. That is, they provide 24x7 support with technicians who can troubleshoot problems with the database or provide basic indexing support, etc. They also will write specific patches for specific customers as needed.

It also has more features than PostgreSQL (more indexing options, custom SQL extensions, a better optimizer), is more stable, and has a lot more developers working full time on it.

PostgreSQL is good, no doubt, and GAFA have shown that you can take an open source DB and throw engineers at it to make it handle ridiculous scale. But what if you don't have those engineers to throw at the problem and constantly patch/update the DB? Finding people qualified is going to be both hard and expensive. An average MySQL DBA can easily fetch $200 an hour for routine work, and over $400 an hour for emergencies (my numbers are about 4 years old; it's probably gone up), and never be out of work or job offers. I don't imagine a good PostgreSQL admin is worth any less.

This is exactly what was said about IBM as IBM was being left behind by low cost replacements and competitors. Both IBM and Oracle have many of the same characteristics in terms of being aggressive with customers and influential in the C-suite. But that was not enough.

Does Postgres already support distributed transactions across cluster nodes?

They don't have to be right, they just have to exist in sufficient numbers.

To be fair, most of the developers raving about ACID I have met have had trouble naming other valid use cases requiring full ACID besides the "transferring money from an account to other" that nearly every course and school uses. The thing is, most of the applications just don't need that kind of guarantees, if they can at least detect (when using BASE) when something went wrong.

Doing joins?

More seriously, I'd turn the question around. BASE requires you to think hard about a lot of things that ACID gives you for free. The benefits are better performance and scalability. But if you're not certain you need that performance, why go through the extra trouble?

(That said, it also depends of the data model. If you're certain your data is key/value without any relationships and will always be key/value, a key/value store is likely appropriate. If you have something more complex, I don't see it.)

ACID means you have transactions. And transactions are a fantastic feature. It's like a save point in a video game.

Use case for yesterday:

- create a user and it works, create a default access right for this user for one of our most important service;

- if this doesn't work, cancel everything.

Now I had the creation of user working, but the creation of the access right had some problems unrelated to the code.

Without a transaction, this bugs led to 100 of user accounts created without a default right access, and we had to clean it up after ward.

With a transaction, this bug would have not affected us in any way.

Transaction are safety net for data corruption. When you are using mongo, you have to manually do that logic again, and again and again.

In my experience, most mongo coders don't do it, and their DB is riddle with duplicates, incomplete inserts and such. Transactions give it to you, for free.

There are many other wonderful things about transaction:

- free manual rollback. Even when you don't have an error, reverting an operation is one line of code. Even if it affects many tables. Doing that with mongo or redis is terrible.

- free race condition handling. This one is huge because race condition are very, very hard to deal with. E.G: you want to limit the number of comment per day for untrusted users. You just add the comment, THEN check if you have more comments that acceptable, and if yes, roll it back. This way if your system if flooded with comments, you never have one slipping through.

- free ability to split your process in small units. You can create subtransaction inside transactions, and just say you want to rollback one but accept the other part. This give you huge granularity on your error handling.

Basically you get precise, clean, strong and easy reliability for close to nothing.

As soon has you have many untrusted users using your system, it becomes a fantastic asset.

You might want to read this article: http://hackingdistributed.com/2013/03/23/consistency-alphabe...

For instance, "C as in ACID" enables a CEO to say things like "the number of records in the personnel database should be N, the actual number of people I have hired." Or "number of cars produced should be less than or equal to the number of engines purchased." Or "at the end of the data analytics run, there should be a single summary object for each region, containing accurate statistics of sales figures." Or "every Bitcoin transfer that has been executed should be reflected in the corresponding users' wallets." In general, C as in ACID encompasses any kind of property that can be expressed over collections of records, where these properties are application-specific, user-defined, and checkable functions over total system state.

That is a very good article! I bookmarked it in 2013 for that reason. :)

The thing just is... A CEO doesn't really care whether there are 1500 or 1502 workers. Some idiot drops one engine on the assembly floor breaking it. Accurate statistics is an oxymoron. The bitcoin transfers are reliable (mathematically proven even), but does it matter if your wallet shows a wrong number in the UI for a while? I had a good friend go to ATM on a Friday night and see that his current balance was 2.4 billion euros. Next morning it was corrected, and nothing really bad happened.

For the business it is more important to find the (very rare) screw-ups and correct them. You don't really have to do it in real-time either. A 1960s style batch job is just fine.

The reason for previous is that the full ACID model system will fail with the same starting values. The difference is that it tells that end user something like "uh-oh, something went wrong and we can't process your transfer or whatever" (common with banking applications) when eventually consistent model allows the process to continue, and the screw-up must be handled at later stage. From the end user's point of view the ACID version is usually much worse.

The flip side of that is your friend could have gone on a buying spree that night.

Yes, they would have tracked it down and eventually recovered all or most of the money, but at significant cost.

Had the issue never occurred due to constraints of the system not allowing it to, time and money would have been saved.

Allowing a gap between the error condition and its remediation is an opportunity for exploit.

Most of these concepts are introduced only in the second year of a CS degree or later. Everyone knows that the truly gifted rockstar ninja founders drop out by christmas time first year.

Basically, instead of innovating, or as the hip kids nowadays say, "pivoting", they just want to make easy money with stupid copyright claims and harmful tactics.

I find this strategy extremely toxic and malicious. Google may do a lot of stupid things, and people often make fun of their "don't be evil" motto, but let's be honest, the shit Oracle keeps pulling here over and over is the real definition of evil.

It's purely for profit and doesn't help in anyway to advance technology or humankind.

Microsoft's move to build their own version of Java with C# proved rather smart in that light.



This layer of support is also becoming thinner and older.

It's not about age(ism) it's that Oracle stabbed them in the back by pushing cloud over on-prem where these guys (and gals) were employed. Now Oracle's biggest supporters are re-skilling to Postgres et al and stopped recommending Oracle to their organisations...

This is what is important to note; Oracle screwed their consulting partners as much as they could by pulling support and 'dev' in-house and simply taking over contracts of big clients. My previous company was hurt quite a lot when Oracle ate BEA. I still talk to clients from back then who miss our support and products as now Oracle is bleeding them dry providing crap. But it seemed like a good idea at the time I guess.

Agreed, we were stuck using Oracle at my job and it's an pain to maintain. Their cloud solutions are awful and on-premises suffered greatly. Their database engine might be solid, but everything around it was terrible. Things like PL/SQL being an unruly mess, even things like auto-incrementing columns were missing until the most recent release (12c R1). Coupled with insane licensing (arbitrarily changing the core factor for licensing) and auditing (soft limits, lots of hand-waving). It serves them right that they'd be losing out to Postgres.

The problem is the following: problems that Oracle products are solving are very hard.

On other hand, our SV startup culture is all about making some quick websites and get rich schemes.

So the conclusion is: Oracle is here to stay.

What hard problems are they solving that can't be solved with OSS today (tech problems)?

I've heard things about their business apps division (business problems) and I can't say I particularly believe in their future there versus smaller focused companies.

So - I'm definitely not willing to go as far as the GP was with their statement, but Oracle's database technology is pretty amazing. I love postgres, Spark, NoSQL, etc. and think the progress they have made is amazing, but Oracle's database from a raw featureset is incredible.

- Shared-something database clustering - true scale-out database clustering without writing sharding logic into your application, worrying about hot spots, or sacrificing significant performance due to overhead

- query offload to storage for bulk reads

- Flashback - someone wrote a bad update that might have messed with some data? You can tell the database to set your view of the database back to before that update to verify, and then decide if you want to move the whole database back, or just extract the records that were changed by that query

- fine-grained permissioning - have a table with credit card numbers in it? Give everyone access to it, but the credit card numbers are all obfuscated

- replication - block-level? statement-level? real-time? real-time with delay? Whatever you want. In fact, you can say "Hey, replicate this database to another datacenter, don't make it synchronous, but don't let it get more than 10 minutes out of sync"

- also, btw, when you need to failover that database, if you're feeling really brave, oracle can do the whole thing for you automatically, because their database client will notify a watcher that a majority of them have lost the necessary access to the database, but can talk to the standby, and the watcher handles the failover

I could go on and on. There's just so much intelligence in the Oracle database platform. Would I ever pay for it? No, it's better to build applications that don't need that level of sophistication. But if you're a big company who doesn't want to write software to be smart about data storage and recovery, Oracle does an amazing job at just guaranteeing your data won't go away.

On the business apps side of things, I think their software is mostly terrible, but I also think that they do focus on problems that OSS typically has not. If you are a manufacturer of satellites, there is probably not an OSS ERP solution that will work for you. If you need to store 300,000 personnel records, there's probably not an OSS HCM solution for you.

None of this means that they're not eventually doomed nor that they're not shitty, but it is very fair to say that their software deals with hard problems that OSS has not typically focused on.

Great comment, thanks for the details on the specific tech - this is rarely captured in the regular "just replace Oracle with PGSQL" threads on HN.

I think you can add to this the fact that Oracle has been hardening the platform and building/fixing edge cases for 30 years. This goes a long way to preventing procurement departments from moving away from the "no-one got fired for buying <dinosaur-x>" model.

I heard a crazy stat that 99% of Oracle's business ($36B revenue, $9B profit) comes from the top 0.01% of customers (basically the US Govt and the Fortune 10). The average OSS start up is not going to materially affect this.

The real problem (solvable with tech? maybe?) is changing the culture in which big orgs evaluate and procure IT. Otherwise Oracle will just be an attractive exit for startups rather than competition that can be threatened...

> I heard a crazy stat that 99% of Oracle's business ($36B revenue, $9B profit) comes from the top 0.01% of customers (basically the US Govt and the Fortune 10). The average OSS start up is not going to materially affect this.

That's almost certainly not true, given my experience with Oracle's business. I think it's fine to say that 90% of Oracle's business comes from the Global 1000, but I know what some F500 bills from Oracle were, and they were in the $100m-$200m/year range, so you need a much broader spread to get to 36b

They've done an awful job of hardening their platform. Cease and desist letters to those who give them reproducible test cases because they violated some sort of copyright/license term does not harden anything other than the arteries of DBAs everywhere.

Yes I agree with Oracle's database technology being amazing. It was born in an era when disk space was expensive and the only data storing mechanism that most developers know was transactional ACID SQL stores. However we are living in an era when disk is cheap, data volumes grew way beyond a single node capacity and we have a handful of different approaches when it comes to store data on disk. We also have much better understanding on tradeoffs in this world (CAP, etc.).

I have moved a bunch of companies from MySQL/Oracle to scalable key-value stores having much better operational characteristics than the SQL ones. Was it hard? Hell yes, we had to educate developers about not having transactions, network partitions, order of operations and a bunch of things that solutions like OracleDB hides from you. Was it worth it? Absolutely, we had 99.99% yearly uptime while the previous SQL based solution was somewhere in the 90.00 - 95.00 range. Did we save money? Absolutely, the licensing cost and the fact that we do not need beefy boxes around payed off. Is this relevant to the subject as Oracle is in trouble or not? I am not sure. If the most of money coming from the government and fortune 100 than probably not.

I am in the same boat like other here on HN, I prefer to build systems myself that I understand 100%, and trying to avoid using technology like Oracle as much as I can based on the experience with support and the pricing. Again, I mostly work with startups and companies where the budget cannot be blown on SQL licenses.

>> when disk space was expensive and

The biggest caveat for oracle and other proprietary solutions is the /dynamic/ licensing/pricing models having an effect on architecture based on disk, cpu and other paremeters.

With OSS solutions, postgres/mariadb etc I have the flexibility of deploying as many nodes, disks, cpu, machines as I want without thinking of how will effect the price, and without worrying of a sales organization tracking my use. That's why I don't worry about clustering, partitioning, linking and many other features lacking.

If I'm going to plan for 100M to 2B monthly active users for a growing organization Oracle/Ms SQL aren't an option at all. For small scale of up to 10K users, they seem to have a use case for "legacy" organizations.

There are two reasons several of my clients have chosen Oracle over Postgres.

#1: Training. Oracle does training very well. If need new DBAs in-house (for security reasons etc), they got huge array of options available. The most effective options are also insanely expensive. Once paid 400k€ to get two new DBAs. They became very good at it.

#2: Clustering. Postgres is nowhere near what Oracle offers. Even with the newest releases. What Oracle offers is real multi-master synchronized replication with proper distributed locks, low latency, and it's maintainable and easy to setup. Postgres has still 5-10 years to do before they will reach feature parity on today's Oracle.

You're absolutely right about the feature set of Oracle, it really is impressive. With every release Postgres gains more of the killer features of Oracle but there is still a long way to go.

In addition to your list above I would also like to mention partitioning. it is available now in Postgres but it is much weaker than what Oracle offers, although it does improve with every release. I would love to see row movement in Postgres.

Coming from an Oracle environment and now working primarily with Postgres I notice that Postgres is much nicer to developers where Oracle seems much more oriented to DBAs. Oracle has nice tools around things like partitioning and sharding but it doesn't even have a boolean datatype! Postgres has a full selection of datatypes, indexes and handy functions like row_to_json().

Thanks for this. I've heard good things about their DB and appreciate you writing down things you've liked about it. I can see the viability there given the other comment that .01% of customers provide the majority revenue, if they need this level of sophistication.

It is so hard that a handful of opensource projects and 1x other companies solved it successfully (talking about the DB) and they bought most of the other tech instead of developing in-house. I am not sure which hard problem they are trying to solve but I am pretty sure that most of their offerings are overpriced. Oracle is here to stay as much as any other dinosaur from the past. They might be able to pivot to the cloud era (not too successfully yet) or they revenue is slowly going to decrease together with their significance.


I wouldn't count Oracle out just yet. They're still much bigger than SCO or its predecessors ever were. They're also under the same management that built the company up from nothing, whereas SCO was a new management team that took over Caldera and was trying to pivot them to the product they'd just bought from the former Santa Cruz Operation, had no idea what they were doing, and eventually settled on litigation as a business model.

(SCO, amazingly, is still continuing its litigation, despite having no products, employees, or assets remaining. Oral arguments on probably-the-last-appeal are March 22 in Denver.)

All of the largest corporations in the world run on financial or ERP systems such as SAP, Oracle financials, Microsoft Dynamics etc., which sit on top of relational databases.

While in the SV start-up world it may seem like NoSQL is taking over, the Enterprise database market is massive, and replacing the relational databases behind corporate ERP systems with NoSQL based solutions, (to the extent that is even possible/wise), will be a long time coming.

Oracle has a giant footprint in a huge number of organizations across multiple industries. Love them or hate them, (and right now there is good reason to hate then), they are not going away anytime soon, and calling them "irrelevant in the tech landscape" seems premature/myopic given their massive install base and influence in the corporate/enterprise IT space.

Oracle has a perfectly good business model which doesn't rely on OracleDB at all: they buy vertical enterprise software companies and then milk their customers.

Worked for Sun, MySQL, Sieble, Peoplesoft, etc.

Maybe for startups, on the enterprise space I am yet to see any customer move away from Oracle, SQL Server, DB2 and similar.

Speaking as someone with good insight in enterprise NoSQL sales - vast majority of revenue is coming from Fortune 500s shifting off oracle systems.

Oracle customers have been very easy targets - solve the technical problem, and then give them sales people that care about their success and support people driven to solve any hurdles. I've been on the phone with ex-oracle DBAs crying from happiness, trying to explain how working with a support team that's genuinely there to help them get their job done has changed their professional lives. Those people become lifetime advocates and friends, making up a foundation that will keep the current NoSQL winners healthy businesses for a generation.

When I worked government contracting they had broad goals handed down which they must work toward without it being an explicit requirement. One of these goals? Get on top of an open source only stack for security, cost and future interoperability between other groups.

I worked on several projects where they were originally using Oracle or MarkLogic and we transitioned them to Postgres or various other, open source tech.

If the slow moving government is moving various projects away from Oracle, I would be shocked if some businesses weren't doing so as well. Now I don't know if moving away from proprietary is a trend or the more frequent than moving to them.

If you are allowed to and comfortable with it, could you share which country was that? Over the years I have looked at government projects in Western Europe, SE Asia and Australia, Europeans seem to be the ones that care the most about open source, while at the other end of the spectrum SE Asian governments are interested in it just as much as it lets them save money (much less because of "free as in freedom"). Australia seems to me kind of a mixed bag, it boasts about using Drupal because it's open source but I know that some projects are based on proprietary technology. Please note that much of the information I gathered is second-hand and may be inaccurate.

I can say from experience that in the U.S., the procurement people are definitely incentivized to look for solutions built on open standards and open source because of the ability for the government to have the option to not ever have to upgrade again, but to continue servicing this specific procurement (and this specific version) forever and ever and not be beholden to a specific vender or solution provider.

I've even seen cases where one company will sell a solution into the government and lose the maintenance contract the next year to some entirely different company who underbid the original provider -- and there's minimal slowdown in technical execution because the entire stack is open to some degree.

The government is starting to develop an allergy to vendor lock-in because of this.

United States. It may be a mixed bag as the agencies I worked with, well the groups within them I should say, were very, VERY against proprietary ANYTHING. I've never seen such a huge push back against software like Palantir. Funny thing? Almost every user I met LOVED just about all of the proprietary software and hated the contractor created, built on open source stacks, software.

Amazon is in the middle of a top-down migration off of Oracle. despite owning AWS, there are still a huge number of dependencies still running on Oracle.

Search YouTube, for "Yandex oracle to PostgreSQL". You would be shocked at how the enterprise space is just sick to death of oracle and once they actually TRY moving off it to PG how much insanely easier, cheaper, and better performance it is for most workloads that people thought they HAD to have oracle for.

You simply can't find Postgres DBAs in VA, whereas you can't swing a cat and not hit an Oracle DBA with 10+ years of experience.

Oracle DBAs are super easy to retrain to PostgreSQL because the two systems are quite similar and Postgres is catching up on features it has been missing.

SAP have their own tech in HANNA now of course

Edit: SAP have a DB called HANA, not HANNA as I incorrectly typed

Probably developed by the Sybase team after they bought Sybase years ago.


sorry HANA. SAP seem to be pushing it hard for Business One, over and above MS SQL.

You should look harder. If you have Oracle experience then brush up on Postgres and cash in because specialization in just that specific migration can probably carry you into retirement.

I also have done some Postgres deployments for a department that didn't want to follow the IT rules regarding Oracle.

I wasn't very impressed.

Specially regarding the programming language for storage procedures, GUI tooling and lack of support for distributed transactions across cluster nodes.

> Their primary product (the Oracle DB engine) is being displaced by the NoSQL and things like Postgres.

Worth noting they own MySQL (via Sun acquisition)

The developers moved to MariaDB, which is what everyone uses nowadays anyway rather than MySQL.

> which is what everyone uses nowadays anyway rather than MySQL

Um. No.

Unless they're doing something quite eccentric with it, developers will target the standard MySQL api, and the application will then work with any of the MySQL/compatible database servers:

- Oracle MySQL Community Edition

- Oracle Standard/Enterprise Edition (i.e. paid versions)

- Percona Server for MySQL

- Percona XtraDB Cluster

- MariaDB

I tend to use/recommend Percona Server/Cluster (for dev/prod respectively) but as long as the MySQL-version is compatible (i.e. the fork has the SQL/engine features your application needs) it's likely that other factors (e.g. PXC has Galera replication built in, is completely open source, and has commercial support available if you want it) will be more of an influence to the decision on which to use.

Patently false. I barely hear any talk about MariaDB whereas I still consistently hear about MySQL. Please define "Everybody" in this context, because it sounds like you've conflated it with "I".

It's the same situation with SSL and TLS. If you ask for a MySQL database you have a good chance of getting MariaDB.

Oracle's largest asset in this situation is the brand mindshare.

What do you mean by "ask for a MySQL database"? If I were a client, I'd be rightfully pissed off if the developer I contracted gave me a completely different database than I requested in my stack. That's a complete breach of contract, if there was indeed MySQL on the spec sheet.

Who are you working with that would flagrantly ignore the obvious differences between SQL and MariaDB?

Personally, I've never seen MariaDB used in an instance where a simple MySQL db sufficed.

Among the many open source PHP installs for things like Wordpress, I don't know that I've seen a single install of MySQL. WPEngine, for instance, only offer MySQL.

The 10M+ pulls (and 3.8k stars) on Docker Hub suggests that MySQL is still getting a ton of use.

Facebook, YouTube and Google are still massive users of MySQL. And MySQL development is moving along (admittedly after not much for a few years). I doubt MariaDB really figures compared to MySQL in industry use, or new installs.

Don't forget Amazon Aurora, and Redshift. With the number of big name customers AWS, these products are the most scary to direct enterprise Oracle DB. Though the smaller and new tech giants of tomorrow will probably be running your Postgres and MySQLs as you mention

>> Their primary product (the Oracle DB engine) is being displaced by the NoSQL and things like Postgres.

I am not sure about the NoSQL part. I see it as more and more companies providing data access to different most-definitely-SQL databases other than Oracle. Postgres even has a migration page: https://wiki.postgresql.org/wiki/Oracle_to_Postgres_Conversi...

No way. Oracle owns enterprise ERP.

Every public company needs to run Oracle/Peoplesoft or SAP.

You may not like Oracle, but I bet they'll be around, thriving for decades.. Sure the Oracle DB is being replaced somewhat by other technologies and a shifting market to SaaS, but they are transforming the company rapidly and acquiring a very impressive and diverse portfolio of companies and starting to make large dents in the SaaS market: https://en.wikipedia.org/wiki/List_of_acquisitions_by_Oracle

I like seeing this sociopathic company circling the drain


> essentially stopping development work on anything that is not directly tied to revenue generation

Although Oracle denied they bought Sun just to sue Google you have to wonder since they are claiming "billions" in damages and only paid $7.4 billion after IBM dropped their $7.0 billion bid.

This purchase was such a seminal moment for the industry you have to wonder what an alternative history would look like if say IBM or Google made the purchase not to mention some dark horses like Amazon or Red hat.

They absolutely bought Sun just to sue. I used to know someone personally involved on the case. Oracle is a horrible company.

To be fair, Google's "don't be evil" is also a bunch of crap. They've done their fair share of shady and exploitive things.

Google wasn't evil, at least not before the IPO (which is when I worked there). People took the slogan seriously and based decisions on it. I don't know what happened.

The people that intended to do evil merely waited until those who didn't intend to do so finished implementing the things they were implementing.

Then they used that sound infrastructure to do evil with, as they had intended to do all along.

Those people that took the slogan seriously were used.

Those are very damning accusations. Care to give some examples?

I think Google's quiet transformation from a search company to a data company that is trying to learn everything about everyone is the prime example.

Google buzz was also one of the early moves that showed this, opting everyone who uses gmail into a social network was pretty evil if you ask me.

I am troubled by your expansive definition of the word "evil".

There was no "transformation" - Google clearly signalled its intention from the get-go in the mission statement.

like what?

I meant dark horse only in the sense of unlikely winner. Nothing derogatory was meant by my statement.

I wish intent and end result counted more strongly. Andoid's compatibility isn't transitive: once code goes through the Android build pipeline to produce an Android Application it cannot be meaningfully used in the context of Oracle Java; it's a one-way transformation to remain "talent-compatible" with a large pool of Java developers and reuse the base of Java libraries.

Projects like OpenJDK and WINE are efforts to provide an alternate execution environment for code that is mutually beneficial to the ecosystem, although perhaps not the wallets of the original owner. A commercial venture ought to qualify here if the intent is to compete on equal footing -- code targeting OpenJDK can run unmodified on Oracle Java, code targeting WINE can run unmodified on Win32, thereby not limiting the original creator's rights.

However, Android Apps contain unrelated public APIs as part of the exported code, and a full packaged Android App cannot meaningfully run on Oracle JDK, despite portions of the standard library looking and behaving alike. This fragments the ecosystem and essentially allows Android to benefit from the works of the Java rightholders without making those contributions equally as useful to Oracle Java itself.

once code goes through the Android build pipeline to produce an Android Application it cannot be meaningfully used in the context of Oracle Java

Android apps typically have an MVC-like structure where the UI uses Android-specific APIs, but the model is straight Java. As an example, I created an Android game and later decided that I wanted to make a level editor as a desktop Java application. I was able to reuse the model code in Oracle's JDK with no changes, even though I didn't have that use in mind when I originally wrote it.

a full packaged Android App cannot meaningfully run on Oracle JDK

That's true of any platform-specific Java API.

Right: and if you remember, the entire concept of a "platform-specific Java API" is what was at stake when Microsoft lost this very similar lawsuit when Sun sued them over J++. Either what Google is doing is horrible or what Microsoft did shouldn't have been a problem :/.

> Either what Google is doing is horrible or what Microsoft did shouldn't have been a problem

Maybe go reread about the case? It was basically breach of contract and thus quite different.

The basis of Sun's lawsuit was that Microsoft had a license to implement Java™ and part of that license was the requirement that their version would be compatible as defined by the compatibility test suite.

In their attempt to "kill cross-platform Java" they failed to be compatible and so Sun sued and won.

Huh! So, there were multiple rounds of lawsuits, and I will admit I missed this (very important) detail of the part that Microsoft actually lost. I think it is still important to note, however, that the main reason any of these companies actually ended up in contracts with Sun was due to Sun's claims to ownership over the language standard itself, and there is some really great phrasing about Sun's feelings on this in this contemporary article from the Wall Street Journal. But again: you are absolutely right about what is different, and I am sorry for not noticing this before :(.


The issue was the trademarks, which exist to prevent consumer confusion. J++ would have been allowed to exist, but it had no right to use the trademarked "Java" name, because if it only runs on MS it's not "Java".

Except that all of the Android code is open source and you could port its runtime or API to any platform you like.

The argument you're making is that Oracle is the only party who should be able to extend Java, despite their also releasing it under an open source license. Which, if they hadn't done, no one would have used it to begin with -- as seems to be the direction things are headed given their recent behavior.

> This fragments the ecosystem and essentially allows Android to benefit from the works of the Java rightholders without making those contributions equally as useful to Oracle Java itself.

Java SE, Java EE and JavaME are incompatible. Java was already fragmented by their creators

> Java SE, Java EE and JavaME are incompatible.

Hell, JavaME wasn't compatible with JavaME, depending on which vendor versions you were comparing. Sony Ericsson had classes totally different from Samsung or Nokia. Add CLDC versions and varying CPU and memory capabilities to that toxic hellstew to effectively kill the WORA dream.

Sun/Oracle can't blame Google for their abysmal mobile strategy.

I can attest to this, and wrote a validation package to detect the differences among Java ME implementations back when I was doing mobile search apps for Java ME devices. A particularly annoying irony is that if you tried to use the supposedly standard ME UI classes, that's where most of the poorly spec'ed behavior lived, which is what all those vendors pointed to to justify doing their own UI classes. Never mind the intentionally loose specs for things like threading behavior.

Re "This fragments the ecosystem and essentially allows Android to benefit from the works of the Java rightholders without making those contributions equally as useful"

Not based on licensing. There is no licensing barrier to making an runtime with the same semantics as ART or Dalvik that runs Java bytecode and is fully compatible with Oracle Java.

Also not by intent. Dalvik bytecode was designed for running without a JIT compiler in a battery powered device - a very specialized and critical design goal.

Oracle is the party that's playing games with standards and licensing, intentionally keeping openness and licensing requirements opaque and intentionally vague. I know this firsthand.

Oracle is such a shit company. There are still some great hackers there but Larry Ellison is an asshole, and I don't envy anyone who has to work for him even indirectly. "Left Oracle's Java business in tatters" eh? Where was their mobile OS? Their Dalvik?

The wounds to Java have all been self-inflicted. If they succeed in copyrighting the API then where does this leave OpenJDK? Operating at the mercy of Larry fucking Ellison, which means not at all.

I've got 17 years of Java experience under my belt, but frankly with Docker + Kubernetes for deployment and new system languages like Rust and Go I'm thinking it's time to jump ship. Or even to C# since apparently MS got the memo on Open Source (not to mention the need for integrated platform modularization - no more Maven hell! Yay!).

>Or even to C# since apparently MS got the memo on Open Source

Actually Microsoft was with Oracle on the whole 'API's should be copyrightable' and lobbied on their behalf during the case.

Microsoft claimed that: "If Google's position that APIs can't be copyrighted stands, it will "destabilize" the entire software industry"


It's more subtle than that. The way United States copyright law is structured is that it tends to have simple, broad rules for what is subject to copyright, and then has several exceptions that limit the copyright owner's exclusive rights.

The tendency is to put the complexity and special cases in those exceptions and to keep the basic rules for what is subject to copyright simple.

Under current law and current Supreme Court precedent, for written works (including computer programs) that standard is essentially that if it is original and it has some creativity it is subject to copyright. The level of required creativity is very low. I believe the Supreme Court used the phrase "modicum of creativity" or something similar.

Microsoft's argument was that APIs can qualify under these simple, broad rules as interpreted by current precedent, and so the district court went too far in saying that APIs cannot be subject to copyright.

They did not argue that this means that Oracle should be able to prevent Google's copying. They believed that one or more of the exceptions (fair use, the merger doctrine, and some others they mention in their brief) could apply.

Their argument on destabilizing the software industry didn't have anything to do with APIs specifically. Essentially it was that the reasons the district court used to exclude the APIs from being copyrightable would likely apply to much more, calling in question a large part of the idea of copyright for computer programs. That would undermine pretty much all software licensing, both proprietary and open source.

It's worth reading their brief, as I've done some summarizing and simplifying that probably distorts some of the arguments. The Ars article you cited links to it.

One wonders where they stand now that they've reimplemented the Linux kernel APIs in Windows 10.

Or considering they became such a large company selling a product that targeted IBM compatible systems. In that case, they were a consumer of what was essentially an API, but one wonders whether Microsoft would be in the position it is in today if IBM had been able to prevent Compaq and other vendors from creating clean-room implementations of what was essentially the IBM PC API.

IBM would have been in a much better position to push OS/2 and supplant Microsoft's OS offerings if it would have had a monopoly on the PC's supporting it's PC interface.

Microsoft has a license to the UNIX APIs from AT&T via Cal BSD.

I'd imagine that was a Ballmer-era policy. I would be interested to see if there's anything like that coming out of Nadella's Microsoft (keeping in mind that Nadella's Microsoft hired the guy behind Mono).

They mean "destablilize" as in "the fat pigs at the top will lose power", which is incidentally what everyone else wants.

> Oracle is such a shit company

Oracle is a parasite, milking the innovations of years ago through customer lock-in and aggressive litigation.

They are a black hole in the tech ecosystem, extracting hundreds of billions of value for themselves, profiting from open source while contributing very little back to the community.

If they win this lawsuit it will be a dark day for innovation and a big loss for shared knowledge and progress.

fsharp |> welcomes all alienated Java veterans and newbies with open arms!

If you don't like maven, you're going to need a padded cell when you move to nuget.

Paket makes dependencies a bit more reasonable, though


But I agree, even Yarn/npm is better than the current state of dependencies for F#

Yep. Love Paket. Wholeheartedly recommend it.

I really like maven, so if there's an even more maven-ey thing around then sign me up.

nuget is frequently disparaged even in the C# community. I personally would say Maven is much cleaner, if also a bit more strict.

Is it still painful to do F-Sharp on Linux?

I played with F# on Linux last weekend - using Visual Studio Code. That + the plugins makes it workable - the development experience is not as smooth as I would want it to be:

- Paket keeps checking for new version on every build request with no way to switch that off to my knowledge

- There is no easy way to run the executable without dropping to the terminal (Ctrl+Shift+P -> fsharp doesn't show a "run current" or anything similar).

- The go-to-definition functionality doesn't work; highlighting and pressing f12 doesn't do anything (though hovering pointer on a function shows a tool-tip for what its worth).

The build works fine, syntax highlighting works, linter works well too. Not very sure if I should spend more effort to develop a full application (I want to build a REST api) because my target deployment platform is Linux and I'm not sure if F# on Linux is production ready or not (genuine concern and happy to get feedback on it).

Any good walk throughs for fsharp on coreclr with vscode?

Maybe he is an asshole, but at least Larry Ellison didn't build a company to spy on half the planet like Page & Brin.

> Maybe he is an asshole, but at least Larry Ellison didn't build a company to spy on half the planet like Page & Brin.

The toolbars and other crap which the JRE installer / autoupdater tries to sneak on to unwitting users' systems ARE spyware.

On one hand, it was Sun that introduced that idea.

On the other hand, Oracle seems to have embraced it.

He failed to make half the world use his company's products, among other things.

BTW I'd appreciate if you gave an example of a highly successful and ethically impeccable company.

>ethically impeccable company

First of all this is moving the goalposts significantly and is also an impossible standard. I would say that Apple and Microsoft are more ethical than Google but the question is of course along what axis?

It's easy to hate on big companies for one or 2 publicly criticized decisions, but never know the thousands of non public decisions that made that choice the best one, or the thousands of non public stories of the good stuff they do.

Not to say companies should get of easy, but you can't project a huge multidimensional entity into a single axis of ethical or not.

TBF, GP was shifting goalposts in turn. Whenever you hear anything like, "Alice did X, but at least she's better than Bob who did unrelated thing Y" you know the goalposts are being moved (at best) or your attention is being misdirected nefariously. It doesn't add anything valuable to the discussion.

Perhaps, but I think that's closer to poisoning the well. Google don't have to be moral to deserve legal representation but since they are far, far from moral it does mean I won't count it as a moral victory when they win a court case.

Embrace, Extend, Extinguish[1] Microsoft?

[1] https://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish

Do you know any other way to personalizing search results, making the search results by analytics and even creating a search engine company without putting ads on the page?

Anonymity is one thing but there is no other way of solving this problem without collecting user's data.


Google was ethical under Brin, and it showed when they pulled out of China. None of their units shared data, they had a solid privacy policy. And their main business was search and ads vs. profiling. When Page took over they completely changed course.

Brin wasn't the CEO, that was Eric Schmidt.

  He failed to make half the world use his 
  company's products, among other things.

Ha, pretty ironic statement, considering the CIA was Oracle's first real customer: http://www.businessinsider.com/the-cia-made-larry-ellison-a-...

EDIT: downvoted for pointing out facts...?

Oracle is at that stage where they didn't invent or do anything right in the last 5 years but try to get money from lawsuits.

This is actually not true. Their cloud offering is doing really well. There's some impressive figures here:


A more trickily written article you could not find. Oracle is busting their humps to get major ESC on their clouds but they've missed the chance on some of the really outlandishly big fish.

Time will tell if they manage to met BofA or a similar ultrabig FI and that could be called a success, but short of that all they can do is pay folks to write wrongheaded quarterly analysis and say "gosh isn't this better than Amazon?"

Which is totally absurd. Comically so.

And from the perspective of actually using their tech, you're better off scooping a mug of old compost and dumping it in a sizzling pan of oil and letting the oil spatter burn you. It will be a more enjoyable experience.

Growth rate is a nonsense metric. If you're starting from nothing and invest a shitload of money in sales you'll have an amazing growth rate. IBM and Oracle are both way behind azure, google and aws.

I have a friend who works at IBM he tells me that IBM uses Google cloud for some of their stuff. The irony when you are a cloud provider but use another service.

I mean, that in and of itself ain't really ironic. Lots of cloud providers out there just resell abstractions around / improvements upon other cloud providers. Cloud66 is one with which I'm familiar; their whole business model revolves around wrapping AWS with CloudFoundry-like deployment mechanisms specifically for Ruby codebases (and Docker containers, but I never interacted with them in that capacity).

Yes, and note that IBM do a lot of Oracle support.

>"The figures come even though--as mentioned in the earnings report headline--Oracle's SaaS/PaaS revenue rose 77% in dollars and 79% in CC, totaling $798 million "

$800 million from their cloud offering in a single quarter is nonsense?

Maybe not, but that number doesn't tell the whole story. This is revenue. How much are they spending on R&D, infrastructure, marketing, etc. for their cloud business? How fast is that spending's growth in relative to the revenue?

Just like IBM is the leader in cloud solutions, did you hear? It's smoke and mirrors to make sure that when the next quarter rolls around, they have some growth to show in what the market believes is "the next big thing".

IBM is such a leader in cloud computing that they have their employees use Box instead of SoftLayer. Any company that can't even eat their own dog food are incompetent and should be avoided.

I'd view their numbers with some doubt, given that there has been a whistle-blower lawsuit related to it: http://www.reuters.com/article/us-oracle-lawsuit-accounting-...

From what I've been told by a contact in their database sales team is that there pipeline for on-premise licenses is drying up quickly but their SaaS business is doing well.

Just to add a little nuance - the difference is in flow vs stock of customers. Very few existing EBS customers are reimplementing in Cloud because of the time, cost, and loss of customizations. It doesn't make sense.

New customers are being forced into Cloud by the Oracle sales team. The sales reps literally receive no compensation for on-prem (EBS) deals, and they must go through a lengthy approval process just to offer a prospect the on-prem solution. Thus everyone is being guided to Cloud, whether or not it is the right solution for the customer.

> Very few existing EBS customers are reimplementing in Cloud because of the time, cost, and loss of customizations.

Also, maybe Oracle's "lock your customers in and then extract as much profit as possible" history is guiding decisions? If there's a rearchitecture cost to migrate to cloud, then why would you do it with a company who already $&#@ed you over?

The exception is if they peddle a Sun hardware solution. They will be slobbering like a dog with a bone if you show any interest.

> pipeline for on-premise licenses

Sorry for being a grammar nazi, but this one is a serious pet peeve. The singular of "premises" isn't "premise", it's "premises".


Well, as a member of the post-WWII Stasi, I'd like to point out that English generally has no universally accepted authoritative form of the language to which you can persuasively appeal :)

I'm not sure that's correct. The pluralization is for licenses not on-premise.

Either way "on-premises licenses" sounds weird so I'm likely to stick with "on-premise licenses" regardless. Sorry.

Premises (singular) is a location. He was on the premises.


Premise (singular) is a presupposition. The premise is that we can get this done in 3 weeks.


I agree, it sounds weird. I'd avoid it all together and use on-site.

Edit to add: or, as uncle-comment (?) pointed out with the Wikipedia article, on-premises software is a thing. On-prem might be a good compromise, depending on your penchant for shortening like that.

Either way "on-premises licenses" sounds weird so I'm likely to stick with "on-premise licenses" regardless. Sorry.

Downvoted for expressing contempt for the English language and common decency, but then failing to add in the obvious "irregardless."

> ...pipeline for on-premise licenses is drying up quickly but their SaaS business is doing well...

I hear they are desperately pushing new cloud offerings, but they are having lots of problems with customer retention, as their cloud technology is really not ready so they are actually just selling hosted versions of the existing products that lack any cost advantage.

> they are actually just selling hosted versions of the existing products

Ha, if that were true, it wouldn't even be that bad. In the niche I work for, what they sell is not even as powerful as their existing on-premises product.

Not that it matters: they simply won't sell or even develop new on-premises, so you either go to their crappy cloud services or you just migrate away. There are now entire companies based on "move your existing Oracle solutions to our product with the minimum fuss and enjoy real power, not a cut-down version of what you already had three years ago".

That explains a lot about their recent behavior, e.g. dropping Solaris. If everyone is consuming their software over a network, it doesn't matter precisely what it's running on any more (so even if Oracle DBs could scale better on Solaris than on Linux or a BSD, a 1.3x SaaS shared-cluster size costs less than an OS development team.)

They're not dropping Solaris. They're instead changing the release model:


Personally, I'd say this is similar to Microsoft's decisions around Windows 10.

And that is what they call spin. Didn't they fire the people who write it?

No, they did not. How do I know? Because I'm still working on Solaris almost nine years later along with many others. Same manager, same projects.

Staffing levels in some areas was changed as was publicly announced.

See also http://www.esteem.co.uk/news-events/oracle-solaris-whats-goi...

Disclaimer: these are my opinions and not those of my employer.

Sorry, it was reported that the job losses at Oracle were from the Solaris team. I read the memo from Oracle on Solaris 12 and was (and am) completely unconvinced by it, but maybe I am just cynical. I am still moving away from it as fast as I can convince the board to back me. Good luck on the Solaris team, some good things could come out of it (with some open source licensing). Oracle could do themselves some serious reputational favours by staying out of court.

Only 5 years? Seems like it's been longer than that

they have graal, sulong, I also cloud is doing fine :)

The entire software industry should be boycotting Oracle over this case. If they win it will ruin software development in the US.

Except that Oracle has become so successful because they've captured the largest customer(s) of all: the US federal government.

Well isn't that a coincidence. Extracting money through state granted limited monopoly rights and lobbying for big government contracts at the same time. Oracle is really living the crony capitalist dream.

One coyld also argue the opposite: if Oracle wins, lawyers will start burning the software industry to the ground to an extent such that US lawmakers will be forced to reform copyright and patent laws.

Let's slap a great big IANAL on this before I start:

The fair use decision was wrong. It relied on a fundamental misunderstanding of the term transformative where the use of the code was considered rather than merely the implementation. So Oracle has a huge case here.

Moreover, practically it doesn't matter. Even if fair use is established in this case, the door has been left wide open to hordes of API copyright trolls. If you thought patent trolls were bad, you ain't seen nothing yet.

If you care about the economy, the only sensible outcome would be that API surfaces aren't subject to copyright. Sadly the horse has bolted a long time ago.

There is a long history of the API around chips not being copywritable. EX: The IBM clones needed 1 chip that at the time was not off the shelf. So, people figured out what it did then implemented that.

Method signatures would appear to represent the same situation because the chip needs to respond correctly not just respond to those inputs.

If implementing an interface is against copyright, then every Java program is infringing on Oracle's copyright.

This is a very good point. Oracle (or any other platform owner) may not be suing you for license violations now, but give it time...

No because the Java license lets you do that.

If having your lawyers read the license is the requirement to using any programming language...

I don't think that Florian Mueller is an unbiased source, he was paid by Oracle while the trial was happening

Well if you could point me to an unbiased source trying to argue the other side of this question, then sure. I really want to know both sides of this issue and it's nearly impossible to find someone separating the quintessential geek love for Google and geek hatred for Oracle from the facts of the case other than Mueller.

Honestly I'm all for liberalizing copyrights and fair use but it makes me mad to see Google going around ripping off everyone else's tech and then claiming fair use when they get sued. The fair use defense is not meant for multi-billion dollar multinational corporations that tried to shirk licensing by violating copyrights.

Furthermore I find it particularly hilarious that everyone thinks Google fights against copyright with the purest of intentions when it seems transparent that less restrictive copyright is in their direct business interests.

> The fair use defense is not meant for multi-billion dollar multinational corporations that tried to shirk licensing by violating copyrights.

Just because a giant company wants to be paid, and another giant company could afford to pay them, doesn't mean the bill was justified. Huge companies get access to fair use too. It's the flip side of the fact that noncommercial uses are capable of infringing.

>Just because a giant company wants to be paid, and another giant company could afford to pay them, doesn't mean the bill was justified.

That's not at all what I was saying. All I was saying is that their usage is very clearly not fair use. That is all.

The problem seems to be that we're stuck with a poor decision earlier down the line -- allowing the idea that an API, rather than an implementation, can be copyrighted -- and now other courts are trying to undo the damage by making sure nobody will ever really succeed in bringing an API-infringement case.

My comment was a direct response to the idea of "shirking licensing". Yes, they wanted to avoid licensing. But that does not imply the license was ever legally necessary.

> very clearly not fair use

Very clearly? I don't think so.

> it's nearly impossible to find someone separating the quintessential geek love for Google and geek hatred for Oracle from the facts of the case other than Mueller.

But you can't separate the facts from the quintessential paid love for Oracle and the paid hatred for Google of Mueller.

And exactly what tech has been ripping Google?

>But you can't separate the facts from the quintessential paid love for Oracle and the paid hatred for Google of Mueller.

Sure, which is why I was asking you for someone arguing this who was more impeccably non-biased. I realize that some opinions in arguments do not deserve being argued for, such as mass genocide, but I don't think this case is as clear cut and it's a little disturbing to me that the internet was so universally aligned with Google and against Oracle on this one. I just like seeing a little diversity of opinion, that's all.

As for what tech Google rips off, I think that's well established. They clearly had no intention of paying for a license in this case, so they wrote the code first and decided they'd deal with the consequences later. They did this when they copied the iPhone interface for Android too, and they also did it when they created Gmail Inbox which again is substantially similar to Mailbox. It's just sort of their MO.

Google has done a lot of very inventive stuff but it seems obvious to me that they walk a tight line between creating new things and copying old ones from time to time.

Microsoft Legal seems to agree with Google on this due to there's interaction with Wine emulation software which directly costs Microsoft revinue.

https://en.m.wikipedia.org/wiki/Wine_(software). Microsoft has not made public statements about Wine. However, the Microsoft Update software will block updates to Microsoft applications running in Wine. On 16 February 2005, Ivan Leo Puoti discovered that Microsoft had started checking the Windows Registry for the Wine configuration key and would block the Windows Update for any component.[95] As Puoti noted, "It's also the first time Microsoft acknowledges the existence of Wine."

That's about as unbiased as you can get IMO.

> Sure, which is why I was asking you for someone arguing this who was more impeccably non-biased.

Ars Technica, for example

FWIW here's my attempt, largely written after the appellate court made their ruling: http://www.zerobugsandprogramfaster.net/essays/x-1.html

In their ruling, the appellate court said that Oracle would likely win the fair use argument. Of course, that can change.

>Is the software world broken now? No, it's not.

Thank you so much. This is such a reasonable overview compared to all the FUD about the software world being broken overnight.

> Even if fair use is established in this case, the door has been left wide open to hordes of API copyright trolls

FYI, this is not actually the case; this case established no precedent for copyrightable APIs.

Because of the history of this case (it originally involved patents as well), it was appealed to the Federal Circuit, which doesn't normally handle copyright cases.

This was a gift for Oracle since the Federal Circuit loves expanding IP rights, but also helpful to the rest of us because the Federal Circuit has no jurisdiction over copyright cases. Future copyright cases will go up through whatever circuit you're in, which will not have to treat the Federal Circuit's ruling as precedent.

Anyone can make any case appealable to the Federal Circuit just by throwing in any claim arising under the patent laws. You can add an obviously bogus and unrelated patent claim in initial filings and then drop it in pre-trial and still guarantee biased CAFC jurisdiction.

You could probably force a random criminal trial into the CAFC with a little creativity. It's really easy to go to CAFC if you want to. And if you're abusing intellectual property law, you really want to because they're corrupt like a Venezuelan payday loan used car dealer.

Okay, either I'm crazy or everyone else is. Assuming the court isn't trying to set a new precedent with regards to software it seems like Oracle should have easily won this case. There is an argument to be made that APIs shouldn't be copyrightable but surely it's not fair use -- Google's use of Java doesn't even come close to meeting the criteria.

This is tricky because if you declare any API no matter how trivial copyrightable then the first guy to copyright a function to compute sqrt, tan, atan, etc wins. And if you can't copyright trivial interfaces then the question becomes where the line is drawn.

There's far more at stake than Oracle trying to squeeze money out of Google.

I completely agree, but I don't really know what to do about it. Surely a document describing a useful software interface (GUI, CLI, API) is a creative work and takes effort to produce. Unless we just agree that it's a necessary exception for the purposes of interoperbility I'm not sure how I would argue that it shouldn't fall under copyright protection.

Copyright would apply to the documentation itself, or the published header files themselves, as works; it wouldn't apply to the API itself.

Mind you, Oracle was suing Google for using the header files themselves; since Google could have easily just typed up their own versions that did the same thing, it's almost more of a "plagiarism" case than a "copyright infringement" case: they shipped something that was exactly from Oracle, rather than just paraphrasing it. Oracle was probably in the right to sue over that.

But re: APIs—there's much more well-resolved case-law for this, coming from the gaming vertical: games have copyright, but game designs (including things like their network protocols) do not. It has both pros (Microsoft can't use the Minecraft IP to sue Terraria or Factorio; people can advance AI by writing bots that play Starcraft) and cons (the iOS and Android stores being saturated with mechanical clones of each successful game) but it's very certainly "the way things are."

>it's almost more of a "plagiarism" case than a "copyright infringement"

Do you know what the definition of plagiarism is? Google it, "copyright infringement" is listed as a synonym.

Actually, plagiarism and copyright infringement are different things. For example, it is possible to plagiarize something that is not copyrighted, and many forms of copyright infringement wouldn't fit the definition of plagiarism.

True, but the parent seems to think they wouldn't have been plagiarizing if they had "paraphrased" the declaring code so to speak, which makes the relationship here explicit. If they had paraphrased the declaring code, it would have been much harder to say they were infringing on copyright, but instead, they copied it verbatim.

Of course, in academia paraphrasing is still plagiarism, but it is likely no longer copyright infringement especially in this case.

> Of course, in academia paraphrasing is still plagiarism, but it is likely no longer copyright infringement especially in this case.

That seems an odd thing to say. A significant portion of academic writing is paraphrasing, with attribution. What is a review article, other than attributed paraphrasing?

With attribution, definitely ok, but some think paraphrasing is enough to make it wholly new. Hell, you can quote verbatim if you attribute.

I'm not 100% certain of all the details but isn't that exactly what Google tried, and failed, to assert originally? If I remember correctly, the 'fair use' argument only came up after Google lost on the 'can't copyright an interface' argument, and the real travesty here is not that Google are being denied fair use (because, you're right, it's not fair use), but that Oracle's copyright claim over the Java API ever held up at all.

There are two philosophies of copyright. One, that people/companies have a moral right to control their creative output, and the other, that copyright should be granted sparsely when it has a positive impact on society, such as promoting the writing of books.

Since APIs are a byproduct of software development, it is hard to see how it should be copyrightable under the second stance, but easy for the first.

Perhaps granting copyright, but setting precedence that basically any use is fair use, is a good compromise.

> Surely a document describing a useful software interface (GUI, CLI, API) is a creative work and takes effort to produce.

Sure, but they didn't copy said document. Comments, documentation etc. were not used. Implementation was not used.

The things that were the same were the method signatures and side effects. Is that copyright? I would argue its clearly not.

Someone should write a program that generates all possible function names and argument types and declares them copyrighted, then release them all to the public.

You could, by a similar method, generate all possible images but that doesn't mean you would be able to copyright them all. The creative element would become the act of identifying specific images within your set with artistic merit -- those would be copyrightable.

Nope, there is no "merit test" for copyright. Copyright attaches when the creation is fixed in tangible form.

You're right. Sorry, merit is a loaded term in copyright discussions. I don't mean that they would have to argue that their choice of images has artistic merit, but that the artist would probably think it does to pick it out of the billions.

It's not a "merit test", it's just "these are the ones the artist chose".

Copyright attaches to creative works when they are fixed in tangible form. An exhaustive list of every combination of colors in order is not creative.

That list wouldn't be copyrightable, since it contains no creative elements.

After the original trial verdict was overturned by the appeals court, I joked about copyrighting every single signature I could think of for print functions so that I could claim royalties from virtually every program in existent.

I understand the logic of saying that the API itself is a creative work and should be copyrighted. Creating a solid, logical API structure isn't simple.

But I believe the API signature itself (function name, argument types, return type) should not be copyrightable, in the interests of the industry as a whole. Google didn't steal the implementation, they just reused the same function signatures to make their drop-in replacement of the JVM work with existing software.

If developers can't even have the API signature without being sued, you are seriously hurting competition. It's just reality.

But, and I think this is really the main point, Google didn't just use the API signatures they used the API documentation to preserve the semantic meaning of those signatures which are necessary to make the API actually useful.

I think Google could argue very successfully that literally just the API signatures should fall under fair use but that's not really what this is about.

If I make a menu with the same items that your restaurant offers, it shouldn't be an issue of copyright, even if I preserve the "semantic meaning" of the menu items (copying the recipes, for example.)

The semantic meaning of the signatures IS the API. The whole forms the interface. This includes bugs, weird behaviour, shortcomings.

Right! That's why I believe that Google's claim that it was 'just the method signatures' doesn't really hold up since they took not just the statement of the interface, but what each part does and how they interact. The only part Google didn't take was the source describing how to do it.

> but what each part does and how they interact

That's not copyrightable, though. Maybe patentable, but that's a whole other can of worms.

Oracle is in no way correct. Putting ridiculous barriers on software MADE FOR making software is ludicrous. Google is not making money because of the APIs, they simply used them because they already existed. Copyright is in a sorry state as it is. This IP nonsense is nonsense.

Google was found in violation of copying some source code if I am not mistaken, but this is about whether the concept of an API itself should be copyrightable, (how many ways can you write an API for a function that adds two integers together?) and that's the big problem here. If handled badly, it can literally kill the software industry.

What I don't get is Oracle not realizing that this could kill their SQL business if IBM decides to do some suing.

That source code was a 7 line range check method that was developed by the same developer that coded it for Sun (Joshua Bloch)

Yeah, I am not saying that I agree with it, just stating the facts.

I mean the courts aren't exactly robotic in this sense. It has to be a creative work, for the same reason you couldn't try to copyright a trivial sentence you wouldn't get copyright protection on a method description that adds two numbers. Also, it's the whole work that's copyrighted, not its individual parts. It's not that Google just borrowed a few method signatures, it's that they took all of them along with their relationships and meanings.

You aren't wrong, but the fear is that copyright trolls would immediatelly take massive advantage of this new opportunity as well as that it could have a chilling effects on open-source projects.

Even if eventually found to be in the right, a random guy with a GitHub repo is not going to have the resources/will to effectively defend himself.

Courts in a common law jurisdiction (like the UK and US) don't have to try to set a precedent, each ruling tends to set a precedent. That is what makes common law common, the same law is applied everywhere, so any new ruling would be applied everywhere. This is exactly why judges avoid making rulings that would set a new precedent! I hope I haven't oversimplified a complicated subject!

Why wouldn't it be fair use? What exactly is your understanding of what the criteria are?

* Purpose of the use -- Gogole's use wasn't transformative, in fact it was explicitly the opposite.

* Nature of the use -- Google could try to argue that their use was for the public benefit, but since the Android platform exists for business interests it probably shouldn't qualify.

* Amount and Substantiality -- Google basically took it all. There's no case here. They took not just the signatures but their semantic meaning (i.e. the thing that makes an API useful) as well. There's really not much else to an API design document.

* Effect on the market -- This one should be obvious. This directly hurts Oracle. Their implementation diminishes the market for the original. At least that's what their lawyer claims.

> Google concedes it put that code to the same use in the competing Android platform, for what this Court already has deemed "entirely commercial" purposes. And Google reaped billions of dollars while leaving Oracle's Java business in tatters.

The work Oracle copyrighted (and registered) was their implementation of Java SE as a whole, method bodies and all. Google copied only the interface.

If someone copies a paragraph of my novel and claims fair use, I won't get very far on the amount-and-substantiality front by saying "but they basically took all of the part that they copied".

> If someone copies a paragraph of my novel and claims fair use, I won't get very far on the amount-and-substantiality front by saying "but they basically took all of the part that they copied".

It's more like they copied the whole table of contents and rewrote your novel in their own words with all the headings copied verbatim. Good luck with claiming fair use on that.

I think it depends if you consider the part that was copied to be a standalone work. The fact that Google is able to create a separate implementation based only on the API design documents seems to suggest that it's a separate work that has meaning unto itself.

Would you make the same argument if you copied the entire forward from a novel?

A foreword is a lot more substantial all by itself.

Imagine if they copied the index of a textbook. It's possible to create a complete and compatible textbook using only that structure, but very few people would call it a separate work that has meaning unto itself.

In that case I think I would try the argument. But if I were on the jury I wouldn't be thinking "there's no case here".

If I understand how appealing jury decisions works, it isn't going to be anywhere near good enough for Oracle to argue that a reasonable jury might have decided the other way.

Your argument begs the question. You might as well argue "The fact that you were able to write a new novel around the word 'the' that you copied from my novel seems to suggest that the word 'the' is a separate work that has meaning unto itself."

> At least that's what their lawyer claims.

Of course he would, that's his job. How does Android "directly hurt" Oracle?

I can tell you what the lawyers for Oracle claim. I'm not going to do the research to see if their claims are true, though, you'll have to do that.

1) Oracle claims that they had contracts for a lot of "Java in TV" (presumably J2ME) with manufacturers, who later switched to Android.

2) Oracle claims that they had contracts with auto companies for Java in cars, dashboards and such, and those later switched to Android.

3) Oracle claims that Amazon got a discount on Java in the Kindle due to pressure from Android.

4) Oracle claims that they lost and * and as customers. I don't know who those customers are, they were redacted in the appeal.

5) Oracle claims that J2ME (they don't say J2ME specifically) was in ~80% of phones before Android, and Android took that marketshare.

6) Oracle claims hypothetical damages from being prevented from entering the market, because copyright law allows you to claim hypothetical damages.

Those are the Oracle claims.

I think it's Spivak's burden to back up his claim, not mine to falsify the claims of Oracle.

> They took not just the signatures but their semantic meaning

What's the difference between the signature of an API and the semantic meaning?

If you write a function int makeHash(int) which computes a trapdoor function, and I write a function int makeHash(int) which prepares breakfast and returns a status code, then they have the same signature but different semantic meaning.

But in the case of API's, the signatures and the semantic meaning are the same

I'm really looking forward to the next 5 or 6 years, when all of the software patents created in the 90s and 2000's expire. It can't come soon enough.

If only this had to do with patents. Oracle is claiming breach of copyright - which lasts over a hundred years.

They originally claimed patents too, which is why this keeps going to the federal circuit instead of the 9th, who would have ended this silliness

Huh? "The 9th [circuit]" is a Federal circuit court...

The terminology's confusing, but there's a court named the Court of Appeals for the Federal Circuit [1], even though the term "federal circuit court" also colloquially means the Courts of Appeals in general. This Federal Circuit is a non-geographical Court of Appeals, separate from the 11 numbered, geographically based Courts of Appeals, and has exclusive jurisdiction over patent cases (among a few other things). They also have a reputation of being very pro-IP-plaintiff compared to the courts in general.

[1] https://en.wikipedia.org/wiki/United_States_Court_of_Appeals...

Ah, so the "Federal Circuit" is another court at the same level as the other circuit courts that doesn't have a number associated with it. The choice of abbreviation is confusing to say the least.

Or wait until some conglomerate lobbies hard enough to make software patents last as long as the copyright on Micky Mouse.

Oh dear God please no

Oh yes. Disney will never let Captain America or Mickey Mouse expire.

Is Oracle the biggest troll in Silicon Valley right now? Can't think of anyone else that would claim the title. Maybe Theranos.

> Is Oracle the biggest troll in Silicon Valley right now? Can't think of anyone else that would claim the title. Maybe Theranos.

I'm not aware of Theranos being a troll. Fraudster for sure, but troll has a different meaning.

At least Oracle has actual products though. I don't wanna stick up for Oracle by any means, but comparing them with theranos just ain't right.

I got a sales call from Oracle out of the blue a few weeks ago. I have no idea what brought my company to their attention.

I explained to the sales person that I am an Oracle-certified DBA with years of experience managing Oracle servers. I then told him there was absolutely no chance I would ever recommend switching to Oracle. In answer to his questions, I explained that I could not trust Oracle. I don't mean Oracle the RDBMS, I mean Oracle the company. He should be able to understand the need to trust your RDBMS. It would be crazy to use RDBMS software with you data if you didn't trust it. I think it would be crazy to trust a developer with your RDBMS if you don't trust the developer.

I don't want to make sure I have the right lawyers and all my legal ducks in a row to battle Oracle for the heart and sole of my company (what company doesn't have data at its core these days?). I want to solve problems and create great things. I want partners in that effort who I trust. I don't trust Oracle. They do not want what is best for me. I don't want to end up as roadkill on there quest to be more profitable. I'd rather work with those who think that my success is their success.

Oracle should stop that, in my opinion. That attitude could kill Java in the long term.

One wonders how much the taint of Java factored into the decision to invent Go.

My impression is that the Go team had two targets, both based on languages in common use at Google: C++ programmers, and programmers using languages like Python who wanted more type safety but didn't want to use a language with a massive ecosystem.

I might have misunderstood the last part. Why would anyone not want a massive ecosystem with their language? You can always ignore the ecosystem while retaining the option to change your mind later.

Not much actually, the developers of Go mainly wanted shorter compile times than C++ offered.

Pretty sure different people wanted different things. Some people certainly wanted better concurrency.

Sure, that too. Both of which however had little to do with Java.

There is nothing on GUI side in Go and it does not seem to be priority of core team.

Oracle is starting to remind me a lot of SCO:


That hasn't worked out well for them.

IMO, successful technology companies do not correlate with the value dollarsSpentOnLitigation/overallRevenue.

I think selling ORCL and buying QQQ will be a profitable trade in the next 5 or so years.

Another thought too: Oracle kicking the hornet's nest on this may end up being a "good thing". Their verdict was dubious at best, they might get overturned and lose even more ground and $.

Is there anyone that's not on Oracle's payroll that sides with them on this case?

You aren't going to like the answer to that question, but the appeals court seems to favor Oracle in this case.

They specifically said that Oracle had a strong position, but that they were required to give Google a chance to present full evidence on the fair use issue.

I'm suspicious that Oracle winning would be such a bad thing in the long term. Lawyers would go nuts and start hurting IT companies, for sure. But the bleeding of angry voters who lost their jobs or their millions would then hopefully convince US lawmakers to reform their country's inane IP and patent laws.

Microsoft probably wouldn't mind Oracle winning.

Someone made a great point about the WSL (Linux) layer in Windows in this thread.

They would be the real winners since it would slap both Google and Oracle.

The sequence, structure and organization of those method signatures, in those 37 Java packages, were all GPL'd in the OpenJDK in 2007 by Sun. Regardless of whether API's can be copyrighted or not, Google had every right to use the code Sun GPL'd.

Google didn't use OpenJDK, they used Apache Harmony implementation

That's true, but the availability of OpenJDK (which, after all, Google have now switched to) weakens Oracle's argument on the "Effect on the market" factor.

But OpenJDK is GPL. If Google licensed their Android Java as GPL, I guess they'd be OK. However, Google's Java is NOT GPL.

If the "structure, sequence, and organization" of APIs is a copyrightable work in its own right, then couldn't Google make a GPL-licensed derivative SSO (Android's API) but put their implementation under a separate license? Has anyone done a legal analysis of how the GPL's copyleft provisions would apply to this new kind of copyrighted work?

No. Everything that gets linked to GPL has to be GPL.

That's not true. OpenJDK is licensed under the GPL v2 with the Classpath Exception.

The Lesser GPL exists solely to allow linking to non-free programs.


FYI, Classpath exception does not remove GPL from OpenJDK, or enable anyone to create a non-GPL JDK. It allows you to create Java programs that are themselves not GPL.

Well, they used the license used by Apache Foundation when they developed Apache Harmony.

They couldn't change the license

I hope google just abandons java altogether if this is gonna continue.

It might put off not just Google, but also other companies using Java.

And I sort hope it does.

While that could be a great direction I'm not so sure about its implementation. You'd have to create a new set of APIs accessible to another language to work with Android and then convince people to move codebases that have existed for years at this point to a new language.

Granted they can work to make bridges, support both, etc but if the ultimate goal is to transition it's going to take a very, very, very long time.

But I'd love to see what they would come up with for this hypothetical transition :)

I suspect that they are preparing such a jump, at least as a trump card for Android.

There are only a few details about this, but some googlers are working on Fuchsia, a new OS for constrained devices, with apps written with Flutter.

Flutter can also be used to write Android apps by embedding its own runtime in the apps. In both cases, apps are written in Dart.

This would be a huge transition though ... it means rewriting the apps from scratch in another language with a completely different tooling.

Maybe, this is a little bit off-topic.

But anyone, who tried to use JetBrains IDEs on Ubuntu, might have faced the problem uglier font rendering with OpenJDK and the fix to it is to use the JDK from Oracle.

I thought the different with OpenJDK was largely about the licensing. Anybody with some insight on it ?

The closed source JDK has quite a few components that aren't the same as the OpenJDK.

For example OpenJDK 9 will get a new Java 2D render, due to the differences between the two that were in use http://openjdk.java.net/jeps/265

This is turning into the Bleak House of copyright cases.

Just as I thought this is over, Oracle just threw another curveball. I feel this will be upheld but never know with these courts.

How does OpenJDK stay out of violation if Oracle wins? Doesn't OpenJDK basically copy the API as well?

Oracle owns copyright on OpenJDK, so it can't 'violate'.

Maybe more precisely, if you regard the API in question as copyrightable, Oracle has clearly licensed it under GPLv2 plus the Classpath Exception.

Also, the issue of copyrightability of the Java SE API has already been definitively decided in this case, in Oracle's favor.

OpenJDK was created by Sun.

Code for OpenJDK can run unmodified on Oracle Java.

Code for Android Apps contain unrelated public APIs so cannot run on Oracle Java.

What does copyright law care about software compatibility?

Some just never learn. Oracle is a massive troll.

I really hope they win just because I hate using java for android development. Maybe if they win we'll swift will become the native language.

Agreed, but I do find Kotlin[1] to be a good compromise in the meantime.

1 - https://kotlinlang.org

Fuchsia can't some soon enough.

I hope Oracle wins. The sooner Java dies, the better.

Are you that hateful of Java that you are blind to the implications of an Oracle win?

It won't be just Java 'dying.'

Let's assume Oracle wins on appeal... What's next? Is everyone suddenly writing .Net code? Or are we left to find languages with lapsed copyrights? Fortran IV and Snobol are the new hotness! Everyone in to the pool!

It depends on the details of the ruling (the court could decide to pass such a narrow judgement that it only affects Oracle). Here is an analysis of how the rulings (up until now) affect the software world: http://www.zerobugsandprogramfaster.net/essays/x-1.html

Languages without a corporate owner.

JavaScript is right out. There's such a mish-mash of API owners there that it will give decades of court cases from copyright trolls.

This is one of the most important tech cases in history. Oracle is on a fast-track to destroying the software industry with it.

Oh don't worry, Oracle are one step ahead with JavaScript. They launched this Twitter account last week: https://twitter.com/javascript .. and for a week they posted loads of Java stuff on it and haven't failed to point out in replies that they own JavaScript's trademark. The picture of their headquarters is also a nice touch.

Well, Google started it when they tried to avoid paying Java SE license to use it in embedded devices.

For example, the guys from MicroEJ did the things the right way and don't have any issues with Oracle,


Good luck finding those.

Even Fortran, C and C++ compilers depend on the work that a few corporations like Apple, Google, Intel, Microsoft,... put working on the compilers and sending employees to ANSI meetings.

Our laws governing software are so fundamentally broken already lol. It doesn't matter anymore.

This is not helpful. Specifically, petulance will not lead to improvement.

To that end, do you have any suggestions on making things better? Do you contribute to any organizations that are trying?

I still don't understand why Google did not buy Sun Microsystems. They hired a lot of the staff anyway, and could have avoided the lawsuit.

Hiring the staff and handling the lawsuit - Google has their own in-house law firm anyways - has likely worked out to be cheaper for them than buying Sun Microsystems would have been.

Yes, but the downside on a lawsuit if Oracle prevails will be much worse.

Imagine, if you will, all that Sun IP in the hands of Google instead of Oracle. ZFS might have gotten a license friendlier to Linux, Solaris could have stayed open source, and I would put money on Google having spun Java out into a completely open foundation that wouldn't have done what Oracle has done with new EE versions.

It's $7.4 billion they didn't need to spend. The legal fees are a fraction of that.

So edgy.

Curious to hear your reasons for calling Red Hat a dark horse. (Which I presume is some kind of slur/holds a derogatory meaning)

We detached this subthread from https://news.ycombinator.com/item?id=13624340 and marked it off-topic.

It's actually not derogatory: "A dark horse is a little-known person or thing that emerges to prominence, especially in a competition of some sort, or a contestant that seems unlikely to succeed."


"Dark horse" isn't a slur or pejorative in general. It's roughly equivalent to "long shot" or "underdog" or something like that.

Per wikipedia: "A dark horse is a little-known person or thing that emerges to prominence, especially in a competition of some sort, or a contestant that seems unlikely to succeed."

In this case I would imagine it's because Red Hat is pretty tiny compared to IBM/Google/Oracle and could not put up a comparable amount of money for the purchase.

Dark Horse is the horse in the race nobody thinks has a chance of winning, but comes out near the front in the final seconds (surprising everybody). You could've just Googled it.

my goodness, this is probably not a native English speaker, or perhaps never heard the expression before... why be so harsh?

Not understanding is fine: assuming that something one doesn't understand must be a slur is not fine.

He didn't assume but presume. And I think that's quite understandable for a non native speaker, given the connotation of the word 'dark'.

Actually in this case presuming is not understandable, there is no evidence or reasonable grounds to support his statement.

We are on the internet, and online dictionaries exist. There is no reason to presume or assume the meaning of a word when it can merely be looked up.

Dark horse in this context means other companies unlikely to actually buy it, or win the bidding war. Its not any sort of slur that I'm aware of.

dark horse just means not a main favored candidate


Personal attacks are not allowed on HN.

We've warned you about rudeness on HN in the past. Since you don't seem to have done it in a while, we won't ban you, but please remember that it's not ok and don't post like this again.


You weren't hellbanned, but you had violated the guidelines sufficiently to get enough downvotes to become subject to some of the same limitations. We've now banned this account for only posting uncivilly and unsubstantively.

We detached this subthread from https://news.ycombinator.com/item?id=13624326 and marked it off-topic.

> Got hellbanned

HN rarely hellbans, and not in cases like this. I'm not a mod and I'm not speaking for them, but I'm pretty sure they usually warn first, and that they announce bans.

You haven't been banned. You have been i) heavily downvoted and ii) not upvoted.

> Internet comments fundamentally suck

No, internet comments are fundamentally sound. Unfortunately, a few people fundamentally suck and ruin them for the rest of us.

You could check out the YouTube community. Might be more to your liking.

Your account is a month old: If you missed the memo, off-topic and arrogant comments are always voted down.

Edit: I see you took the part with "HN has become a giant circlejerk anyway" down.

Who has better connections with Trump?

Sadly to say, that is not an irrelevant fact anymore. Trump is clearly the kind of president that would reach in to legal rulings he's paid not to like.

What specifically could he do?

Why would he care about two companies he doesn't own? I don't think this is a big concern.

Oracle's CEO is on his transition team, and Oracle is one of the few big tech companies to not publicly support the legal challenge to the travel ban.

Oracle does:

"Oracle's clout will come in part from the presence of its CEO, Safra Catz, who did not join the pro-Hillary Clinton chorus of other Silicon Valley honchos, and who is now working on Trump's transition team. " (http://fortune.com/2017/01/17/oracle-trump/)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact