Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Why I Left Oracle – A Confession (rahmannet.net)
140 points by cronjobber on March 5, 2016 | hide | past | favorite | 152 comments


I was a Product Manager at Oracle when we decided to integrate Java. It seemed like an odd decision to those outside Oracle, but at the highest levels in Oracle we were circulating a Microsoft internal presentation about how Microsoft was going to use the dominance of Visual Studio to defeat competitors across the application space. So Oracle had no choice except to support Java as the alternative to Visual Studio. So Java and all Open Source support were really done only to the extent which self-interest demanded. We had floors of kernel engineers fixing Linux to make it work (it was barely functional back then.) And we coordinated with HP, IBM, Sun, Red Hat, and others so that they would encourage and pay their engineers to support Open Source. The idea that Open Source is somehow separate from business and market forces ignores its history. And the idea that Open Source is always positive is equally absurd. I've been working in open source for decades now, and the big winners are often the same rich companies which are extracting the wealth of our society - as they get software for free while the engineers provide work without getting the true "fruits of their labor". Does it make sense for multi-billionaires to get this software for free? Really, the Open Source idea is very messed up in an economy with distinct winners and losers.


As a fellow ex-Oracle (although a coalface support minion coming through an acquisition), and with all due respect, I downvoted your comment because it looks like a bit of an incoherent rant with no apparent link to the post.

What Rhaman is saying is: the wide Java portfolio is dying because people are not making enough waves around the JCP to keep Oracle on the straight and narrow. Nothing to do with opensource, the JCP is a very different project from traditional opensource development.

The JRE has never been a "real" open source project, but rather a proprietary system that opened up enough to develop a caring community. The problem is that, at the moment, the interests of Java's owner are not aligned with the interests of such community, and not enough people seem to care.

This has nothing to do with Java being "open source" or not; in fact, a real OSS project would happily fork at this point (as it happened with OpenOffice), but the Java community cannot really do it. It seems pointless to debate the merits of OSS in a situation where there is no OSS; it's like saying "We supported Windows out of self-interest; but let's talk about the pros and cons of opensource...".


> The JRE has never been a "real" open source project

