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.
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"
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.
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.
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%
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.
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.)
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.
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.
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.
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.
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.
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...
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.
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.
- 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.
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...
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
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.
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.
#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.
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().
(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.)
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.
Worked for Sun, MySQL, Sieble, Peoplesoft, etc.
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.
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.
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.
Edit: SAP have a DB called HANA, not HANNA as I incorrectly typed
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.
Worth noting they own MySQL (via Sun acquisition)
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
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.
Oracle's largest asset in this situation is the brand mindshare.
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.
The 10M+ pulls (and 3.8k stars) on Docker Hub suggests that MySQL is still getting a ton of use.
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...
Every public company needs to run Oracle/Peoplesoft or SAP.
> essentially stopping development work on anything that is not directly tied to revenue generation
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.
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.
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.
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.
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.
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.
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.
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.
Java SE, Java EE and JavaME are incompatible. Java was already fragmented by their creators
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.
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.
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!).
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"
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.
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.
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.
But I agree, even Yarn/npm is better than the current state of dependencies for F#
- 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).
The toolbars and other crap which the JRE installer / autoupdater tries to sneak on to unwitting users' systems ARE spyware.
On the other hand, Oracle seems to have embraced it.
BTW I'd appreciate if you gave an example of a highly successful and 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?
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.
Anonymity is one thing but there is no other way of solving this problem without collecting user's data.
He failed to make half the world use his
company's products, among other things.
EDIT: downvoted for pointing out facts...?
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.
$800 million from their cloud offering in a single quarter is nonsense?
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.
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?
Sorry for being a grammar nazi, but this one is a serious pet peeve. The singular of "premises" isn't "premise", it's "premises".
Either way "on-premises licenses" sounds weird so I'm likely to stick with "on-premise licenses" regardless. Sorry.
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.
Downvoted for expressing contempt for the English language and common decency, but then failing to add in the obvious "irregardless."
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.
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".
Personally, I'd say this is similar to Microsoft's decisions around Windows 10.
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.
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.
Method signatures would appear to represent the same situation because the chip needs to respond correctly not just respond to those inputs.
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.
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.
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.
> very clearly not fair use
Very clearly? I don't think so.
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?
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.
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. 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.
Ars Technica, for example
In their ruling, the appellate court said that Oracle would likely win the fair use argument. Of course, that can change.
Thank you so much. This is such a reasonable overview compared to all the FUD about the software world being broken overnight.
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.
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.
There's far more at stake than Oracle trying to squeeze money out of Google.
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."
Do you know what the definition of plagiarism is? Google it, "copyright infringement" is listed as a synonym.
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?
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.
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.
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.
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.
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.
That's not copyrightable, though. Maybe patentable, but that's a whole other can of worms.
What I don't get is Oracle not realizing that this could kill their SQL business if IBM decides to do some suing.
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.
* 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.
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.
Would you make the same argument if you copied the entire forward from a novel?
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.
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.
Of course he would, that's his job. How does Android "directly hurt" Oracle?
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.
What's the difference between the signature of an API and the semantic meaning?
I'm not aware of Theranos being a troll. Fraudster for sure, but troll has a different meaning.
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.
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.
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.
They couldn't change the license
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 :)
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.
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 ?
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
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.
Code for Android Apps contain unrelated public APIs so cannot run on Oracle Java.
1 - https://kotlinlang.org
It won't be just Java 'dying.'
This is one of the most important tech cases in history. Oracle is on a fast-track to destroying the software industry with it.
For example, the guys from MicroEJ did the things the right way and don't have any issues with Oracle,
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.
To that end, do you have any suggestions on making things better? Do you contribute to any organizations that are trying?
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.
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.
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.
We detached this subthread from https://news.ycombinator.com/item?id=13624326 and marked it off-topic.
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.
No, internet comments are fundamentally sound. Unfortunately, a few people fundamentally suck and ruin them for the rest of us.
Edit: I see you took the part with "HN has become a giant circlejerk anyway" down.
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.
"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/)