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.
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%
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
> 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:
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".
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...
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
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.
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.
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
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
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!).
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.
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.
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).
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.
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).
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.
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.
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).
>"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.
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?
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 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.
> ...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.)
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.
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.
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.
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.
> 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.
>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."
> 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."
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?
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.
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.
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.
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.)
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.
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.
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!
* 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."
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.
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.
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.
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.
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.
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 $.
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.
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.
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.
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?
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.
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 :)
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 ?
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
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.
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.
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 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."
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.
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.
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.
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/)
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.