What does that mean? Compare Java to other open source projects of similar magnitude (and there aren't many; maybe only Linux, which is actually bigger). Linux is even more exclusive than OpenJDK, and just like Linux, companies with appropriate resources often make changes to the software even if those changes aren't contributed back (or contributed but not merged).

> and not enough people seem to care

People will care once many start to actually feel it. Oracle's interests are probably not aligned with mine, and may or may not be a cause for concern for me, but so far Oracle's actions wrt OpenJDK don't harm me at all. The investment in the platform feels to have only grown in the past few years.

> but the Java community cannot really do it

Why not? I think it most certainly can, but at this point there's not enough motivation to do it.


Look at what Oracle is doing to Google for the sin of refusing the JCP process. Do you think they wouldn't do the same against any Java fork with a realistic chance of supplanting their implementation? The details are not important, they'll throw the book at you and find something that sticks.

The current situation (OpenJDK open but not a realistic choice in most production deployments; Oracle JDK/JRE remaining as de-facto gold standard; a process that forces strict compatibility tests on any competitor) can be fine from a certain point of view, but in practice it means that Java is not a traditional community-led OSS program. Rather, it's a program where the OSS community helps a company improve their software. RedHat is not the only Linux build with significant marketshare, and I won't get sued if I write a different POSIX system.

> at this point there's not enough motivation to do it.

No there isn't, that's what Rhaman is saying. But what he's also implying is that the direction of travel has changed inside Oracle, and people outside do not seem to realize it. IMHO it's fairly obvious where things are going (you'll stop "installing Java", and only develop and deploy in the Oracle cloud or similar Oracle-sanctioned environments).


> for the sin of refusing the JCP process

That is one interpretation; I can think of others.

> Do you think they wouldn't do the same against any Java fork with a realistic chance of supplanting their implementation?

I think they wouldn't sue anyone complying with their very clear, very standard OpenJDK license. Google, apparently, thinks the same, and has now decided to comply with the OpenJDK license, too.

> OpenJDK open but not a realistic choice in most production deployments

What? AFAIK, Google, Twitter and plenty other companies run their servers on OpenJDK. It is absolutely realistic for most production environments. In fact, Oracle's JDK differs from OpenJDK only in a few monitoring features.

> Oracle JDK/JRE remaining as de-facto gold standard; a process that forces strict compatibility tests on any competitor

That's just not true. The Java standard is the standard, OpenJDK is the reference implementation and one of the most widely deployed implementations.

> RedHat is not the only Linux build with significant marketshare,

Neither is Oracle's JDK. OpenJDK, IBM's JDK and Azul's Zulu all have good market shares.

> and I won't get sued if I write a different POSIX system.

Probably not, but you wouldn't get sued (or, at least no one ever has been sued) if you comply with OpenJDK's open source license. You may well get sued if you don't comply with Linux's open source license, too (which happens to be the same as OpenJDK's).

> and people outside do not seem to realize it

Perhaps, but what's the difference? If they start doing a bad job with Java (so far they seem to be doing fine work), the community will fork OpenJDK.


> OpenJDK open but not a realistic choice in most production deployments

This is news to me. I'm aware there are differences, but "not a realistic choice"? Can you elaborate?


I think openjdk is used in production. It's even going to be used in android in the future. You are incorrect that openjdk is not production ready today.


> It's even going to be used in android in the future.

Lol, like that was a choice Google made freely, rather than something they were forced to do.

OpenJDK might be OK in many circumstances (as I said, requirements vary) but you might want to avoid that particular case study.


I'm going to be blunt: you claimed "OpenJDK [is] not a realistic choice in MOST production environments" (emphasis mine).

I asked for evidence for this bold claim, since many production environments I know are using OpenJDK successfully, under heavy loads and without crashing. So... evidence of your claim?


I didn't claim it wasn't production ready, the parent post did.


Can you elaborate on why OpenJDK is not suitable for production deployments? I thought Oracle's JDK/JRE were based on OpenJDK's, with only minor changes.


Obviously it varies depending on requirements, but my experience is that openjdk tends to be a crashfest and/or end up being incompatible with a lot of stuff out there. The Oracle JDK/JRE invariably Just Works. It might be all a cargo-cult phenomenon (i.e. devs still testing only with Oracle builds out of tradition etc etc), it might be that Oracle have fabulous build tools not seen elsewhere, I honestly don't know; this is just what I see.


It's likely and believable that the different flavors seem to run at different speeds with different architectures. I also wouldn't be surprised to find the Oracle implementation to always be faster. I have a real hard time believing that OpenJDK has some huge flaws that prevent its production use as a blanket statement.

Hell, way back in the early 00s I remember having to use the JRocket JDK instead of the Sun one due to some weird corner case- so I am fully aware there are cases you can run in to that would necessitate one implementation over another. But calling OpenJDK unfit for production at this point in it's life is either FUD or straight lack of knowledge.

What are you running that OpenJDK seems to be so incompatible with? I've literally never had an issue with OpenJDK 7 or 8 and I've deployed applications that serve millions of requests per day in many flavors of OS.


I used to experience random crashes with the OpenJDK several years ago, but haven't noticed that recently. Are you still seeing those issues or did you give up some time ago based on the aforementioned crashfest and haven't tried it in the last couple years?


One thing about OpenJDK is that the debug symbols are freely available so you can try and create a core dump and analyse why the JVM crashed. You can't do that with Oracle's or IBM's JDK AFAIK.


On ARM the Oracle version is considerably faster than OpenJDK.


I went through a similar experience with Clipper and Turbo Pascal/Delphi, both were widely used and we thought they would last forever.

When doubts started to appear 20 years ago, companies slowly moved their new projects to other stacks.

They are still around and have been updated to more recent versions, but it hardly matters to most devs.

Oracle being careless with mobile OSes support and bringing out stupid enterprise frameworks like Oracle Mobile Application Framework, has made people even go back to C++ for writing portable code for mobile OSes.


> The problem is that, at the moment, the interests of Java's owner are not aligned with the interests of such community, and not enough people seem to care.

There's two ways to not care:

1. I don't care if it goes away, since who uses that stuff anyway? 2. I don't want to invest anything to further the project, but I really like using it and it's crucial for my business!

At this point I think the latter is the problem.


> The JRE has never been a "real" open source project

It is real open source. Its not a community-driven bazaar-model development effort, but that doesn't define "real open source" (its just something enabled by, but not required for, open source.)


would someone mind explaining, or linking to an explanation, of what bits of Java are open source, and which aren't?

phrased another way, which bits are missing that prevent an individual from compiling and running Java programs on the JVM using open source software.


OpenJDK is fully open source. Oracle JDK is built on OpenJDK but changes a few things here and there.

* Oracle JDK has a different font rasteriser, maybe some other bits like sound are different as well

* Oracle JDK has Flight Recorder support (that's a commercial feature)

* Oracle JDK supports both C1 and C2 JITs on ARM64, AFAIK an open source implementation of this is coming to OpenJDK 9, likely Oracle JDK will keep the existing implementation

* Oracle JDK has additional commercial features like resource management [2] and application class data sharing

OpenJDK vanilla is AFAIK not TCK-certified. However there are TCK-certified OpenJDK distributions [3].

TL;DR: OpenJDK is fully open source

[1] https://docs.oracle.com/javacomponents/

[2] https://www.youtube.com/watch?v=0WZpmylHbFM&index=8&list=PLX...

[3] https://www.azul.com/products/zulu/


- Some parts of tha JavaFX pipeline are different

- ARM compilers are different

- The Swing font engine used to be different

- Tooling that many devs depend on, like the Mission Control

- The AOT native compilers and tooling for embedded Java

Not an exhaustive list.


> the Open Source idea is very messed up in an economy with distinct winners and losers.

Except Oracle getting rich on say, Linux, doesn't hurt me if I am running Ubuntu, Debian or Gentoo. In fact, if their patches are any good, due to the GPL, it helps me.

Now, if I develop open source software, I might or might not be able to extract as much of the value generated as if I was making it a proprietary product. On the other hand, the total reach and value of the project might be magnified just because other people (and also for-profit-corporations) can take it and extend it and use it. I might see less of that value myself but:

a) It might not be my primary goal to capture as much value as possible, just to get enough money out of it so that I can continue working on that project.

b) The "size of the pie" that the same project is worth as open-source, specially for developer tools, is much much larger than if I kept it proprietary. So, in some cases, I might be able to capture more absolute value that way, even if I am helping some huge megacorp get filthy rich too (which is what would happen if I got a 'normal' software job, anyways).

Making your software free to me is not quite an ethical imperative in most cases, but it is a personal decision that can make a lot of sense, even if the entity that will profit the most from your software in monetary terms might not be yourself. The flip side is that, all things being equal, a great open-source software is likely to have a higher impact (and bring you more fame), than a great proprietary program. Specially for infrastructure, libraries and the like vs user-facing software.

If Tim Berners-Lee had been paid for the world-wide web what his contribution ended up being worth to the world, he would be the world's first trillionaire. On the other hand, if he had insisted that he get paid for all uses of the web, the web might have never come be to (or might have lost to a much more "corporate" system, under the control of one or a few companies).


> Except Oracle getting rich on say, Linux, doesn't hurt me if I am running Ubuntu, Debian or Gentoo. In fact, if their patches are any good, due to the GPL, it helps me.

It does if they manage to get in a position where they "own" enough of what you're using so that they can force their choices on you.

Red Hat has been in such a position for a long time now, and their world domination agenda has been steadily hurting non-enterprise Linux users in a higher and higher proportion.


> Red Hat world domination agenda has been hurting non-enterprise Linux users

How come? I'm a non-enterprise Linux user and I don't recall ever being hurt by anything RedHat did?


RH was playing nice for as long as they were the underdog fighting the established Unix vendors.

But since most of them folded and adopted Linux, and especially after Oracle upped and forked RHEL6 to make Oracle Linux, the actions from RHHQ has taken on a more controlling nature.


At Oracle we did an analysis of all the major Linux distributions worldwide. Red Hat was just a major player in the United States - among others. We decided that we needed someone to work with in order to help Linux compete with Microsoft - so that Microsoft wouldn't be able to control all the APIs and we could use our support of Linux as a "sharp stick" for negotiations between Larry and Bill. (Improving Linux more unless Bill stopped competing with products from Sun, HP, IBM, Oracle, etc.) So improvements to Linux and associated desktop applications were intentionally curtailed based on Bill's concessions.

So we worked with IBM, who was also feeling the pressure from Microsoft, and IBM effectively "took over" Red Hat by providing investments, providing executives, and assigning hundreds of engineers to work on Red Hat Linux. That is what propelled Red Hat to become dominant. Since some of the changes to the kernel were just for servers - running things like Oracle, and not useful to the typical Linux user, that became Enterprise Linux.


So what you are claiming is that Oracle, with IBM assistance, made RH into what it is today?


Yes. That is exactly true. When Oracle started working on Linux it was only useful for print servers - and I created a white paper for Larry analyzing its shortcomings (lots of functionality missing from the kernel.) So we, along with IBM, Sun, HP, and others, committed tens of millions in resources to making Linux an actual competitor to Windows. And we kept improving it until Bill made enough concessions, and then we stopped. But by that time Linux had been turned into a real OS, and over the next few years it became a "success story" for open source. But that misunderstands the reality of the hundreds of people we had assigned to make it work and to turn Red Hat into a real company. After that, it could be argued that we stayed involved in open source in order to keep it from succeeding too much as part of quietly negotiated side agreements.


Well, depends how you feel about systemd, maybe?


Yes, Oracle benefited from Open Source, but it also invested into Open Source and others benefited, too. That's the real key: Most people get out more than they put in by using Open Source instead of supporting proprietary software from few proprietary vendors for programs many people need.


> I was a Product Manager at Oracle when we decided to integrate Java. It seemed like an odd decision to those outside Oracle, but at the highest levels in Oracle we were circulating a Microsoft internal presentation about how Microsoft was going to use the dominance of Visual Studio to defeat competitors across the application space. So Oracle had no choice except to support Java as the alternative to Visual Studio. So Java and all Open Source support were really done only to the extent which self-interest demanded. We had floors of kernel engineers fixing Linux to make it work (it was barely functional back then.) And we coordinated with HP, IBM, Sun, Red Hat, and others so that they would encourage and pay their engineers to support Open Source. The idea that Open Source is somehow separate from business and market forces ignores its history.

And the idea that Open Source is always positive is equally absurd. I've been working in open source for decades now, and the big winners are often the same rich companies which are extracting the wealth of our society - as they get software for free while the engineers provide work without getting the true "fruits of their labor". Does it make sense for multi-billionaires to get this software for free? Really, the Open Source idea is very messed up in an economy with distinct winners and losers.

If you only use permissive licenses, free software can result in large corporate monopolies. Copyleft licenses help counter this. Linux, GNU, VLC, FFmpeg, etc are all good examples of this.


In the same paragraph you indicate that Oracle and other companies paid for people to work on open source projects, then bemoan that companies get the work for free. The signal is a little mixed, care to clarify your stance on this?


Some engineers got paid by oracle to work on open source software. But there are still contributions from others who weren't paid by oracle, and yet oracle is extracting a lot of profit from said software (more than what they paid, because of the 'free' contributions from the unpaid engineers).


And everybody is wealthier as a consequence.

Oracle's clients pay less for a solution than they would otherwise, Oracle can compete on this area, some engineers get paid by Oracle to improve a commons, and everybody else gets a more functional system for free.

Ok, maybe somebody worked there against their best interest, but that somebody wasn't coordinated by any big corporation, and should look onto fixing himself only. The ecosystem as a whole is healthy.


"Oracle's clients pay less for a solution..."

Not something you read every day!


No, the ecosystem is not healthy. Idealistic people are exploited, business as usual. It appears healthy for some Silicon Valley parasites who live in a bubble.

Let the others eat cake.


>And everybody is wealthier as a consequence.

Well, except for those using Java.

Because Oracle screwed it up.


> Because Oracle screwed it up.

I am quite involved in the Java community and I don't see it. How did Oracle screw it up?



I am very involved, and I've seen plenty of good work, from Java 8, through the upcoming Valhalla and Panama, and to the amazing work on Graal, which is probably the biggest breakthrough in compiler technology in the past decade. Doug Lea is still working as tirelessly as ever on java.util.concurrent, and while letting the evangelists go was bad PR, it really changed little wrt to technology investment. There have been some missteps and setbacks, but while making some noise, they have been few. Don't forget that Java is huge; probably the largest standardized language ecosystem ever, and not all of its many corners can always be covered well. And when an ecosystem is nearly ten million users strong, even one percent of disappointed users is larger than most other languages' entire ecosystem.


Some resources have been taking away from Valhalla and Panama, and Java 9 has been delayed.

But that is NOT what TFA is about. That is about Java EE, which Oracle suddenly stopped dedicating resources to, but in a completely silent way.

Java SE may be next. We don't know that yet. There are some signs, but they don't matter at the moment. What matters at the moment is Java EE.


Plus, things like Desktop Java were ignored, and applets silently killed (even if it was their time, this was caused by years of neglect and security issues, and it screwed up people depending on them).


That is all hardly Oracle's fault.


Support for mobile OSes.

You could have had JIT/AOT for Windows Phone and AOT compiler for iOS, but they never cared.

Now C++ and C# reign as the languages to go for portable mobile native apps.


This may well have been a mistake, but it is being addressed now, though probably not aggressively enough. Also, depending on how Google integrates OpenJDK into Android, we may soon have Java (real Java, that is) on the world's leading mobile platform.


So far Google has been integrating OpenJDK 7, still curious to see if they say anything at Google IO.

How is it being addressed?

You mean the communication to leave to the community the porting of OpenJDK to mobile platforms? Or having the RoboVM guys at JavaONE, but giving them zero support other than publicity?

I am not confident that Google will move away from their fork, most likely they will adopt something else, specially with ChromeOS and Android merging.


> How is it being addressed?

http://openjdk.java.net/projects/mobile/


Yeah, java. What a failure. Oracle killed it. Rip


Anybody said Java is a failure? Or that Oracle "killed" it? Even if they did, it would take a couple decades to get at the level Cobol today it.

What I said is Oracle screwed Java up.

By alienating the community, By not caring for security (except after all the huge negative press each time), By not innovating at a decent pace, By falling back on promises, By killing off the evangelists, By ignoring the mobile space, and in several other ways.

Not to mention the bloody Java "API" lawsuit...


> And everybody is wealthier as a consequence.

Except some got wealthier than others.


What's wrong with that?


How would closed, proprietary software help?


No!


If you list the Fortune 50 you will find that they all get huge benefit from Open Source. I've worked with Wall Street Banks, Monsanto, NSA, Big Ag, Big Tobacco, Big Pharma, and other companies which are extracting incredible profits from our society - often at a great cost to our society. Does it make sense to give free help to those who harm?


How would closed, proprietary software make the situation any better?

Free & Open Source software benefits everyone, which sadly includes bad actors and companies you (and maybe I!) don't like. But don't forget about the "everyone" part, which is the most important one!


Not always - I can't see FOSS like Hadoop or Spark benefitting anyone except large corporations and (maybe) universities.


Of course, not everything is useful in the same way. In any case, being useful to public universities alone is a big win.

But in my opinion, any software being FOSS is benefitial, even if you cannot deploy it yourself for your toy projects. If anything, you get to play with it or learn from its source. Maybe parts of it are useful to you for your own project. You cannot do this easily (if at all) with closed proprietary software.


Governments are large organizations that are supposed to represent and benefit everyone.


I think we get too caught up in binary thinking - why limit our choices to the current definition of Open Source. Isn't it possible to redefine open source using laws which could be implemented by the government? We could simply ask ourselves "What is good for our society and the world" and then work to define Open Source to fit that model. At any rate, I don't believe that we should be giving free software to companies which are helping to undermine the values of our society. On the other hand, I would like to see all software be free to everybody who is trying to help or trying to learn. We have to stop thinking in the current dichotomy.


> Free & Open Source software benefits everyone

Good software benefits everyone.

Whether it's open source or not is irrelevant.


I disagree, good software doesn't necessarily benefit everyone, and when it does, there are different degrees of benefit. I cannot benefit from software I can't look at or use.

It is definitely not irrelevant whether software is FOSS or not. It's the whole point of the GNU project, the FSF and of the Free and Open Source software movements. I'm not going to write a manifesto about the reasons here, but surely you must be aware a lot has been written about this in the last few decades that cannot be dismissed with a flippant "it's irrelevant".


You've worked for all those bad companies, making money while providing them services, and you want to pin the blame on Open Source Software?


I'm still having a hard time understanding what you're saying with regards to Oracle. Oracle does indeed contribute a lot to OSS (mostly due to their acquisition of Sun), but it is also one of those "rich companies" and owned by multi-billionaires who extract most value from OSS. So what exactly are you saying?


I'm not really trying to say a lot with respect to Oracle. Except perhaps that their interest in Open Source is really not philosophical - it is strictly profit driven. That has real implications to those who adopt Open Source or view it from a philosophical perspective.


The prevailing view that corporations benefit society the most simply by focusing on profits for shareholders is almost entirely philosophical (we cannot prove this, although many economists would probably like to).


I cannot comprehend a situation wherein open source is negative. Clearly it might not be the most lucrative path but we are all net consumers of technology.

What's the better alternative to billionaires getting their software for free?

It's unlikely that companies will contribute manpower to software if they then have to pay for it too. If you have a better strategy I'd like to hear it.


> What's the better alternative to billionaires getting their software for free?

Billionaires paying for their software?


It would be very hard, not to mention almost impossible politically, to make only billionaires pay for free software. You'd probably end up making everyone pay, with billionaires paying a bit more than most. Would that be good for OSS and for the users, I wonder?


So we need to implement user restrictions licensing codes software audits etc and ensure that there are no benefits to companies embracing free software ensuring their contributions dry up.

Not precisely a winning strategy


> ... We had floors of kernel engineers fixing Linux to make it work (it was barely functional back then.) ...

It reminds me a story about evolution.

It says that the wheat (or the corn) is a successful specie because it is grown by man at a wide scale.

Those Oracle engineers are like bees collecting pollen from the Linux flowers :-)

It's a two-way link.


> We had floors of kernel engineers fixing Linux to make it work (it was barely functional back then).

When was "back then". Are you talking about the 1990s or the 2000s?

You are not talking about RedHat Linux fork "Oracle Linux", right? https://en.wikipedia.org/wiki/Oracle_Linux


What do you mean by 'integrating Java'? You are comparing Java to Visual Studio, which feels like comparing apples to orchards. AFAIK the vast majority of Java programmers use Eclipse, Netbeans or IntelliJ. Oracle has had JDeveloper since 1998. So what was Java being integrated into?


We started off with a series of strategy meetings prior to the release of JDeveloper. We hired a small team to integrate the JVM into Oracle with the idea that we might be able to replace PL/SQL with Java within the Database. We started by bundling JDeveloper from Borland, and it was awful, so we brought it in-house to continue developing it. From there, there was a continuously evolving strategy of how we could position Java to compete with Visual Studio. Microsoft had explicit plans (internally) to add more APIs to the APIs in order to capture developers, and "not fix" other existing APIs which they had mis-implemented in order to give the impression that our products were broken. And since every deployment began with a development project, it was very important that we kept a working set of APIs to our products in Java - so that Microsoft didn't take all our customers. We had seen Microsoft harm other competitors by using those same tricks (and claim that it wasn't intentional.)


