Jon Davis (aka "stimpy77") has been a programmer, developer, and consultant for web and Windows software solutions professionally since 1997, with experience ranging from OS and hardware support to DHTML programming to IIS/ASP web apps to Java network programming to Visual Basic applications to C# desktop apps. Jon is a DZone MVB and is not an employee of DZone and has posted 23 posts at DZone. You can read more from them at their website. View Full User Profile

Dear Java Developers: Told Ya So!

08.13.2010
| 11154 views |
  • submit to reddit

Well, I suppose I didn’t tell you so, I didn’t knock on every Java developer’s door and say it. But I did say it. To myself. In a soft mumble. LOL.

What I said is that Java is not any more “Open Source” than .NET is. Granted, a huge majority of the open source community such as the gobs and gobs of projects that have been hosted for like ever at http://sourceforge.net/ are Java-focused. But Java as a platform itself has always been far from open source.

I couldn’t get that Java vs .NET fake movie trailer video. It would have made more sense if it was .NET vs. PHP, Python, or Ruby, but Java?

I could never understand where Java developers got the idea that Microsoft was on this dominating consumption spree to gobble up everything that’s innovative and sue everyone who used their platform, but yet Java was somehow free from all of this. No programming language has set a monetary-loss/gain precedent like Sun set against Microsoft with suing and winning over the language’s platform like Java has. It was this very behavior from Sun that had me rushing away from Java and into the arms of C# as soon as C# was announced.

It should come as no surprise, then, that Java’s owner would now sue again, once again over the use of the platform in a free, open source distribution platform (Android). You’re surprised? Really?

Truth be told, I was surprised, too, at first. I shed a tear for the Java community. (Almost literally.) I genuinely hate this sort of behavior, companies suing companies because what was thought of as an open and free platform was treated as open and free, and meanwhile the company suing has no interest in the “open and free” part and wants to make a buck off every use of the platform. I realize that on the surface it’s naturally every company’s best interest to let every activity be a profitable one. Microsoft giving IronRuby the cold shoulder (they no longer have any full-time maintainers of the project) is another example of this. But I hate all that, I really do. These companies—Microsoft, Oracle, Apple, and Google—really need to maintain strong rapport with their user base if they want to maintain long-term loyalty.

I sold my iPad and set down my iPhone to switch to Android as soon as Apple killed off support for cross-compiled applications. They lost my loyalty for that. I wonder how many other people are in the same boat as me. As for Oracle, bleh! I could never see “Oracle MySQL” or “Oracle Java” or “Oracle Solaris” being word phrases that really went together, they just didn’t work for me, like taking an orange square lego and forcing it on a play-dough ball, just squishy squishy, it doesn’t fit.

I’m sorry, Java, that you must suffer a rude, foul owner and maintainer. Perhaps another, truly open-sourced and open-licensed platform will come about that we can all agree on as being “good”. Perhaps Google’s Go running on Linux is a start. For once, I am seeing great value in the true meaning of “open source” and in the benefits of GPL and other open-source licenses. It’s really a shame that the Java platform didn’t enjoy such licenses up front, but the world will keep turning, life must go on, and we must keep coding, ideally without getting sued!

References
Published at DZone with permission of Jon Davis, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Casper Bang replied on Fri, 2010/08/13 - 8:32am

I tend to agree with a lot of what you say, even if it's controversial (no doubt your post will receive it's share of negative votes). There has always been this scary self-righteousness in the Java world, where it would be preferable to demonize the alternatives rather than consider the technology unbiased.

