Slashdot Mirror


Beyond An Open Source Java

Karma Sucks writes "LinuxToday is featuring a intriguing article on why Sun should open source Java, as a stronger followup to the recent ESR saga that was reported here. The writer notes: 'Sun needs to do some radical things to improve its chances of survival, and all of them involve Open Source in some form or the other.' One thing the article fails to mention is the threat of Mono, which should be of special interest to Sun, with its vested interest in GNOME."

16 of 550 comments (clear)

  1. Biggest threat is Microsoft by maliabu · · Score: 5, Interesting

    in previous discussion, those opposed OpenSource Java suggested that with MS's domination today, MS can easily 'improvised' OSJava to become a run-on-windows-only-OS-Java (WOOSJAVA).

    it doesn't matter if anyone else is going to benefit from/use/modify this WOOSJAVA, most likely it will just be preinstalled in all Windows shipped.

    and regardless of what others may like to think, most consumers of MS will think that this WOOSJAVA is now the standard.

    so in the end, maybe even Sun needs to write things to accomodate this WOOSJAVA in order to survive, that'll be ironic.

    1. Re:Biggest threat is Microsoft by MBCook · · Score: 4, Interesting
      That's why the article suggests a dual license with the GPL. That would mean that either MS would have to buy a license that would allow them to modify the language at will (which Sun can just refuse to sell), or they would have to do it to the GPL version and they would have to release the changes to the community which would keep it from being Windows only. If you add in all the stuff that MS has to say against the GPL, they would either have to eat some serious dirt/crow/hat or they would have to not touch the language.

      Also, there is the fact that if they do that they can't call it Java, because Sun owns that name (credit for this point goes to a sibling comment).

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
  2. Re:Java, who needs it? by jhouserizer · · Score: 5, Interesting
    You're talking about clien-side Java. I.e. Java applications with UI.

    This article is talking about J2EE (server side) applications. Which often benchmark faster than natively implemented code.

    P.S.> Java desktop applications are fairly speedy if you use UI libraries such as SWT - which work directly on GTK for example.

  3. Sun doesn't NEED to Open Source anything by fihzy · · Score: 5, Interesting

    Sun has enough fingers in enough pies that will keep it going strong regardless of where it's open source strategy goes. The recent deal with the Chinese standard software company shows that it can leverage open source products without having to open source anything so big as Java to establish their commitment.

  4. What they are talking about? by aled · · Score: 4, Interesting

    There are some interesting points, but others are nonsense. "needs to position its own (Open Source) NetBeans and rival IBM's Eclipse as mere IDEs that support the Ant way of building applications.". Is publicy know by anyone interested that almost every major IDE supports Ant.
    " Sun can lend credibility to Mozilla and XUL.". As much as I like Mozilla (I'm using it right now) I don't know if anyone could do that.
    This is just an order of magnitud above ESR lowly comment but it still missing the target.

    --

    "I think this line is mostly filler"
  5. Re:That would suck for java... by kindofblue · · Score: 4, Interesting
    Yeah, I expect that an open source project would break things much more. Eclipse breaks the plugin.xml format subtley everytime. EMacs libraries always have bad interaction. Mozilla's XUL API has given me headaches, and is horribly, horribly, horribly documented.

    The big plus side to open sourcing is perhaps the language could be forced to match the nice features of C#, like unsafe constructs and precompilation, both for performance reasons. There's only so much JIT optimization you can do. But precompiling (like GCJ, but intrinsic to the VM) would provide greater opportunities for large scale full source tree optimizations. Compiler writers have been doing this stuff for 50+ years.

  6. Re:High cost of J2EE? by jhouserizer · · Score: 4, Interesting
    Quite a few more, depending on your definition of "J2EE Application Server". J2EE is a collection of specifications, and you only need to implement one (or more) of those specifications to be considered a J2EE server....

    But there are other Open Source "full j2ee stack" application servers out there besides JBoss - Jonas for example.

  7. The complexity problem by sfjoe · · Score: 5, Interesting

    The most compelling argument he makes is the complaint about the complexity EJBs:

    An Enterprise JavaBean (EJB), which is a component containing business logic, typically requires 5 to 7 supporting files to deploy.

    This is the real issue that Sun needs to address. Java is widely used in enterprise apps because it is easier and faster (therefore cheaper) to develop apps. However, EJBs have some fundamental flaws that add unnecessary complexity and network overhead. I have developed apps for some of the busiest sites in the world and the requirements to strip the code down to the essentials are not compatible with EJBs. More times than not, EJBs are ditched in favor of a servlet-based front-end and a proprietary persistence solution.

    --
    It's simple: I demand prosecution for torture.
  8. Re:No relief by Simon+Brooke · · Score: 4, Interesting
    I make a living writing custom browser based applications, and mostly use JSP/Servlets for the job. . . So I feel that I am part of the "Java user community" and as such I can tell you that I would feel no relief if Sun chose to open source Java.

    Microsoft effectively broke Java by extending it to allow the implimention of native windows widgets that wouldn't run cross platform and since Sun owns Java they were able to sue, and win. I think if Java were open source MS would be free to break it again. It's an old argument and one that we have heard over and over again but it has staying power, I believe, because it is true.

    Oh, do read the fscking article before posting, just for once!

    Yes, I too make my living writing (mainly) servlets. I think this article makes a lot of sense. The whole stack of tools I use for Java is open source. Partially this is necessity: the stuff I write and sell is open source, so it can't depend on for pay components. But it also can't depend on closed source components because my customers need to know that they can still maintain it if I walk under a bus. They need to have the source.

    And, frankly, in today's climate, the same applies to Sun. The computer game is too rough and too fast moving for any second-tier player, like Sun, to have any guarantees of surviving. And people aren't going to bet their businesses on a technology which might disappear from under them just because Bill Gates decided to buy Sun with the spare change for a couple of beers.

    If Sun choose - as this article suggests - to dual license Java, with one license being entirely closed and proprietary and the other being the GPL, then Microsoft cannot legally poison the well. Any change they make, they have to publish the source.

    If Sun GPL Java they still own Java and they can still sue if Microsoft breaks the terms of the GPL. For Sun to adopt the strategy outlined in this article would, in my mind, be a win for all of us - for you and me as software developers, for our customers' security in their business strategies, and for Sun. I really hope (but don't in the least expect) that Sun will follow this advice.

    --
    I'm old enough to remember when discussions on Slashdot were well informed.
  9. facts and not BS by Anonymous Coward · · Score: 5, Interesting
    Ok, I work in the financial software domain and from first hand experience, I see the opposite happening. the article says this, but I see no proof of it.

    However, if you put your ear to the ground, you will discover that Microsoft's .NET framework is finding its way even into such organisations as a "tactical solution" for smaller, departmental level projects. It is dangerous for Sun to ignore this trend. In the early nineties, Sun's workstations were far more capable (and far pricier) than the humble PC powered by a lowly Microsoft OS called DOS. Today, Sun has lost the workstation market to an evolved PC, running an evolved Microsoft OS, in spite of its initial advantages in power and openness.

    Java never had a strong presence on the client side. I know of several financial software companies that are going with a java middle/backend and .NET front end. There are several reasons for this: the first one is webservices and the second is proven scalability of java application servers. I won't name the companies, but those in the OMS (Order Management Systems) industry will know this is one trend. Just google for it and you'll see several of the top companies are moving towards J2EE for the serverside. In fact the companies winning in the financial software world is changing as a result of OpenSource software and J2EE.

    Rather than see Sun simply OpenSource Java, I would rather Sun do two things. the first is make it a real standard and resubmit it to a standard body. the second is provide a BSD style license of Java. When I say Java, I mean just the JVM/JRE. I work with .NET on my day job. MS has made great strides with .NET, but scalability for large systems still sucks big time. Websites that used to use ASP + MTS will see great improvements in reliability and performance. What they won't see is a great improvement in scalability. That basically means transactional systems that were hard to maintain and difficult to develop previously on windows will be easier to build and maintain.

    A professional developer, who is open minded will already know this. The real problem with using .NET is if your business needs to grow to support large scale deployments, it's a dead end. Eventually, the system will have to be replaced with a proven J2EE solution. what do I mean by large? Large might be a transactional system that is message oriented and needs to handle 300-500 transactional messages a second, or requires distributed transactions. Doing these things in .NET still very difficult, but like these types of applications were ever easy. The fact is, .NET makes easy stuff easier to build, but for hard stuff, it basically can't do it well. That's where java shines. Java is harder to learn for simple stuff, but ultimately allows you to scale to massive levels, like handling 2K transactional messages a second.

    Most companies don't need that kind of power and probably never will. Microsoft is strongest in small and medium/small firms. Ignoring all the PR BS, that world has remained basically the same.

    1. Re:facts and not BS by cyberjessy · · Score: 5, Interesting

      Who modded this interesting!

      Websites that used to use ASP + MTS will see great improvements in reliability and performance. What they won't see is a great improvement in scalability. That basically means transactional systems that were hard to maintain and difficult to develop previously on windows will be easier to build and maintain.

      ASP.Net is one of the most scalable web platforms available. Which is why match.com(serving 30 million pages/day) uses ASP.Net. The whole system runs on around 40 servers, each balanced at 50% load. Microsoft's msn.com + microsoft.com get more hits than any other site in the world after yahoo. Based on the projects i ve worked on, we were able to achieve better scalability than anything I have seen in Java at a lower cost.

      Large might be a transactional system that is message oriented and needs to handle 300-500 transactional messages a second, or requires distributed transactions.

      You said you work with .Net on your day job! I cant believe you have no clue how to do distributed transactions on .Net. You can read the DistribTransaction sample source code that installs with .Net. Distributed Transaction support is very strong in .Net.

      --
      Life is just a conviction.
  10. Re:Java is ok by malachid69 · · Score: 5, Interesting

    I completely agree (with everything except SWT/Eclipse).

    Everyone was talking about how Java is slow, and how it looks ugly, and we should do our app in VB.

    My boss let me write it in Java anyways (with comments that if it did NOT perform well and look good, we might have to redo it in something else).

    I passed it off to the guy doing the C++ remote server, and he was completely impressed with the looks and speed (yes, it was even Swing on Windows). I came into work the next morning to everyone congratulating me on a great UI, because evidentally it was shown off to everyone at the Pub the previous night.

    The point is, there are a few problems of bad performance/look in Java UI... These are:
    1) User is using an old version of Java, usually one that is end-of-lifed.
    2) The coder wrote it in AWT
    3) The coder wrote it in Swing, but without reading ANY of the documentation on Swing+Threads
    4) The UI was patched & patched over and over, without designing it correctly first
    5) The coder didn't utilize any look-n-feels
    6) Bad threading design (ie: synchronizing when there is no need to, etc)

    Is there anything that could be done better? Of course, otherwise there would be no one coding with the JCP. But, can you HONESTLY say any other language is completely perfect as-is?

    I don't agree with your point about Eclipse/SWT though. I have a serious problem with needing to install any 3rd-party platform-specific java libraries... just goes against the whole concept of pure-Java, but then again, I am a purist. I also don't like the overall look of the SWT apps (some of the things like the disappearing Xs on the tabs annoy the hell out of me), and don't like the complexity that Eclipse adds to simple projects. I remember feeling the same way about JBuilder years ago, but to a lesser degree. Today, I write all my Java code in JCreator (or pico if I am logged into my BSD box), and use ANT to build with.

    I am also tired of all the "Java-should-be-Open-Source" by people who have never bothered to spend 10 minutes looking into the JCP and how Java IS currently Open Source and how Java is NOT run exclusively by Sun anymore. Every couple days/weeks, I log onto Slashdot and someone else is making these presumptious claims without looking into the facts.

    Just my 2 cents

    --
    http://www.google.com/profiles/malachid
  11. Re:That would suck for java... by gidds · · Score: 4, Interesting
    perhaps the language could be forced to match the nice features of C#, like unsafe constructs and precompilation

    Either would remove some of what makes Java great.

    Unsafe constructs would risk punching huge holes through Java's nice safe sandbox.

    And precompilation would probably mean that compiled code gets distributed rather than bytecode; 'Write Once, Run Anywhere' doesn't mean much if you can't get hold of anything you can run!

    --

    Ceterum censeo subscriptionem esse delendam.

  12. Mod parent up! by earache · · Score: 4, Interesting

    We just scaled a single server asp.net solution to a 5 server farm without a single code change or recompile.

    I did have to change one line in the web.config file though. I guess that 10 minutes of my time isn't a great improvement in scalability? :p

  13. Re:That would suck for java... by kindofblue · · Score: 4, Interesting
    The C# way (and the way some java tools worked before the JIT VM) is that byte-code is distributed but the client-side machine compiles it ahead of time and saves the compiled code. There is no difference to the sandbox security, with respect to ahead-of-time compilation, as long as the cached code on disk is secure. JIT VM always compile it as the code runs and then discards the compiled byte-code.

    So basically what I want is that the compiled code should be cached and stored on disk, e.g. like a browser loading cached pages when they are still up to date. Not everything needs to be cached, since profiling (that is behind the current Hotspot technology) could be used to identify those parts of the code that should be aggressively optimized. So those critical areas should automatically be aggressively optimized, which takes time and that should be cached. That's what I would ideally like to see in java.

    Also, as for unsafe constructs, I've read about them in C# but haven't developed with it. However, I have used the java native interface. It is really ugly and very cumbersome and intrinsically system-dependent. Sometimes it is necessary to use JNI for performance and for low-level interfaces to the machine. I want something that's low-level but easier to use than JNI for those rare occasions where you've gotta have it.

  14. IBM urges Sun to make Java open source by burtonator · · Score: 4, Interesting

    This was just published an hour ago:

    IBM on Wednesday sent an open letter to Sun Microsystems urging Sun to make Java technology open source, CNET News.com has learned.

    In a letter sent by Rod Smith, IBM's vice president of emerging technology, IBM offered to work with Sun to create a project that would shepherd development of Java through an open-source development model. If implemented, portions of Sun's most valuable software asset--Java--would be freely available, and contributors ranging from volunteer programmers to large corporations would submit changes to the Java software.

    http://news.com.com/2100-1007_3-5165427.html