I am reminded of Aaron Swartz wearing the "My Free Software Runs Your Company" shirt: http://assets.bwbx.io/images/icUNrxSKG6Pc/v1/-1x-1.jpg


Having watched -- from the inside, for a while -- another major corporation increasingly leach off of open source (taking much, giving little -- practically nothing), I'm just adding my voice to this perspective.

I'm not inside nor advanced enough to have a... really well-informed, well-grounded opinion, perhaps. But, I've seen enough of corporate behavior, across multiple substantial corporations over extended periods of time, to speak to that.

Even their "charitable giving." Even if is starts with or has components of genuine good will, by the time the suits, PR folks, and bureaucrats get done with it, it's pretty damned self-serving.


I was part of the team choosing charities. You might be surprised to hear that we evaluated all our giving for ROI (measured in columns of print or TV time and the equivalent cost of purchased time. We also considered audience - and overlap with purchase influencers.) In general, the decision was simple - are we making more money than we are spending on the charity.


I'm not surprised one little bit.


Me either but if the charities where good ones then it seems like a win-win to me.

It's not that different than celebrities endorsing a charity for "free", they give up some time which gets positive PR and the charity gets the benefit of raising against their events.


It's definitely amoral. But it's also highly inefficient - it means that if everyone takes Oracle's approach then only charities with high levels of positive publicity get charity dollars.

