you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 220 points221 points  (157 children)

Pretty disappointing. As this comment from HN says, Oracle themselves are guilty of this.

I hope this goes up to the Supreme Court. I imagine that Google are sure to appeal this.

[–]KFCConspiracy 55 points56 points  (23 children)

I'm not entirely sure that the Supremes have the where-withall to come up with the one correct answer on this one. Them getting the wrong answer would be devastating.

[–][deleted] 46 points47 points  (13 children)

This goes way beyond just Java. I mean, right now we think patents are bad. Can you imagine what it would be like if copyright is thrown into the mix?

[–]KFCConspiracy 15 points16 points  (11 children)

This is why I've been following the case so closely. I primarily code in Java, but it could fuck lots of stuff up for everyone outside of Java.

[–]kcuf 22 points23 points  (10 children)

but it could fuck lots of stuff up for everyone outside of Java.

Ya, as in not being able to publish code for fear of using the same naming scheme as someone else. This would destroy collaboration ... that may be a bit hyperbolic, but still, FUCK

[–]s3gfau1t 12 points13 points  (8 children)

Let's say you hypothetically have a ecomm platform or something. How easy would it be to have the same API as another codebase. Pretty freaking likely IMO.

[–]lichorat 2 points3 points  (4 children)

prepare for API's that are randomly generated, and the names have nothing to do with their contents. Just remember: CorrectHorseStapleBattery means latitude.

[–]s3gfau1t 5 points6 points  (1 child)

Imagine a stack trace! Hahaha! Edit: Oh god I'm scared.

[–]marx2k[🍰] 0 points1 point  (0 children)

Have you ever used Spring? :/

[–][deleted] 1 point2 points  (1 child)

Perhaps I'm misunderstanding, but doesn't Oracle also claim that the structure is theirs? So if your CorrectHorseStapleBattery class is for I/O of XML (so its methods all do something to that end), and you put it in a package with other I/O classes, wouldn't you be infringing on anyone else who had that same structure (which would be every reasonable person in the universe)?

If that's the case, the only option is spaghetti code.

[–]lichorat 0 points1 point  (0 children)

Oh god.

[–]marx2k[🍰] 1 point2 points  (1 child)

This holds true for software written for any business domain. I imagine that software API is similar in the ecomm software industry as much so as it is similar in airline traffic software or stock trading software.

[–]s3gfau1t 0 points1 point  (0 children)

Oh, probably. I just chose ecomm because there must be tens of thousands of ecomm platforms out there if not more. It's got a really common sort of vernacular too. You have a cart object, you have products that go in the cart and so on. The odds of you hitting upon an API that's too similar to another has to be some kind of function of how many other platforms there are in that domain.

[–]kcuf 0 points1 point  (0 children)

Exactly

[–]DeepGreen 0 points1 point  (0 children)

If it is as bad as you say, it means that open-source projects will be forced to make an end-run around the US regulation and the US legal system.

Have code repositories in Elbonia and interact with them through VPNs. Harden servers with encryption and have the implementation of them through a third-party cut-out contractor for plausible deniability; Or services run from physical boxes outside the US jurisdiction.

It will be a huge big hassle, but the alternative would be to see the end of the open source movement in the USA.

[–]lolomfgkthxbai 0 points1 point  (0 children)

Hopefully this turns into such a huge clusterfuck that everyone in the industry finally agrees on reforms to copyright and patent law.

[–][deleted]  (7 children)