This was probably born out of Sun's suing of Microsoft, but it's remained pretty strong ever since and founded many religious debates where state-of-the-art of technology unfortunately would take a distant second place. The cross-pollination has certainly remained stronger with Microsoft, than the other way around (just listen to an episode of .NET rocks vs. an episode of The Java Posse.

At least now it's out in the open, for those who have not followed the Apache Harmony or Java 7 controversies. However it has to be said that Java actually is more open, quite literally, as you have ALWAYS been able to read (and learn) from the source code in the SDK by simply navigating from your code base to theirs.

Btw. JavaZone made another video with some more throwing mud.

Andrew McVeigh replied on Fri, 2010/08/13 - 9:20am

java is still open source, and covered by the patent guarantee.  while the lawsuit isn't great and oracle will never be a particularly good steward, it has more to do with a failure to follow the spec, putting Dalvik outside of the guarantee. the poster perhaps also would like to read up on what open source actually means -- is the source code of .Net available under and OSI approved license?

essentially this is just one big company is suing another over IP.  it will end in one company paying money to another to cross license patents. just like MS paid lots of money to Sun a few years ago, and Sun paid lots of money to Kodak a few years before, and... well, you get the picture.

as an aside, with .net you have 2 problems: 1. it's not open source, and 2. it is also covered by many patents. don't think for a minute Microsoft wouldn't sue in the same position.

the real problem is software patents and the ease of being awarded one for something that a twelfth grader could work out on their own given 30 minutes.  that is the real problem, and until that goes, noone should be indulging in feelings of shadenfreude. and certainly noone closely aligned to the .Net world...

 

Fabrizio Giudici replied on Fri, 2010/08/13 - 9:31am

Agreed with Andrew, it's a matter of patents and any other point is basically meaningless.

Maarten Djones replied on Fri, 2010/08/13 - 10:04am

Dear Jon,

Either you're not too intelligent, or you're just looking to get a few people riled up by writing completely moronic things like: "Java is not any more 'Open Source' than .NET is." (in which case, hey look, you succeeded!) Unless you're right, that is. So...

I guess you can point me to the online repository where Microsoft is doing bleeding edge .NET platform development under an OSI approved license, much like Oracle is with JDK 7.
No?

Ok, then how about an older version of the .NET platform, which has been almost 100% open sourced, like JDK 6?
No, again?

Ok then..., how 'bout just a published tarball of the .NET platform code, like SUN did for the JDK for years before it was actually open sourced? C'mon, a tarball is all I'm asking for here...
Still no?

So I guess you're just a little tired of people telling you that, by choosing .NET, you're completely beholden to Microsoft, however good their intentions may be, and you've now seized on this utterly unrelated patent lawsuit to make the completely groundless claim that Java developers are in the exact same position with respect to Oracle?
Yes? Ok, glad we got that sorted out.

As for myself, there are 2 things that bother me. The first is that your blogpost somehow ended up in my DZone RSS feed (and that a grand total of 8 blog posts in 2 years apparently makes you an MVB on the .NET zone). The second is that a lot of people, yourself included, seem to think that theirs is The One True Definition of open source, and that anything that doesn't measure up to it doesn't deserve the qualification.

This is called Stallman Syndrome. Get over it.

Because it leads to weird blogposts where people argue that a patent lawsuit somehow proves that something isn't open source.

Regards,
Maarten

Mark Haniford replied on Fri, 2010/08/13 - 10:31am

Good article

Jilles Van Gurp replied on Fri, 2010/08/13 - 12:14pm

"Java is not any more “Open Source” than .NET"

Sorry, I believe the technical term is "bullshit". By the OSF definition, it is enough for the source code to be available under OSF endorsed license for a product to be open source. .Net is not available under such a license (other than the independently developed mono, which is only a partial implementation).

Apache Harmony is 100% Apache licensed. It is not Java in the sense of that being a trademarked name and in the sense of Apache not having licensed the Java test suite from Sunnacle (which is not OSS) that would prove it is pretty damn close to being 100% compatible. Other than that it is of course the Java implementation that Google is using in the Apache licensed Android platform which includes the Apache licensed Dalvik virtual machine as well as various Apache and Eclispe licensed development tooling. Is that open source enough for you?

Then of course most of the "real" Java is available under GPL. And if you insist, you can get by pretty well with the 100% GPL icedtea distribution. Or one of the many OSS jvms combined with the gnu classpath implementation.

So yes, Java is more open source. Much more so. 100% in fact. That's not an opinion but a fact. Multiple indpendent OSS implementations exist of which at least two are known to run the bulk of most available Java software.

As for patents, they are a nuisance but they have very little to do with open source licensing which is fundamentally about copyright and not about patents. This despite some attempts to correct this in GPLv3.

As for Oracle behaving like a bully on these topics. Yes, that was very predictable. Duh.

What will be interesting to see in the next few months is how successful they will be. My guess is that Google is sitting on quite a bit of patents that they could use to counter sue and harass Oracle customers with. Of the top of my head such highly relevant (for Oracle) technology as cloud storage, security, indexing & clustering technology come to mind as areas where Google is extremely likely to hold bucket loads of non trivial patents that Oracle is likely to be interested in and infringing upon given the nature of their business.

Read that Oracle license carefully, especially the bit on indemnification. Just because it is closed source doesn't mean that you are immune against lawsuits when you infringe Google's patents by using Oracle's software. Google wouldn't do that of course (being non evil and all), but if they wanted to they could sue Oracle customers in addition to Oracle itself. That's like the nuclear option in patent law suits. Sco tried to play that card and look where they are now.

So, the predictable outcome of this whole mess is an out of court settlement, likely after several years of legal battle. I doubt this will affect either sales of Android devices or the level of endorsement by the many manufacturers depending on it already.

Oracle is in it for the cash and if they can bully Google out of the enterprise market they will happily do it but not at any price. Likely they will settle for cash and a license to selected patents from the before mentioned Google port folio.

The real question is what IBM will do. I'm sure they won't be amused that their biggest competitor is sueing anyone over technology they created (i.e. Apache Harmony). IBM is of course the owner of the worlds largest patent portfolio ...

So, bullshit and hardly the end of the world. Not even the Java world.

Sami Songo replied on Fri, 2010/08/13 - 1:06pm in response to: Jilles Van Gurp

nope it is not open source, bs and useless long sentences that dont make sense put aside, you cant label code as open source under GPL licence just by making it available to people to look at it online. read the GPL more carefully, and try to understand where it is coming from.

Ivan Ooi replied on Sat, 2010/08/14 - 5:53am

Well, at least M$ and Mono workout very well. Now, you can cross-compile C# to Objective-C for iPhone~ and also, you can run your C# in Linux and MacOS X. Hey! Oracle! try to learn from M$. If you can;t popular Java. Why not workout with some one who successfully promoted Java (Android, AppEngine and GWT ) ? Really can't believe what Oracle try to do....

Randy Hobart replied on Sat, 2010/08/14 - 7:52am

I find it hard to believe Jon, that this a real heart felt article that you wrote. You try to come off as an open source purist, however by your bio you are a MS solution provider. I noticed that you have not stopped using MS even though they created IE 6 which was an attempt to control the web(and development) by using MS only standards. The UK is still using IE6 because they can not afford to re-write their web apps. However you sold your iPad and iPhone, but still provide MS only solutions. No one has ever argued the point that java is open source. It is a language that developers can use that can run on MS and non MS computers. That is its greatest attribute(along with how code is organized). The idea of java was so great that MS copied most of the strengths of java and created C#; in which you use today. Oracle has sued google because - simply put: android does not use the java VM. By the way flash is not open sourced - are you going to sell your Android?

Phil H. replied on Sat, 2010/08/14 - 11:00am

Though he may be just saying this in defense of MS he makes sense. Can you really call something open source if you'll get sued for using it according to the license by the owners of the project?

Bruce Fancher replied on Sat, 2010/08/14 - 2:08pm

Yawn. Google will write Oracle a check with a lot of zeroes on it and that will be the end of it.

John J. Franey replied on Sat, 2010/08/14 - 2:30pm

Working knowledge of patent and copyright law is essential for any java developer. With good working knowledge you can avoid infringing upon another developer's intellectual property; you can preserve value in inventions you or your company may own; you might even identify new patentable ideas that may bring you value; give credit to fellow developers' contribution for some of your success; you may even avoid lawsuits.

However, to run a blog, working knowledge of patent and copyright law is not required and even eschewed. Facts are mere technicalities that obstruct high-hit rates and advertising income. What a country.

Ivan Lazarte replied on Sat, 2010/08/14 - 7:18pm

I still wonder why Google didn't purchase Sun, it was just an incredible fit culture-wise, and they should've realized that not buying Java would've exposed them to this type of action. I'm extremely disappointed with Oracle; this really isn't the way to open communication following the buyout and especially one that has been such a champion of the Java platform for so long.

Liam Knox replied on Sun, 2010/08/15 - 2:34am

For what Microsoft attempted to do with Java i.e. bastardise it, fragment and infect the core API's to make it platform dependent, they were rightly sued, lost, and have now gone of to create another bastard in the form of .Net, which also only runs on their Mickey Mouse operating systems that don't work.

That you have chosen to run into Microsoft arms does not really seem a sad loss for the Java world. Thank God for patents, they have ensured Java is by far the most successful language to date

Andrew McVeigh replied on Sun, 2010/08/15 - 1:00pm in response to: John J. Franey

Working knowledge of patent and copyright law is essential for any java developer. With good working knowledge you can avoid infringing upon another developer's intellectual property

sadly, having a working knowledge of the patent system and the patents in your area is actually detrimental to development as it is very difficult to avoid encroaching on the many thousands of technically invalid patents.  the reason it is detrimental is that triple damages are avoided for a knowing breach of patents.  and if you haven't seen the patents, you cannot be held for a knowing breach. hence, looking at patents is deemed dangerous to a software developer.

that's why linus tovalds doesn't look at (or want to know) any of the patents that linux might collide with:  http://www.wired.com/wired/archive/11.11/linus_pr.html

from the article above:

Torvalds is unapologetic about his "don't want to know" email. "As any patent lawyer will tell you, no engineer should ever go looking for a patent." For one thing, he argues, that's a job best left to lawyers; for another, if a competitor can prove a person checked and went ahead anyway, then that engineer would be liable for triple damages.

and that's how broken the system has become. truly a sad state of affairs.

Alex(JAlexoid) ... replied on Tue, 2010/08/17 - 5:22am in response to: Jilles Van Gurp

OpenJDKs GPL v2 also makes sure that patents are freely available for anyones use without fees. GPLv2 is a very anti-patent license.

 But, yes, Java IS opensource while .NET is not. A few years back it was not the case, but now it is.

Oracle's lawyers are idiots, because this stirred up a lot of the dormant Oracle hate.

Alex(JAlexoid) ... replied on Tue, 2010/08/17 - 5:26am in response to: Sami Songo

OpenJDK is opensource under GPLv2. You can get the source, change it and redistribute it. Read the site, it even explains how to hack it: http://openjdk.java.net/

Hassan Turhal replied on Sun, 2012/09/16 - 3:10am

"the idea that Microsoft ... everyone who used their platform ... but yet Java was somehow free from all of this. No programming language"

The problem I have with this tack is a lack of separation between platform and language.
Both .NET and Java are made up of (at least) two distinct parts.
The platform/library and the language.

I think any argument dealing with openness and "free-ness" should distinguish between these two, because the languages and the platforms have varying degrees of free-ness and openness and standards certifications.

I doubt this lawsuit will go anywhere. Oracle seem to be trying to find ways to monetize their new properties and lawsuits are cheap and easy to file, and often result in a quick settlement. The problem is, this will sour many longtime supporters (even more) on the management of Java. If there's an ongoing threat that Oracle might sue anyone and everyone for using Java in any way they don't like, the open sourcers will have a hard time cozying up to Java any more.

Advanced Java Examples 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.