Those charities who cannot generate lots if positive press can't help fund important research. Ironically sometimes research that crosses into another field and benefits another bug if research bring done.


Personally, I was asked to submit suggestions of charities to Larry. But it was made clear to me that there had to be some benefit - preferably large ROI, since small ROI wasn't worth Larry's time. And, while it was possible to occasionally ignore ROI, there had to be a good reason to do so (in particular, if I could find something that Larry personally cared about or had the potential to have large ROI soon or influence a particular CEO who might be a customer.) So when I made a list of charities I thought were worthwhile, I couldn't justify submitting any of them to Larry. So I never got more involved with our charitable giving. What could have been the opportunity of a lifetime simply left me more jaded about our Capitalist system.


Agreed, not saying it's an ideal or even warranted approach but it's also not a net negative, companies don't really have to do anything at all if they don't want to, though in the UK we have this concept called "Corporate and Social Responsibility" but afaik that only applies when you want some kind of funding/grant that is partially public sector.

You could (and people do) run a company absolutely ruthlessly applying only the metric of "What is the absolutely best way to make money".

Capitalism isn't nice it's just relatively efficient compared to other systems.


Not to defend oracle, but if you use software legally - subject to open source or whatever licenses - then the question of whether or not you are a leech isn't relevant to anything. You'd not base any decision on it; it just doesn't matter. Someone is providing something for free, and you're using it. As intended.