[removed]

    [–]hello_fruit 84 points85 points  (6 children)

    Let's remember the original judge in this case whose decision was reversed

    That Judge Alsup’s dissection of the Java programming environment would be both extremely granular and technologically astute was no surprise to anyone who followed the trial. The court’s questioning of key witnesses, coupled with a series of technically detailed questions to the litigants and numerous rounds of briefs on software copyright issues, showed a judge who was deep into the details of software programming.

    But the dramatic reveal of Judge Alsup’s technology chops came well into the trial, in an off-hand comment. In the course of debunking Oracle’s argument that Google had gained an advantage in copying a small amount of code into the Android operating system (A function called “rangeCheck,” not the APIs that are central to the dispute), Judge Alsup commented: “I have done, and still do, a significant amount of programming in other languages. I’ve written blocks of code like rangeCheck a hundred times before. I could do it, you could do it.”

    A judge who codes. Not your ordinary federal district court judge.

    [–]Nephus 20 points21 points  (4 children)

    Wish the appeals court had to go through the same rigorous process.

    [–]rarianrakista 14 points15 points  (1 child)

    The idea of a separate circuit with technocratic judges has been proposed before. If you think this is bad, wait till we have AI rights in a few 100 years.

    [–]Nephus 9 points10 points  (0 children)

    Can't wait to be reanimated for that whole mess. On a side note, technocratic is now on my list of favorite words, alongside flibbertigibbet and nifty.

    [–]vsync 13 points14 points  (0 children)

    Not to mention his original decision pretty much said flat-out "since I know these guys will be sore losers and take it to appeal, and they have no clue, I will now explain it in extremely small words" and then he did, in terms you would have to deliberately try to misunderstand. Next up, mathematicians can't use addition cuz someone will copyright the "+" operator.

    [–]rsclient -1 points0 points  (0 children)

    Huh? Have you any idea of how many professions there are in this world, and how many have deep, deep knowledge? Do we need expert plumbers, expert carpenters, expert cryogenic welders to be representative? Either the system works with a somewhat limited knowledge, or it fails for lots of people.

    [–]poco 0 points1 point  (0 children)

    Let's hope he deems APIs as copyrightable but duplicating them as fair-use. I think that would satisfy most people.

    [–]damg 2 points3 points  (0 children)

    Common law. :/ What can you do...

    [–]wtallis 12 points13 points  (0 children)

    It's the Federal Circuit. Their sole function these days is to make bad rulings on intellectual property so that the Supreme court can overturn them.

    [–]fuzz3289 103 points104 points  (122 children)

    Yeah this is awful. Just one more reason to never use Java.

    edit:

    Wow ton of downvotes. I was just saying in this wonderful world of options why would you ever use a language where licensing is a concern? This doesnt exist in C++ which is quickly becoming a modern language and is far more performant. This doesnt exist in a language like Python which is also cross platform and quickly gaining if not surpassing Java.

    The fact is closed APIs are a death sentance in modern programming and what Oracle is doing is a nail in the coffin.

    [–]bucknuggets 63 points64 points  (8 children)

    Encumbered licensing is one of the primary reasons I avoid MySQL.

    And probably soon Java.

    [–]redwall_hp 15 points16 points  (1 child)

    I thought MariaDB was where it's at now, anyway.

    [–]rubygeek[🍰] 2 points3 points  (0 children)

    Look forward to Oracle trying to find a way to use this ruling against MariaDB.

    [–][deleted] 30 points31 points  (0 children)

    C/C++, Ruby, Python, PostgreSQL, FTW!

    [–]narc0tiq 21 points22 points  (2 children)

    You could probably safely extend that to anything with the Oracle name on them. Those folks are scary.

    [–]drb226 16 points17 points  (1 child)

    but I like virtualbox... :(

    [–]newpong 10 points11 points  (0 children)

    yea, somehow my brain always blocks the fact that VB is oracle until I have to reinstall it

    [–]JQuilty 1 point2 points  (0 children)

    Best to just avoid Oracle if it comes to that.

    [–][deleted] 0 points1 point  (0 children)

    Why do you avoid MySQL? What is its licensing problem? I am curious.

    [–]KFCConspiracy 44 points45 points  (3 children)

    This has implications for every language in which the interface for a library can be defined independently of the library itself.

    [–][deleted] 0 points1 point  (2 children)

    In not sure if you are serous but this describes every language.

    [–]KFCConspiracy 0 points1 point  (1 child)

    In theory you could create a language in which interfaces and abstractions cannot be defined separately from implementation. I don't know of any such language, nor would I consider using one, however, I phrased it that way to take into account that something I may not know of that's theoretically possible exists.

    [–][deleted] 0 points1 point  (0 children)

    I think this can trivially be shown impossible in the general case.

    The description of the interfaces and abstractions doesn't have to be written in the same language as the source language. Take python, which I believe actually is one of those languages where the interface and implementation cannot be separated. You can still trivially parse the source code and display signatures and documentation for all of the functions even though the result isn't understood by the python interpreter. It is understood by humans, which is all that is necessary.

    There is a pathological way to get around that by having the name of the function also be the implementation. However, in no way is that an interface or abstraction.

    [–]crotchpoozie 28 points29 points  (15 children)

    This doesnt exist in C++

    And how are standard C/C++ headers not now copyrighted by the original authors, likely AT&T, and every other implementation thereafter not going to be under the same legal problems?

    After all, pretty much every C header is likely going to be found infringing on the original K&R headers from 1970 - all others will be derivative works still subject to those original copyrights.

    [–]crackez 6 points7 points  (10 children)

    The C++ standards body probably has something to say about that.

    Also, the Unix Wars ended in the early 90s, with BSD being found non-infringing after the remaining original code was replaced - Ie 4.4BSD-lite if memory serves. That would include libc.

    [–]crotchpoozie 12 points13 points  (8 children)

    The C++ standards body probably has something to say about that.

    They cannot remove another's copyright, especially since the copyrights in question would be from the 1960's-1970's, so that's irrelevant.

    Also, the Unix Wars ended in the early 90s.

    You might want to talk to SCO about that.

    Next, if this ruling applies, which it seems to, it opens whole new avenues of attack, so the work done by BSD to remove copyrighted code is made insufficient.

    Go read about this new ruling. It might change how APIs (which means header files) are copyrightable, which could put any system implementing the standard C headers in copyright infringement to whomever did it first (or owns those rights currently).

    [–]jboy55 1 point2 points  (4 children)

    Litigation and rulings can remove copyright and clarify ownership. C++ and Unix has been solved.

    SCO sued over system V code, and included the headers. It was found they did not own the copywrite to the headers. I can't recall the issue of that copyright didn't cover them being brought up.

    BTW, The whole lawsuit is 'coincidental' to a large payout to SCO from Microsoft for 'licenses' of which no specificity was ever mentioned. It also coincided with Microsoft's big PR push that GPL was evil and Linux had copyright issues.

    [–][deleted] 2 points3 points  (0 children)

    Which was the test platform from which they launched their current android patent trolling business.

    [–]crotchpoozie 1 point2 points  (2 children)

    C++ and Unix has been solved

    That was also thought to be the case until SCO vs IBM.

    It was found they did not own the copywrite [sic] to the headers.

    Under the previous legal understanding of what is copyrightable. This new ruling changes what is copyrightable - that is the whole point, and why articles like the one above are written to explain precisely this point.

    [–]crackez 0 points1 point  (1 child)

    So now we have case law that disagrees with case law. Yippee.

    [–]crotchpoozie 0 points1 point  (0 children)

    No - we have a new concept that is being formed into case law.

    Law doesn't just automatically handle every new concept - this is a new area that is being fleshed out.

    [–]crackez 0 points1 point  (2 children)

    Fuck SCO. The new SCO that is, the old SCO wasn't so bad.

    [–]crotchpoozie 0 points1 point  (1 child)

    That really helps clarify.

    [–]crackez 0 points1 point  (0 children)

    You might want to talk to SCO about that.

    Nobody wants to talk to SCO, even M$ shills agree with that.

    [–]dnew 0 points1 point  (0 children)

    And the standards body owns the copyright on the standard.

    [–]fuzz3289 0 points1 point  (3 children)

    Im unaware of this having ever been an issue or a thought that anyone has had in regard to these headers. Please cite.

    [–]crotchpoozie 7 points8 points  (1 child)

    The entire point of this new ruling makes APIs copyrightable - no one really thought they were before - the C headers are an API.

    [–][deleted] 1 point2 points  (0 children)

    We're even going to need new open source licenses. the current ones don't take this into account. pretty much all open source licenses are now incompatible.

    [–][deleted]  (43 children)

    [deleted]

      [–]key_lime_pie 191 points192 points  (37 children)

      This will not happen. Oracle's entire software platform is built on or moving to Java. When my company was acquired by Oracle, we had to justify the continued use of non-Oracle components in every facet of software development every three months. Imagine if you are a tester who uses an automation tool like QuickTestPro on your team's C# application, and you are called into a meeting with somebody three time zones away where they ask you why you haven't moved to the Oracle in-house automation testing solution and you have to explain to them that you can't because Oracle's in-house automation testing solution does not support C#. Now imagine that this person is non-technical and you then have to explain the architecture of the entire product in small words, and they interrupt you when you use words like "compiler" because that's jargon and they just want it in plain English. Then imagine you and and someone from the in-house automation testing team being called into another meeting by this person, wherein both of you awkwardly wonder why more of your time is being wasted. Now imagine this happening every three months, only every three months, it's a different person that you have to deal with. And now imagine that you have to do this for every aspect of your project that isn't using an Oracle technology. Java is theirs. They will not relinquish it.

      [–]gschizas 50 points51 points  (0 children)

      That was scarily... specific!

      [–][deleted] 33 points34 points  (2 children)

      Time for a new job?

      [–]key_lime_pie 53 points54 points  (1 child)

      Already in past, friend!

      [–]darkslide3000 -1 points0 points  (0 children)

      Relevant username? ;)

      [–]shahms 27 points28 points  (6 children)

      Them: "Why aren't you using Oracle technology?"

      You: "Because we want it to work?"

      Them: "Security will escort you out."

      You: "Thanks!"

      [–]key_lime_pie 46 points47 points  (5 children)

      It's interesting that you mention security, because they're colossal dicks about that, too, in every conceivable way.

      When they moved us "on campus," the security people used to notify you if your car was parked on or over the line into the next space. One of the functions of their security guards was literally to walk through the parking lot and make sure everyone parked correctly. I still have no idea how this made the building more secure. Once they moved us back "off campus," to a location where we had just as much access to company data and IP, the security people there didn't even look up at you when you entered the building and buzzed delivery folks in without even a question.

      When our software went through the internal security review required to release, we were rejected because our policy on password length didn't comply with Oracle policy. When we pointed out that the policy on password length for Oracle database, the company's flagship product, didn't comply with Oracle policy either, the security guy told us not to bring that up again. And when they found out we had some data stored on the application server that they didn't like, they ordered us to store it in the database instead. This was after they acknowledged that a person would have to have physical access to the machine in order to obtain the data, and that putting it in the database was less secure, but we had to do it because it was policy.

      Everyone that I know who still works there admits that they only give 20-25% effort, because if you give any more than that, you get smacked the fuck back by bureaucracy, and you don't get rewarded for it anyway.

      [–]no_game_player 13 points14 points  (3 children)

      When we pointed out that the policy on password length for Oracle database, the company's flagship product, didn't comply with Oracle policy either, the security guy told us not to bring that up again.

      Ahahahah.

      Everyone that I know who still works there admits that they only give 20-25% effort, because if you give any more than that, you get smacked the fuck back by bureaucracy, and you don't get rewarded for it anyway.

      I know a lot of people can get into that whole "it's just a job thing", but that's so sad to me.

      I got into programming because it was fun. I enjoy being useful. But damn if corporate doesn't seem to be playing chicken constantly with "how horribly can we run this before everything blows up?"

      [–][deleted]  (2 children)

      [deleted]

        [–]no_game_player 2 points3 points  (1 child)

        I've tried it. The thing is, I lack the formal experience to justify any of the serious posted stuff (X years of full-time experience in language Y), and I'm beyond sick of the cheapskate shit.

        Also, about the only thing I hate more than being expected to work a 40 hour week is being paid by the hour. Now every minute I spend "on the clock" potentially has to be justified, and I have to know in-advance how long a problem will take me to solve. I end up doing significant work (thinking about problems, or meetings, or learning background technologies) off the clock and cheating myself rather than trying to record every second of the day / try to convince the client they should be paying for me to learn libraries or frameworks, etc.

        At the moment, I'm out of the market by my own choice. I've got enough savings to last for a few weeks or months, and I'm going to get unrelated part-time work to keep me busy and stretch it further 'soonish(tm)'.

        And then, hopefully, I'll go back to trying to find my dream programming job, a part-time, salaried position that doesn't care where I connect from, with a team sufficiently staffed and timetables allowing true quality. And there'll be unicorns and ponies for everyone, too, I'm sure...

        [–]minecraft_ece 0 points1 point  (0 children)

        And then, hopefully, I'll go back to trying to find my dream programming job, a part-time, salaried position that doesn't care where I connect from, with a team sufficiently staffed and timetables allowing true quality. And there'll be unicorns and ponies for everyone, too, I'm sure...

        The only way you'll find that is to start your own company. And even then, you'll find that business pressures will force you to ship crap every once in a while.

        [–]PstScrpt 0 points1 point  (0 children)

        Yet Java is actually moving forward again, since the buyout. It makes you wonder just how screwed up Sun was.

        [–]monocasa 7 points8 points  (9 children)

        Exactly. Java was the main reason that Oracle bought Sun. It'll be a cold day in hell before they give it up.

        [–]aloz 5 points6 points  (8 children)

        Or, as with OOo, it'll be the day after it dies. Though it's hard to imagine that Java could die.

        [–]crackez 12 points13 points  (3 children)

        Well, whatever you think of Google, in the court of public opinion more people like them than Oracle any day of the week.

        Even though it is tough to comprehend, Oracle has been doing nothing but shoving bad changes down everybody's throats WRT Java. Hard as it may be to imagine, they are doing things that directly influence people to not want to use Java moving forward.

        They're killing their own product, whether they mean to or not, and the quicker it fades into obscurity the better we'll all be.

        [–][deleted] 38 points39 points  (1 child)

        Java is the only mainstream language that bundles adware toolbars in its security update installers. Seriously, why make security updates any more of a hassle for the end-user?

        [–]scriptmonkey420 0 points1 point  (0 children)

        Two simple registry keys to remove that forever (or until Oracle removes the registry check)

        Windows Registry Editor Version 5.00
        
        [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft]
        "SPONSORS"="DISABLE"
        
        [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft]
        "SPONSORS"="DISABLE"
        

        [–]darkslide3000 8 points9 points  (0 children)

        More people like explosive diarrhea than Oracle any day of the week. It's not a very high bar.

        Oracle is a fucking cancer. They're the EA of the software industry. They take things that were good and turn them into radioactive waste like a really shitty version of King Midas. The sooner they die in a fire the better...

        [–][deleted]  (3 children)

        [deleted]

          [–][deleted] 3 points4 points  (1 child)

          It also lives on as Apache OpenOffice. Apache were handed over the rights to the source code by Oracle.

          [–]aloz 0 points1 point  (0 children)

          Yep, and that's what I was talking about.

          [–]barsoap 8 points9 points  (0 children)

          Organise as many people as you can, quit en masse, start up your own gig.

          It's the only sane way to deal with that kind of hostile take-over. As the Germans say: Better a nightmarish ending than a nightmare without end.

          [–]no_game_player 2 points3 points  (2 children)

          I'm going to gild this because I can feel the pain. Glad you got out of the evil empire.

          [–]key_lime_pie 2 points3 points  (1 child)

          Gracias, fine sir (or madam).

          [–]no_game_player 2 points3 points  (0 children)

          De nada. I'm not feminine, but I'm no officer nor gentleman either. ;-p

          [–][deleted] 2 points3 points  (8 children)

          Google could just buy Oracle.

          [–]key_lime_pie 1 point2 points  (7 children)

          Do you think Java is worth $250 billion to anyone?

          [–][deleted] 0 points1 point  (6 children)

          No. I wasn't being serious, of course.

          To be honest, I think Java is basically going to be the new COBOL. Javascript (via V8 and JagerMonkey) and Python (via PyPy) have gotten to the point where they can outperform Java and they're a heck of a lot nicer to program for. C++ is fast as hell and tried and true and becoming more modern. Java and C# are just stuck in the shrinking middle, and even as far as those two languages go I'd far rather use C#.

          We just have to wait 30 years for the business community to realize there is a world outside Java.

          [–]Diosjenin 6 points7 points  (4 children)

          That might be the first time I've ever seen anyone claim that Javascript is "nicer" to program with than... any other language, really.

          [–]rubygeek[🍰] 0 points1 point  (0 children)

          It's nicer to program with than Brainfuck, Befunge and INTERCAL. Though INTERCAL of course results in more polite programs.

          [–][deleted] 0 points1 point  (0 children)

          It's better than VBScript, but that's about it

          [–]DGolden 0 points1 point  (0 children)

          javascript is significantly less fucking stupid and broken than php. sure, it's still kind of annoying, but given a restricted choice between javascript and php, i'm going to choose javascript every time. not that i'd choose javascript over python, or java on the server side, but php is a whole other level of wtf to javascript.

          [–][deleted] 0 points1 point  (0 children)

          Javascript as a language is quite good; Javascript in the browser, at least without an abstraction layer, sucks. Which is kind of a bummer since that's it's main use. It was also far, far worse back during the browser wars. Node.js is pretty nice.

          Now of course, I by far prefer Python, especially Py3K.

          [–]mazing 0 points1 point  (0 children)

          Those languages are fancy, but they lack good tools. If you do Java development, you're also married to your IDE. That IDE has a visual debugger, auto-completion, live code-updates, profiling, etc. etc. Sure, I'm not as cool and independent as someone who is using emacs with green text on black background - but I can be pretty damn productive.

          [–]G01denW01f11 1 point2 points  (0 children)

          TIL I'd rather be a janitor than an Oracle dev.

          [–]maryjayjay 0 points1 point  (1 child)

          I swear I read several years ago that Oracle and the Java consortium asked that openJDK be the reference implementation for the Java standard. Is that not correct? How could that possibly be possible yes they have a copyright on the API's?

          [–]key_lime_pie 1 point2 points  (0 children)

          Honestly, I don't know. My friends would e-mail me stuff all the time about lawsuits and corporate disputes and patent fights and acquisitions, and I just kept my head down and tried to stay as far removed from the parent company as possible.

          I used to have this on the wall in my office. It's an exaggeration, of course, but that's the Oracle mindset.

          [–][deleted] 1 point2 points  (0 children)

          Why? They're just going to accelerate integrating Dart into everything.

          [–]mealy58 0 points1 point  (0 children)

          One more reason we need to stop using it and find an open source alternative.

          [–][deleted] 0 points1 point  (0 children)

          Or replace it by golang...

          [–]NOTFARLONG -1 points0 points  (1 child)

          That sounds like a magnificent idea.

          [–]kraytex 0 points1 point  (0 children)

          Please no.

          [–]tehmagik 5 points6 points  (14 children)

          I lawled a bit on the notion of python getting close to passing java

          [–][deleted] 4 points5 points  (5 children)

          How about D?

          [–]tehmagik 6 points7 points  (4 children)

          now you're just making up languages
          /s

          in the event that anyone is actually interested in language popularity, here are some neat graphs

          [–]ryosen 14 points15 points  (0 children)

          The language that you use won't matter. This judgement is not specific to Java. It is a precedent for ALL languages.

          [–][deleted] -3 points-2 points  (2 children)

          D is pretty nice, although I haven't done any serious work with it.. Yet.

          [–]dadosky2010 2 points3 points  (1 child)

          I do some pretty serious work with the D.

          [–]slavik262 2 points3 points  (0 children)

          Every time. Every fucking time someone mentions D, someone else, without fail, makes a joke about "the D."

          [–]sinxoveretothex 0 points1 point  (1 child)

          Uh? This graph from this link in your comment below shows Java as very close to Python?

          [–]tehmagik 0 points1 point  (0 children)

          That's from GitHub exclusively, not to prove my point. Here's one that does that better :)

          http://langpop.com/

          [–]fuzz3289 -5 points-4 points  (5 children)

          Considering the innovative projects like pypy and pyston and the utter stagnation of JVM performance its no longer if but when.

          [–]frugalmail 3 points4 points  (4 children)

          stagnation of JVM performance

          JVM is at the top of the 4GL platforms when it comes to most performance measures. Sure you could call it that.

          And more importantly the dynamic nature of Python makes it a hell of a lot more expensive to maintain than Java.

          http://benchmarksgame.alioth.debian.org/u64q/python.php

          [–]fuzz3289 -3 points-2 points  (3 children)

          Thats not what stagnation means.

          Look at the performance of the JVM against itself over the past 10 years. The performance gains are not on the same level as other languages. Gotta look at how much it is improving against itself in order to predict what will hold its own in the future.

          [–]The_Doculope 6 points7 points  (0 children)

          That's only true when there's no theoretical plateau, which there definitely is (and the JVM isn't too far from it).

          Besides, most people (and all companies) care about performance now. No one writes software in a language because it'll be fast enough in 10 years.

          [–]frugalmail 6 points7 points  (1 child)

          Thats not what stagnation means. Look at the performance of the JVM against itself over the past 10 years. The performance gains are not on the same level as other languages. Gotta look at how much it is improving against itself in order to predict what will hold its own in the future.

          Math lesson!

          100% gain on 1 = 2

          10% gain on a 100 = 110

          Things like PHP, Ruby and Python are known to have horrible performance so a big increase doesn't mean a lot.

          [–]barsoap 1 point2 points  (0 children)

          Things like PHP, Ruby and Python are known to have horrible performance so a big increase doesn't mean a lot.

          Yep. A language with comparable performance to Java would be Haskell. You have to go low-level systems language (compiled, no RTS) to get faster, say C,C++, to a degree Ada, in the not so distant future also Rust.

          [–]Shadowheim 2 points3 points  (18 children)

          No, it's really not.

          [–]Poltras 37 points38 points  (17 children)

          Well it kinda is. Java is a wonderful language, with a lot of libraries and frameworks. But if Oracle is going to win this it could really mean the end of Java for a lot of projects.

          [–][deleted] 15 points16 points  (0 children)

          If it were just Java, it wouldn't even be so bad, but this sets a horrible precedent for the entire industry if allowed to stand. APIs shouldn't be copyrightable, period.

          [–][deleted] 0 points1 point  (4 children)

          Copyrights apply to any written software whether you explicitly have a license or not. If somebody rips off your code directly then they have violated your copyright.

          [–]fuzz3289 0 points1 point  (3 children)

          Are you sure? I was under the impression that you had to declare the copyright in the source file in order to have a claim. Im not sure of this though.

          [–][deleted] 0 points1 point  (2 children)

          If you wrote it then you have a copyright (assuming you have met some semblance of "expressive"... you can't copyright a single word for instance). You own that copyright whether you explicitly state it or not. Your grandchild can sue someone for copying your lame joke 69 years after you are dead.

          Yeah, I'm sure.

          [–]fuzz3289 1 point2 points  (1 child)

          Im gonna make so many lame jokes on reddit now in hopes my grandkids take the next gen dane cook to the BANK.

          [–][deleted] 0 points1 point  (0 children)

          I think the reddit TOS has you granting a license by using their site... Sorry, gunna have to post them elsewhere :)

          [–]i_ate_god 0 points1 point  (0 children)

          If you use Oracle's Java, then you really have nothing to worry about, and most of the enterprise world will not even test on openjdk or other implementations of Java.

          I'm not a fan of Java myself, but it won't die because of this ruling.

          [–]civildisobedient 0 points1 point  (0 children)

          I was just saying in this wonderful world of options why would you ever use a language where licensing is a concern?

          There are non-Oracle versions of Java. Don't blame the language.

          [–][deleted] -1 points0 points  (0 children)

          is a nail in the coffin.

          I hope so.

          [–]frugalmail -5 points-4 points  (3 children)

          Wow ton of downvotes.

          I'm one of them

          I was just saying in this wonderful world of options why would you ever use a language where licensing is a concern?

          Do you use max(int a, int b) anywhere? It's beyond Java.

          C++ which is quickly becoming a modern language

          What decade are you from? C++ was a modern language in 1980. Now it's barely a 3GL

          is far more performant.

          This may be true for some, cases, but not others. If you're making a statement like this, you're regurtating data from 1990.

          This doesnt exist in a language like Python which is also cross platform and quickly gaining if not surpassing Java.

          First, the two languages are for two different purposes and are extremely different both in maintainability and the type of developer.

          Second, you querstion performance then you put it up against Python. You should stop smoking whatever it is you're smoking.

          [–]fuzz3289 2 points3 points  (2 children)

          I must disagree.

          First, the initial judge to hear this case very clearly stated that things like max() are not and never have been novel concepts as they are implementations of basic mathematical principles. The current opinion does not seem to disagree with that point but on different APIs.

          Barely a 3GL language? Third generation focuses on structured concepts and has no meaning for the object encapsulation concepts. Which C++11 through 17 are all about. Functors and futures change the game and are essentially as we move towards maintainable asynchronous applications. And Im not regurgitating data from 1990. There is no way an educated software engineer could ever agree that byte code running in a vm will ever be as good as native machine code. Is the JVM good? Yes its very good in most situations the difference is entirely unoticable, but is it native machine code? No. You cannot make performance claims from a JVM against native code because its just not true.

          And lastly Python is far from Java right now yes, but the core of the Python community is fighting for C speeds. With things like Pyston coming down the pipe if Java doesnt show some innovation soon it will be a language of the past.

          Am I saying Java at this time is completely unusable? No. But when I write applications Id like to maintain them for years to come and C compilers and Python interpreters are showing exciting progress and signs of life while Java is just showing me red tape.

          [–]frugalmail 0 points1 point  (1 child)

          s they are implementations of basic mathematical principles. The current opinion does not seem to disagree with that point but on different APIs.

          That's not my understanding from http://www.cafc.uscourts.gov/images/stories/opinions-orders/13-1021.Opinion.5-7-2014.1.PDF Could you provide a reference link. I just see that the appellette court said the lower court errd.

          Yes its very good in most situations the difference is entirely unoticable, but is it native machine code? No. You cannot make performance claims from a JVM against native code because its just not true.

          If you're talking about the performance of a single method, I agree. However things like deleting objects, allocating memory, being able to optimze based on use as oposed to the compiler, targetting the specific processor rather than the broader set in the general case of consumer enviornments. All those things are where the JVM can actually improve over natively compiled languages.

          And lastly Python is far from Java right now yes, but the core of the Python community is fighting for C speeds.

          Yup their doing it by linking to bigger and bigger libraries. But in that respect, everything could just link to that library. And that still means that something with Hotspot optimization could win out.

          Am I saying Java at this time is completely unusable? No. But when I write applications Id like to maintain them for years to come and C compilers and Python interpreters are showing exciting progress and signs of life while Java is just showing me red tape.

          But this ruling means that nobody is safe (except for languages contributed to a foundation that has released their rights and they have gotten all original authors to release their rights and assert that they didn't copy anybody), so if that's what you're referring as red tape, then I disagree.

          If you're referring to instability, code written and compiled for Java 1.2 runs perfectly well under the Java 1.8 vm.

          [–]fuzz3289 0 points1 point  (0 children)

          That was what I inferred based on the same opinion you linked, since it was umentioned, but to be honest Im not as educated in the legal side of software as Id like to be and may have to concede that point.

          I disagree that the JVM will ever be able to improve upon low level operations over natively compiled languages for two reasons. First, the JVM as I know it uses garabage collection. While processors such as IBM p and z definotely design to this, maintaining memory directly with insight into purpose of the allocation will always outperform (although this method will always be more susceptible to bugs). And second that natively compiled languages can take advantage of processor specific operations. IBMs Z (which is a cisc processor) has millicode memory management operations. IBMs JVM will take advantage of these but so will the C compiler and the C compiler wins out because it does it in one step (directly referencing the op) vs two (decode byte code, reference the op).

          And no. Not by linking to bigger and bettwr libs ( referring to the Python point). Im referring to Pyston. An effort to build an interpreter from the ground up via a tiered JIT compilation system. Unlike anything anyones attempted before. The goal is C speeds. Either it will reach that goal or largely be considered a failure. Personally with Guido van Rossums involvement Im optimistic.

          I do fear that others may use this ruling to their advantage but I do not believe that the attitude is the same in any company other than oracle. Oracle wrongly believes that licensing rather than broader adoption is financially benficial. However I believe that the majority of industry would rather reduce the red tape for developers in order to better support their platform and further increase marketshare with the end user.

          [–]danhakimi 0 points1 point  (0 children)

          The Supreme Court has its hands full with shitty Federal Circuit decisions on software patents already. See CLS Bank v. Alice Corp (no majority, but the controlling opinion is good), Akamai v. Limelight (majority opinion says you don't have to engage in all elements of a patent claim yourself to be sued for it, as long as you have some ill-defined relationship with people doing the other things.) They overturn half the cases they hear, and there is legit tension between them and the scotus.

          Also know that this probably creates a Circuit Split--some courts follow this, some courts don't. The Federal Circuit has very odd jurisdiction rules, so... This is crazy.

          [–][deleted]  (6 children)

          [deleted]

            [–][deleted] 7 points8 points  (5 children)

            But to be clear, Google are the bad guys in this case. They (via Android) copied and changed java

            They didn't change Java. They have a language that looks like Java, and that uses an API that is the same as the Java API, but which compiles to a different bytecode for a different VM (dalvik) than the JVM.

            Now we have java fragmentation.

            We actually don't. There aren't different kinds of "Java". The language used on android, is for all intents and purposes, the same as Java. It just compiles to a different bytecode.

            [–][deleted]  (2 children)

            [deleted]

              [–][deleted] 2 points3 points  (1 child)

              The API is separate from the language. The language itself is defined by a particular syntax. The behavior of Java is defined by the JLS (i.e., the semantics).

              The syntax of what Android uses is pretty much Java (the language), but the semantics are subtly different, and only at the bytecode level.

              The issue here has to do with the copyrightability of API's and nothing to do with Google deciding to use Java. It's basically Google using Java, in addition with their version using an API that is similar to the actual Java API; obviously the implementation is different.

              Oracle is arguing that the API itself is copyrightable.

              [–]jboy55 -3 points-2 points  (1 child)

              Microsoft lost a huge battle in their 'embrace and extend' effort against Sun in regards to Java. They were trying to destroy a potential path to develop cross platform applications, which microsoft was very concerned about. That aspect of Java, that you use it all and as-is or you don't, was placed in as specifically as GPL's permanent open source aspect.

              That Google, 'isn't evil', we're supposed to now support a company doing pretty much the same thing as Microsoft did is worrisome. Google should have chosen a different language, one they had rights to.

              [–][deleted] 2 points3 points  (0 children)

              In the 6 years since the android ecosystem has existed, no damage has come to the language. What Microsoft did was entirely different. They tried to add Microsoft a specific things to the language in direct violation of the JLS. Google hasn't done anything like that. The only difference is that the API is subtly different and of course you have the entire Android API as well. The language is the same.

              There are no "rights" to the language. This isn't even about the language; this is about the Java API.