re: charitable giving. If they're giving, they're giving. Doesn't matter what the motive is. "huh, they're only funding a cure for cancer/starving kids/etc because it looks good". So fucking what? What are you doing to help those charities? Typing is easy, huh!


Isn't this "leaching off open source" part of the proposed business model behind open source though? If you think Oracle is making too much profit from open source, aren't you supposed to start your own company and undercut them?

I'm not defending Oracle's activities ethically, but it seems a bit naive to expect corporations to show anything less than the most despicable, profit-seeking behavior allowed by law.


Actually giving something back is really hard in the open source space. If you don't create your own open source project you will have a hard time to integrate into another open source project.


Many people seem to have an impression of Oracle as a company full of corporate drones. This is far from the truth. I wasn't, Cameron wasn't and we are very far from being alone.

That may be true, but if you're not generating revenue for Oracle, you will be fired and replaced with a lawyer who can at least look for a new IP angle to sue over, or a new way to nickel-and-dime existing customers to extract more license fees. (Coming to Java 10: Garbage Collector Licensing. Beginning with Java 10, Oracle will assess a fixed fee for each byte of memory reclaimed by the Oracle JRE garbage collector. Contact your Oracle sales representative for pricing details.)


I always thought that Cameron and Reza didn't present a very balanced view. Which is OK if you're hired for marketing as long as you don't claim you're not a corporate drone.

Two examples: Reza is a famous spring hater and much of his writing can be summarised as "Java EE rocks, Spring sucks". Which is fine if you're hired to sell Java EE. Which is fine, just don't claim otherwise.

Cameron's view on TCK licensing was also very one sided and uncompromising. In every JCP meeting the topic of TCK licensing pops up. Everybody except Oracle agrees on the subject. Everybody has the same position Oracle had before the Sun acquisition. I was at a JCP meeting when the whole panel (all JCP members) agreed on TCK licensing and Cameron from the audience simply said "no". Then he said something like "if you open source a TCK that makes the TCK worthless because anybody can change anything". Totally ignoring the fact that the best TCK out there (the CDI TCK) is open source. Even if that was an issue there would be fixes for this like trade marking the TCK like Mozilla does with Firefox.

Again if you're hired to wield the power of the TCK against Apache Harmony for whatever political reason that's fine. Just don't claim you're not a corporate drone.


I knew Cameron from 15 years back. Always helpful and very down to earth person. I am surprised he stayed at Oracle that long.

He was very active in BEA Weblogic Forums/usergroups. He would answer most questions with helpful answers. When he started building Coherence (which was sold to Oracle and hence ended up at Oracle) he added Coherence link to his signature while answering questions or trouble shootings other users problems. Pretty soon most JavaEE developers became aware of Coherence with that single trick.


What is it that compels people to write these posts? I remember when you'd make some personal decision, and just tell friends if they happened to ask why.


I'm in the middle of writing one because I think it will help both the company and other start ups. The TLDR is an HR rep left because she was facing a hostile work environment. So what hope did the rest of us have? It's an appeal for startups to train their managers better.


Are you gonna send it to their CEO privately, or air a bunch of dirty laundry in public?


Well I did email the CEO when I left and he was like that's nice. There isn't any dirty laundry. I just want to make the case for better training, especially since my friends continue to complain to me after I left.


Don't let those incapable of empathy prevent you from airing a grievance. If it sincerely hurts you, or the people you hold close, then go for it!

After all, a well-articulated concern that resonates with others will become popular. Likewise, a poorly thought out or unnecessarily vengeful post will be ignored all the same.

I, for one, believe that shining a light on wrongdoing, instead of fearfully pretending it doesn't exist, is one of the privileges of our society. Yes, doing so has several drawbacks, and yes, people are inclined to whine, but it is one of the few recourses the weak have against the strong.

More power to you!


It might be useful to ask if it's something new in the HR guidebook or a new trend you're seeing in your area.


They did update the employee conduct when I first complained about it. Previously it just said, "don't watch porn at work." I'm exaggerating. But barely. I want to laugh and I want to cry.


Facebook and Twitter base their business models on people airing personal decisions to the world at large.


What exactly is the reason for leaving Oracle? Seems like an exec. at Oracle, Cameron was forced out. OK. Not sure what the background on the departure is. Everyone knows Oracle is evil. So that can't be it. Is there some reading between the lines here? Maybe somebody embedded in the Java ecosystem can shed light.


Look at the list of stuff his skepticism "extends to" and see what is missing. Hint: web apps. That's because Oracle is betting the farm on "cloud services", and a few of their offerings are based on the concept of containerized java apps running on the Oracle cloud. That alone will survive; everything else is fair game. Anything on-premise, including the JRE, are going to be basically ignored from now on.

I work in a different Oracle niche and the message is the same: nothing matters but cloud. If a product can be moved to the cloud, good; if it can't, it will be killed. On-premise versions are pretty much all in legacy-mode, getting patches that pay lip-service to the idea of hybrid setups, but 90% of development resources are busy on cloud-related stuff.

Somehow, the current Oracle leadership believes they should become "AWS for the enterprise", and in traditional Oracle style, they will pull all stops (and cut all corners) to get there. If you don't like it, that's the door. "Java everywhere" advocates are now surplus to requirements.


I wouldn't want the vendor lock-in that comes with Oracle's "AWS".

There has been a lot of teeth gritting over how locked into AWS certain parts of a customers company has become, using their API's, their services, and with no real way to move away if anything ever happened.


> I wouldn't want the vendor lock-in that comes with Oracle's "AWS".

AWS has already perfected vendor lock-in, so I doubt Oracle can make it much worse, beyond their normal trick of de-certifying their products on competing platforms.


> I wouldn't want the vendor lock-in that comes with Oracle's "AWS".

Doesn't matter, its the outsourcing of this decade. Every board wants to be in the cloud, because it gives the (stock) market the impression the company is going places.

And everyone from Oracle to MS, and Google as well, wants to be the one to rent them that cloud, Hotel California style.

Thats why MS has changed their tune regarding Linux, as long as it is running in a VM on top of their Azure service...


This firing occurred almost a year ago, it's clearly not the reason why this person left this month. Also, bad mouthing a company you just left with a blog post is not a smart thing to do.


The reason here is Java EE and Oracle not doing much for it at the moment. Reza was the Java EE evangelist and a big proponent of the technology.

I can imagine his job being hard, still officially having to evangelise Java EE, while simultaneously knowing all his work is for nothing.

The problem is that it has been brewing for some time that Oracle is severely neglecting Java (EE). See

* http://www.infoworld.com/article/2987529/java/insider-oracle... * https://jaxenter.com/oracle-and-javas-planned-obsolescence-1...

A little while earlier the Java SE evangelists had been let go:

* http://fortune.com/2015/09/07/oracle-cuts-java-execs * http://www.infoworld.com/article/2980686/java/sources-oracle...

But, the infoworld articles mentioned unnamed former Oracle employees. And people brushed them off as being FUD spread by Pivotal (the Spring company, Java EE's major competitor).

But now we have for the first time I belief an actual name of an actual Oracle employee, and also not just any employee. He may not be as direct about it as we all wish, but IMHO it gives much credibility to the previous reports.

If you're interested in the topic, look at the various Java EE mailing lists, and look in the repositories for the implementation code. You'll see there's plenty of evidence of Oracle suddenly doing very little for Java EE:

* https://github.com/spericas/ozark/graphs/contributors * https://github.com/javaserverfaces/mojarra/graphs/contributo... * https://twitter.com/jms_spec/status/689762921988132864 * https://jcp.org/aboutJava/communityprocess/ec-public/materia...

And then look at the GlassFish 5 (Java EE 8 RI) builds, an automated zombie process with not a single Java EE 8 commit yet, and frankly almost none commits at all (see changes file for every build):

* http://download.oracle.com/glassfish/5.0/nightly/index.html

The story is the same for no matter what Java EE list or repo you look at, with the exception of CDI which is lead by Red Hat.


Touching story, but... Why did he leave oracle?


I re-read the whole thing, then went looking for a page 2. Clearly, his future isn't in journalism.


The top 8 reasons why no one's future is in journalism! Number 5 will shock you!


There is tremendous activity in OpenJDK projects which means Oracle is finally concentrating on core technology. So many of these projects seems to directly help developers as compare to JavaEE stuff which is mostly targeted for vendors peddling there gigabytes size application servers. I have had misfortune of using those products. Now I am much happier using Core Java / servlets with tomcat.

A possible fallout of Oracle focussing on core Java and cutting down on JavaEE monstrosity is that all those pattern laden enterprise architect/astronauts/evangelists seems less in demand at least at Oracle. I may not be biggest fan of Oracle but I think in case of evangelist types leaving Oracle is good thing.


Dude, Reza is a bamf. I've attended many of his talks. Guy had a hard job, and he took flak from all sides. Good luck buddy!


Hmm thats similar to why I left Amazon. I was tasked with mundane tasks like localizing strings for huge marketing faq pages. I wrote scripts to give the 900 odd strings numerical locale ids. But my manager who all my code had to pass through for code review wanted individually described and named ids. For what other reason than he was a corporate drone with Java abstractions for factories of factories of DatabaseQueryCreator that invoked DatabaseQueryBuilder etc etc I do not know. I will never work for another corp where I dont feel like a magician in terms of programming and tooling efficiency. It was absolutely dreadful and loathing to march to my death as a creative and intellectual. Fuck drone work and fuck drone managers and executives who try to serve it up only because they hate themselves too much to embrace the beauty of the discipline of hip and efficient software engineering


So, Java doesn't live up to the hype?


Humans love mental shortcuts. E.g. Taibbi has forever tagged Goldman Sachs as "The Vampire Squid". Years ago somebody Google bombed Microsoft as "more evil than Satan himself". And Bush became "miserable failure".

So, what of Oracle? I'm drawing a blank, but that's probably because I don't frequently interact with Oracle or with its products.

Anyone?


From the article "Many people seem to have an impression of Oracle as a company full of corporate drones. This is far from the truth."

But IMO Oracle's reputation is a portfolio of overarchitected overpriced enterprise products that encourage lock-in.


I'm nitpicking a bit, but this stood out to me as a good example of why I've never wanted to be part of Java-land:

> He helped pioneer one of the most successful pieces of enterprise infrastructure that has stood the test of time. Yet he is humble enough to still code

I mean, doesn't coding being perceived as a "humble" job he's lowering himself to really say it all? It's rarely explicitly said, but coding is considered a low status activity in those spheres. That's why I avoid Java work. Other languages have cultures that respect the craft, rather than viewing it as something you grow out of.


You left out the context: > still code even in front of a keynote audience

I think he's mainly saying that coding in front of an audience exposes you to errors which shows that you are human.


I left out that chunk, but only because I didn't think it changed the nature of what was said. The way I read the sentence it was the act of coding was the humble part; the fact that he did it in front of other people implied that he was "a man of the people". (frankly, I don't see how coding in front of people makes a person humble -- I would think it's unrelated. If anything it requires confidence, not humility).


It's rarely explicitly said, but coding is considered a low status activity. --overgard

(an example of why you have to be careful about how much liberty you take in your quoting)


> Other languages have cultures that respect the craft, rather than viewing it as something you grow out of.

Not really, in many countries there is the expectation that when you are over 40 you either are a solution architect (those that never code) or a team manager.

It is very hard to fight against this society bias, regardless of the programming language.


This has nothing to do with Java, and everything to do with being an executive at a company with over 100,000 employees.


I'm not sure I'd extrapolate what "java work" and related "spheres" are like based on one statement by someone who once worked at Oracle. I think if you were to pick, say c++, based on "respect" for the "craft" of developing in it you'll be wanting to avoid reading too many posts on HN and other places or you'll end up making the same daft decisions for that language too.


I work in C++ :-)

I'm not basing my opinion off that statement, but rather my previous jobs doing Java. I just found the quoted chunk summarized what frustrated me about that community.


I too prefer to work in c++ (or c#). But I work in java too, such as when I'm working on android. I never fire up Android Studio and sigh about the lack of respect random internet twats would give me if only they knew what I was doing. As long as I get paid at the end of the month it's all good!


> I never fire up Android Studio and sigh about the lack of respect random internet twats would give me if only they knew what I was doing.

You're painting this like sticking up for your profession is only for glory boys that want attention. People generally treat you like you expect to be treated, and when programmers pretend like our status doesn't matter we make things worse for all of us, collectively. To quote the Simpsons, "this is why we can't have nice things".

> As long as I get paid at the end of the month it's all good!

Sure, but your pay is largely based on the status of your profession.

I'm not asking for glory, but my personal opinion is that programming is a high skill activity with a large amount of business value that takes a long time to master. People are free to disagree, but it's not in my interests to participate in a community (the Java EE community, in this instance) that doesn't share that perspective.


Some programming is higher skill than others. A lot of web development isn't that well paid because html hairdressing is easier than, say, working on c++ compilers, or realtime embedded physics/maths, or whatever.

I think you have an odd view of business if you think that the pay you'd get is dependent on its status. For one thing, how do you determine its status? Some comment on a blog doesn't really cut it (who cares?). (Likewise, I'm not sure what form "sticking up for your profession" takes. Writing a comment in response to the blog?). I understand all manner of illegal activities - drug dealing, for example - manage to make the perpetrators a lot of money. Perhaps they're counteracting the disdain many people feel for them by posting on blogs?

Pay comes from a reward for doing work for people who will then use your work to make them more money. I've recently done work for banks and newspapers and they've never specified which language to use and wouldn't pay any less if they discovered what language I used. If you told people that there are a zillion shitty android apps written by newbie java developers who'd never programmed before and were written in a few days of their spare time i doubt many people would be surprised and it's clearly had no impact on the pay you'll receive as a competent java developer who keeps up with all the exciting frameworks.


Programmers get no respect - and its our own fault.

The computing industry is directly responsible for 1/3 of global GDP in 2016.

Its time that this is reflected in our paycheck.


It is already reflected very highly. One needs only look at the stratification of classes in the bay area to see that. Do you really think that further stratification is needed?


To be fair, this phenomenon is almost entirely restricted to the Bay Area and Manhattan. Everywhere else, developers might make a little bit more than the average blue-collar specialist, but not that much. Most developers around the world are woefully underpaid for the value they deliver to the businesses employing them.


The entry-level pay of a developer is in the range of the maximum most office people in government jobs will ever make – is that high enough?


That's just not true in most parts of the world


To put this in perspective: a junior role in software in the UK will bag you 25k, which is roughly an order of magnitude lower than what you get as a senior civil servant.


25k is a decent civil servant salary well above the minimum starting pay. The only "senior civil servants" earning anything like that are the 2 or 3 at the very very top of the civil service on first name terms with the prime minister who have 40 years experience essentially running the country.

If you think a junior developer fresh out of college knowing a bit of javascript is in any way comparable in terms of the value they deliver then you're wrong. Simple as that.


Wat? There are plenty of civil servants on 40k, 60k, even 100k. People running large cities like Manchester are well into 200k and they are definitely not on first-name terms with the PM (although they do hang around in ministerial circles). MPs get less because they are lightning rods, which is a paradox but there you go. They are the exception, not the rule.

If you think programmers doing actual work in all sorts of businesses bring less value than bureaucrats hiding in quangos, I don't think we'll ever be on the same page.


But those aren't their first jobs after graduation.


25k is the minimum starting salary for a fresh graduate civil servant in the UK. Its often higher.

But these arnt particularly good jobs. Programmers often have the grades to go into professional services and finance. Those jobs start at 32k.

Very few programmers start at that level.


What's that cash equivalent of 100% job security, a gold plated pension and promotion on seniority?


Keep in mind that code is not useful or economically impactful without business and community management surrounding it.


A lot of code would be more economically impactful without a business community "managing" it.

There's certainly a point to be made about code being channelled in good directions by excellent management. Unfortunately the median for tech management is nowhere close to excellence.

It's telling there's a lot of industry sweat expended on how to avoid hiring 1X or 0.1X developers. But you'll hardly ever see an SV blog post explaining how to avoid hiring/promoting a 0.1x CEO or VP - even though they certainly exist, and their ability to destroy value is so much greater than that of a single inept developer.

As for Java - Oracle isn't a very interesting company. It seems to have made most of its money running a collection of corporate patterns that work well to create profit - until they don't.

It's possible the OP's post is another sign the "don't" phase is getting closer.


I wrote a blog post fleshing out my views on this -- it took a while, but it's better than an off-the-cuff response would have been: http://sonyaellenmann.com/2016/03/middlemen-are-crucial-open...


I think that's demonstrably untrue -- open source and free software has had a massive economic and cultural impact with precious little of that originating from the involvement of business people or community leaders. (For instance, the GNU project or the linux kernel -- not to mention how many commercial products must use zlib). Business support almost always comes after the value has been created.



I would argue that free and open-source software tools have far more of an economic impact when they're used by companies like Google, Amazon, Facebook, etc, or otherwise packaged from consumer use.


Unions?


Those did work out well for the auto makers in the US.


I hope we are all aware that this is not a black and white issue, that there are many ways to approach it and that there many ways to bring balance to an unbalanced situation.

After recently reading of a whole company's IT staff being forced to train their H1B replacements under the threat of not receiving severance pay, and then fired as soon as the training was completed, the thought of unions does cross my mind.


> After recently reading of a whole company's IT staff being forced to train their H1B replacements under the threat of not receiving severance pay, and then fired as soon as the training was completed, the thought of unions does cross my mind.

You think unions would fix this? Has it stopped auto jobs from leaving the US? It sounds like we need to fix H1B laws, and giving tax breaks to companies moving overseas. Throwing in a union sounds good in theory, but I don't think it would actually work.


They do work out well in many European countries.

We do have unions for IT.


Does the best technology come out of these European union IT orgs? My understanding is Americans in IT make much much better pay compared to Europeans in IT.

I have seen what a union environment is like. Your pay is fixed based on the number of years you worked at a company, nothing else matters. It is a race to the bottom.


Do you do mostly 40h week, get your overtime properly paid and asked nicely to do extra hours on the weekends?

And have the opportunity to spend valuable time with family and friends?

I do.


They work very well for automakers in Germany.


True, but is the German law and trade agreements the same as the American law and trade agreements? Something working well in 1 environment does not mean it will work well in a totally different environment.


Agreed, but the data doesn't support the position that unions are inherently bad - they just don't suit the US or UK.


And excellently in the sphere of teaching. I would be woeful to see devs operate with the same level of impunity with the toxicity that exists within our community...


Yes the teaching system is amazingly toxic. Ask anyone in US secondary education.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: