Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Java Programming Sun Microsystems

Beyond An Open Source Java 550

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."
This discussion has been archived. No new comments can be posted.

Beyond An Open Source Java

Comments Filter:
  • Dumb question (Score:3, Interesting)

    by Brian Dennehy ( 698379 ) on Wednesday February 25, 2004 @07:47PM (#8392542) Homepage
    So what exactly is closed-source right now? The language is obviously out in the open. Is that copyrighted? Is it the compiling into binary code itself that is copyrighted?
    • Re:Dumb question (Score:5, Informative)

      by Amsterdam Vallon ( 639622 ) * <amsterdamvallon2003@yahoo.com> on Wednesday February 25, 2004 @07:54PM (#8392597) Homepage
      The problem is the way Java is being developed and maintained as a proprietary programming language base.

      There are two major Java implementations currently in use -- one by IBM, one by Sun Microsystems. Both of them may come without charge, but are without the freedom that would make them qualify as Free Software.

      Therefore, all software written in Java (even software under a Free Software license) running on such a platform will "put the user's freedom at risk" (a quote from FSF/GNU people). It's like running Free Software on Windows.

      If you want more detailed 411 about the status of Free Software versions of Java, hit up the following URL:
      http://www.gnu.org/directory/devel/prog/java/ [gnu.org]
      • Re:Dumb question (Score:5, Insightful)

        by aled ( 228417 ) on Wednesday February 25, 2004 @08:31PM (#8392916)
        Last I read is that Sun doesn't have a problem with open source implementations of Java, is just that Sun isn't doing one. [java.net]
      • Re:Dumb question (Score:3, Informative)

        by deanj ( 519759 )
        I'm not getting something. When you say "but are without the freedom that would make them quality as Free Software" ....what does that buy you? And how is "this putting the user's freedom at risk"?

        I'm free to develop whatever Java software I wish. They're improving it like crazy, with the help of tons of pretty smart people (look at Doug Lea's working group's contribution in the latest JDK).

        Maybe I'm not getting something here, but it sounds like people just want it to be open source so it can be open
        • Re:Dumb question (Score:5, Insightful)

          by Pieroxy ( 222434 ) on Thursday February 26, 2004 @02:17AM (#8394910) Homepage
          Some benefits:
          1. Tomorrow, Sun might decide to charge for a JVM. Then you will be screwed.
          2. They might decide to drop Java, closing all future to all your beautiful programs.
          3. What if Sun decide not to support your favorite platform? (Say BeOS, or Linux on PS/2, or HP48SX...)

          With open-source, this is less likely to happen - though still possible. We can imagine for Java that we will always have some geeks ready to give a hand even if Sun dropped the whole thing.
          • Re:Dumb question (Score:5, Insightful)

            by __past__ ( 542467 ) on Thursday February 26, 2004 @04:46AM (#8395472)
            1. Tomorrow, Sun might decide to charge for a JVM. Then you will be screwed.
            Or you can use another JVM instead and live happily ever after.
            2. They might decide to drop Java, closing all future to all your beautiful programs.
            Even if they would use their Java trademark to enforce that no other JVM would be able to use that name when they decide to stop the JCP and development of the Sun JVM, people could just call the other implementations something else, use existing programms with that, and create a new process to further the development of the language.
            3. What if Sun decide not to support your favorite platform? (Say BeOS, or Linux on PS/2, or HP48SX...)
            Then you use an alternative JVM that does support it, or if there isn't any, port one of them yourself. Which is even possible with the Sun JVM - this is exactly what the FreeBSD Java project [freebsd.org] did.

            Sun has copyrights on one of many JVMs, which is closed source, and they control the name "Java" by holding the trademark. This is all, and this is not enough to effectively control the use of the language, even if they wanted to screw customers.

      • Re:Dumb question (Score:5, Informative)

        by malachid69 ( 306291 ) on Wednesday February 25, 2004 @09:29PM (#8393366) Homepage
        Ok, for all those people who keep talking about how Sun is running Java, and how it is closed source, please read this faq [jcp.org] before posting anything further about it.

        Three specific quotes:

        Q: How many people are currently JCP members?
        A:
        The JCP has over 500 company and individual participants.

        Q: What prevents Sun from controlling or dominating the groups that develop and maintain Java specifications?
        A:
        Sun, and the other Executive Committee (EC) members, serve as technology oversight groups for the work of the Expert Groups. The ECs do not micro-manage the day-to-day workings of Expert Groups. Rather, the ECs have the opportunity to review the work of each Expert Group at well-defined points as their specifications proceed through the JCP. The primary function of the ECs is to ensure that specifications do not overlap or conflict with one another and that the specifications meet the needs of the industry segment for which they are being written.

        The following EC members elected by the community during the JCP EC Elections in October and November of 2001 took office on November 20, 2001: Apache Software Foundation, Apple, BEA Systems, Borland, Caldera Systems, Cisco Systems, Compaq, Ericsson, Fujitsu Limited, HP, IBM, Insignia Solutions, IONA Technologies, Macromedia, Matsushita Electric Industrial (Panasonic), Motorola, Nokia, Oracle, PalmSource, Inc., Philips, RIM, Siemens AG, Sony, Texas Instruments, and Zucotto Wireless, as well as an individual participant, Doug Lea, representing the research and education communities

        • by Arioch_BDV ( 756244 ) on Thursday February 26, 2004 @01:29AM (#8394719)
          Take a look at .NET
          IT has open ECMA specification - and Microsoft made a great P on that.

          But the real programs will be made upon MS .NET with all it's propietary extensions to the standard. The standard itself is gonne mean nothing.

          Projects like www.DotGNU.org understands it well, so they are running behind (and trying to chase) the very MS libraries, not only the standards.
          And Microsoft said that it is their strategy - add new technologies so fast, that competitors have no time to invent their own one.
    • Re:Dumb question (Score:3, Interesting)

      by Trejkaz ( 615352 )
      It's not really closed source. They let you download the source, they let you compile the source, they let you run the binaries, I think the limitation is on the redistribution of those binaries, and the source. So I would have considered it open source, but non-free.
      • Re:Dumb question (Score:5, Informative)

        by Mysteray ( 713473 ) on Wednesday February 25, 2004 @09:45PM (#8393476)
        It's not really closed source. They let you download the source, they let you compile the source, they let you run the binaries, I think the limitation is on the redistribution of those binaries, and the source. So I would have considered it open source, but non-free.

        You can consider it whatever you want. However, there is an official Open Source Definition [opensource.org] that most people mean when using the term. Also see the Debian Free Software Guidelines (DFSG) [debian.org]. Sun's Java process, though fairly open for a commercial software product, doesn't comply with the letter or the spirit of either of these.

  • by Anonymous Coward on Wednesday February 25, 2004 @07:48PM (#8392547)
    Incompatibility would run rampant. My java apps barely work for my phone as it is.
    • by kindofblue ( 308225 ) on Wednesday February 25, 2004 @08:03PM (#8392698)
      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.

      • by Anonymous Coward
        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.

        Well.. I think the potential for optimization is greater after linking, at runtime. Just imagine inlining library calls, for instance.

        The real advantage, however, is the jvm's access to real run-time performance data. Even if you waste 1% of the app's cpu-time on profiling and dynamic recompilation, you quickly make up fo
      • by Lobachevsky ( 465666 ) on Wednesday February 25, 2004 @09:53PM (#8393524)
        Sun's jvm for jdk1.5 caches JIT code in shared storage.. their 1.5 site even mentions that startup time is almost negligible now, even for large java apps.

        I was rather surprised, actually, to see the amount of change from 1.4 to 1.5, at all levels: language, jdk, and jvm. The language itself has a lot of C++/C# features now like covariance and contravariance. 1.5 has more improvement over 1.4 than 1.4 over 1.1, in all aspects, imho.
        • by jallen02 ( 124384 ) on Wednesday February 25, 2004 @11:26PM (#8394093) Homepage Journal
          Well, NIO was pretty good for what its worth.

          NIO adds in some really great I/O capabilities. I absolutely love having channels/selectors for network servers. 5 hours of coding on a network server to go from single thread per connection to one thread multiplexing all of my I/O. Using a few worker threads to process incoming data and my stress testing I used before doesn't even come close to pushing the server like it used to. I had to increase the brutality of the testing quite a bit more to find top level performance.

          I know I/O is just one aspect of programming, but it is VERY key to overall performance.. and in I/O bound apps NIO is a godsend.

          So anyway, there were some really good improvements in 1.4. I think 1.4 was a pretty marked improvement just because of NIO.

          Jeremy
      • by gidds ( 56397 ) <slashdot.gidds@me@uk> on Wednesday February 25, 2004 @10:51PM (#8393906) Homepage
        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!

        • by kindofblue ( 308225 ) on Thursday February 26, 2004 @12:49AM (#8394518)
          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.

    • by bigsteve@dstc ( 140392 ) on Thursday February 26, 2004 @12:10AM (#8394301)
      I disagree:
      • Open sourcing Java would not force Sun to accept additions to the standard codebase that would break compatibility. They get to choose what goes into Java software that they ship.
      • Open sourcing Java would probably reduce the tendency for incompatible open-source implementations. Since open-source implementors are not required to reimplement as much, there would be less opportunity for mistakes.
      • Open sourcing Java would encourage other vendors to open source their Java-based products. This exposure would in turn encourage them to smarten up their act. [Actually, Sun could even some up with a model that forced third-party vendors to open source any components that are critical to. For example, Sun could say that open sourcing is a prerequisite for a Sun endorsement of compatibility.]
      • Sun will still control the trademarks, and will still be able to say "you cannot call this XXX because it fails such-and-such compatibility test". [This assumes that they remove the barriers that make it hard for open source developers to access the compatibility tests.]
      • If Sun were to be a bit creative, they could do more to discourage incompatibility. For example, a Sun endorsed website for documenting known incompatibilities would be a great resource. It would also provide an incentive to developers to fix up their incompatible crap.
    • by Bingo Foo ( 179380 ) on Thursday February 26, 2004 @11:29AM (#8397495)
      Incompatibility would run rampant. My java apps barely work for my phone as it is.

      Yeah, no kidding. My refrigerator has JVM 1.1, but my oven runs J2EE 1.4. Just try storing leftovers with that kind of arrangement!

  • as ESR said in CatB (Score:5, Informative)

    by stonebeat.org ( 562495 ) on Wednesday February 25, 2004 @07:49PM (#8392550) Homepage
  • High cost of J2EE? (Score:5, Informative)

    by jhouserizer ( 616566 ) * on Wednesday February 25, 2004 @07:52PM (#8392582) Homepage
    This article mentions outlandish prices (it says $100,000 per cpu) for J2EE (Weblogic and WebSphere).

    It fails to note that these are the *most expensive* full-suites of these products that have lot of non-J2EE frills (you can get into Weblogic's base J2EE support for $10k). Other commercial J2EE application servers are well under the $10k mark (e.g. $1500 for Orion Server)

    This article also fails to note that there are more than a couple very robust OpenSource implementations of J2EE application servers, that are of course free.

    It's obvious that if they pointed these facts out that their argument would be weaker...

    • RTFA (Score:4, Insightful)

      by Pieroxy ( 222434 ) on Wednesday February 25, 2004 @08:19PM (#8392821) Homepage
      The article does mention that the only visible part of the J2EE iceberg (visible to the decision-makers, not the geeks) is webservers such as Websphere and Weblogic. It doesn't say anything else. It does mention open-source implementations.

      What the author is talking about is a lack of the right communication from Sun on this matter. If Sun continue to advertise only WebSphere and WebLogic, they set the visible price very high.
      • Re:RTFA (Score:3, Interesting)

        by aled ( 228417 )
        "If Sun continue to advertise only WebSphere and WebLogic"

        I would say they should fire the marketing department if they are promoting for the competence, IBM and BEA.
    • by Trejkaz ( 615352 ) on Wednesday February 25, 2004 @09:16PM (#8393259) Homepage

      Other commercial J2EE application servers are well under the $10k mark (e.g. $1500 for Orion Server)

      This article also fails to note that there are more than a couple very robust OpenSource implementations of J2EE application servers, that are of course free.

      From the article:

      J2EE is a set of specifications, not any particular implementation. There can be pricey implementations, and there can be affordable ones. The trouble is, the pricey ones have the mindshare (IBM WebSphere, BEA WebLogic). There are far cheaper implementations, but who has heard of them? Orion or Pramati, anyone? And of course, there are Open Source implementations as well (e.g., JBoss), but JBoss (as of February 2004) is not yet a certified J2EE server, and its fledgeling commercial support organisation (the JBoss Group, now called JBoss Inc.) often lacks the clout to open many corporate doors.

      I guess they must have quickly jammed those in right after they saw your complaint on Slashdot. Alternatively, you just didn't read the article.

  • by maliabu ( 665176 ) on Wednesday February 25, 2004 @07:53PM (#8392589)
    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.
    • by MBCook ( 132727 ) <foobarsoft@foobarsoft.com> on Wednesday February 25, 2004 @08:10PM (#8392750) Homepage
      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).

      • by gidds ( 56397 ) <slashdot.gidds@me@uk> on Wednesday February 25, 2004 @11:01PM (#8393965) Homepage
        they would have to release the changes to the community which would keep it from being Windows only

        Doesn't follow. Open source or not, it would be trivial for them to use some feature which is only available on Windows. Sun can have all the source code they want, but if it can't run on other platforms (without effectively porting chunks of Windows too), then they're stuffed.

        Open Source is wonderful for apps with a known interface. But Java isn't an app; it's a platform. One of its greatest advantages is its platform neutrality. While having a single company like Sun in charge of it may prevent Joe Bloggs from adding his whizzy new feature, it also prevents M$ from doing the same, which IMO is far more important. I think Sun have steered a fine line between locking Java up so tightly that no-one feels safe using, and opening it up so much that no-one can choose which of the multiple subtly-incompatible versions to use.

    • They can do that anyway, open source or not.

      The only thing that prevents them is anti-trust law, not proprietary licensing.

      Also, the GPL would guarantee that Sun can rejoin the WOOSJAVA fork whenever they like, and gain all the benefits. As someone pointed out, Microsoft could use make their open source implementation call some closed source DLL, but at least Sun would also be able to release a version of OSJava that called that closed source DLL just the same. The API would be pretty obvious.
  • Mono is not a threat (Score:4, Informative)

    by Anonymous Coward on Wednesday February 25, 2004 @07:53PM (#8392594)
    Given the state of Mono, it's not in a position to give anyone pause.

    There's no motivation to "Open Source" Java. It's supported on a myriad of platforms and you can even get access to the source if you want to take on the implementation on a new platform.
    • There's no motivation to "Open Source" Java.

      BS. The article gives several strong motivations, all of which I have personally run into as reasons NOT to use Java at this time. Java will not really take off until it is included with every Linux distro and can be fully embraced by the Open Source community. And it desperately needs more innovation, which OS community support would quickly provide. Sounds like you didn't RTFA. One thing the article didn't mention is that Sun's Java implementation is prob
      • by Jord ( 547813 ) on Wednesday February 25, 2004 @09:35PM (#8393408)
        Java will not really take off until it is included with every Linux distro and can be fully embraced by the Open Source community.

        What exactly is your definition of taking off? Java is simply HUGE in the corporate environments. Java is used in just about every industry. While it may not be the largest thing in the Open Source community, it has definitely already "taken off".

        Try looking beyond OSS.

  • by demonic-halo ( 652519 ) on Wednesday February 25, 2004 @07:54PM (#8392603)
    I think open sourcing it is ok, but they should do all the work on it internally and not let any 3rd party distribute their own Java.

    When you have a cross platform interpreter, you need to make sure there is consistency. For example, Microsoft JVM ruined it for alot of people since developers will forget to debug it on Suns JVM, causing huge incompatibility issues that they blamed on Sun.

  • by SamiousHaze ( 212418 ) on Wednesday February 25, 2004 @07:56PM (#8392630)
    I'm not certain this is a move that should be made. All we need are 18 different 'forks' in the java tree like certain other open source projects. I can just see it now "No no, you need BobJavaVM-1.43.2.43 - it won't run with FastJava V 2"
    • by jas79 ( 196511 ) on Wednesday February 25, 2004 @08:02PM (#8392691)
      Could you back that up with an real example?

      I haven't seen that happen with perl or python. So, I doubt it will happen with java.
      • Well, Microsoft's VM for example versus Sun's VM was an example - and I think it would get worse.

        Another example are C++ compilers, while there is a De Jure standard - all the companies include their own libraries that you just can't use unless you want to be incompatible. I'm thinking everyone would want a custom VM/Compiler (how many open source C compilers are there?)

        I would talk about other non-language related projects but I don't want to get slammed (ok, like "this program won't compile on slackwar
  • by StandardCell ( 589682 ) on Wednesday February 25, 2004 @07:56PM (#8392632)
    ...is that Sun allows Java to wallow in limbo until its development becomes unsustainable and people start using other languages and development environments like .NET, and then make it open source because it became a black hole for them.

    I mean, Sun could still have a vested interest in an open source Java and still derive revenue from custom design services and support while displacing the Beast [microsoft.com]. It isn't even like the implementation is a trade secret. Heck, the Beast has developed Java bytecode interpreters in the past. But the Beast would love to displace Java with .NET as a universal development language. You can bet diamonds to dollars that Microsoft will never open source their version though.

    Hence, Sun has a great opportunity here. Will they see it?
  • by fihzy ( 214410 ) on Wednesday February 25, 2004 @07:58PM (#8392651)
    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.
  • by aled ( 228417 ) on Wednesday February 25, 2004 @08:03PM (#8392694)
    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.
  • No relief (Score:5, Insightful)

    by aoteoroa ( 596031 ) on Wednesday February 25, 2004 @08:04PM (#8392702)
    From the article:
    The Open Source community would be overjoyed, and the Java user community would be relieved, if Sun were to guarantee the perpetually open nature of Java by Open Source-ing its implementations.
    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.
    • Re:No relief (Score:5, Interesting)

      by Simon Brooke ( 45012 ) * <stillyet@googlemail.com> on Wednesday February 25, 2004 @08:33PM (#8392933) Homepage Journal
      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 [weft.co.uk]. 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.

  • by Capitis ( 639796 ) on Wednesday February 25, 2004 @08:04PM (#8392706)
    To borrow a phrase from John Stossel: Give me a break!

    While Mono is cool project and, like many developers, one I've been following since it's inception, I don't see it ever overtaking Java, or .Net for that matter. It's a simple matter of resources.
  • Laughable? (Score:5, Insightful)

    by eidechse ( 472174 ) on Wednesday February 25, 2004 @08:12PM (#8392760)
    "Perl and Python are hardly competitors to Java, so warning Sun about Java's impending loss of market share to these two scripting languages is laughable."

    How so?

    The term "scripting language" doesn't have the name meaning it used to; especially where Perl and Python are concerned. They both get compiled to an intermediate form and executed...just like Java. The only difference (other than the internals of the runtime) is that the Java's development "model" is closely related to it's static typing; i.e., you manually compile your code into a binary before executing. Trying to discount Perl and Python by calling them scripting languages is silly. The real issue is what works as an enterprise development platform, not the "taxonomy" of the language. As far as platforms go, Python has got a pretty good thing in Zope/Plone etc. And both Perl and Python have libraries for damn near everything you'd want to do. J2EE may be more prevalent at the moment, but in terms of bang for buck Python and Perl present some interesting alternatives in the long term.
    • Re:Laughable? (Score:4, Insightful)

      by smallpaul ( 65919 ) <paul@@@prescod...net> on Thursday February 26, 2004 @12:33AM (#8394406)

      1984: Anyone actually working in the IT industry today knows that PC clones are hardly a competitor to genuine IBM machines.

      1993: Anyone actually working in the IT industry today knows that IP is hardly a competitor to NetBIOS and IPX.

      1994: Anyone actually working in the IT industry today knows that Internet Email and the Web are hardly a competitor to Lotus Notes. (or you could use Compuserve)

      1998: Anyone actually working in the IT industry today knows that XML is hardly a competitor to CORBA.

      Now here we are in 2004: anyone actually working in the IT industry today knows that Perl and Python are hardly competitors to Java.

      I've learned over the years that it isn't worth arguing with these people. Just let the change wash over them. They'll never admit in 5 years that they were so short-sighted.

      • Re:Laughable? (Score:4, Informative)

        by Decaff ( 42676 ) on Thursday February 26, 2004 @04:49AM (#8395487)
        What a lot of false comparisons!

        "1994: Anyone actually working in the IT industry today knows that Internet Email and the Web are hardly a competitor to Lotus Notes. (or you could use Compuserve)"

        They aren't competitors. Notes is a collaboration/groupware suite.

        "1998: Anyone actually working in the IT industry today knows that XML is hardly a competitor to CORBA."

        They aren't competitors. XML is just one of many protocols that can be used to implement CORBA. Corba is an Architecture, XML is a data transmission format.

        "Now here we are in 2004: anyone actually working in the IT industry today knows that Perl and Python are hardly competitors to Java."

        They aren't competitors. You don't use Java to bind apps together or to write small scripts. You don't (if you are sane) use a scripting language to write enterprise-level apps like finance or CRM software, or secure distributed systems, or high-performance numerical software. Java and scripting languages complement each other - you can embed Python in Java using Jython, or you can use Java itself as a scripting language via the Bean Shell.

  • What will happen (Score:5, Insightful)

    by pope nihil ( 85414 ) on Wednesday February 25, 2004 @08:14PM (#8392773) Journal
    As soon as Sun GPL'd Java, it would start to diverge from Sun's commercial Java. Sun would not be able to incorporate changes made under the GPL into their corporate version. Sure, they could maintain their own "official" GPL version, but the dual license argument is complete rubbish. Java wouldn't die, but Sun would lose most or all control over it.
    • by k98sven ( 324383 ) on Wednesday February 25, 2004 @08:31PM (#8392915) Journal
      As soon as Sun GPL'd Java, it would start to diverge from Sun's commercial Java.

      Why?
      I don't see that happening with C, C++, Perl, Python or any of the zillion other programming languages which have open-source implementations.

      There's a spec out there, and Sun owns the trademark on "Java". Only compliant implementations can use it. If it doesn't comply, it's not java, it's a java-like language. And few will use it.

      However, it is true that Sun may lose some degree of control, but only by the same way they're already losing control, by not developing it in the direction people need.

      Few people want to fork stuff just for the heck of it.. but if Sun doesn't want to go in the same direction as their developers, they're going to lose control either way.
      • I don't see that happening with C, C++

        Really? Funny, because while I'm only still taking classes in C and C++, I keep running into all kinds of idiotic things.

        "Oh, to finish this program, you need the Borland C++ compiler, because it uses some Borland-only calls"

        "Oh, to finish this program, you need the Microsoft C++ compiler, because it uses some Microsoft-only calls"

        "Oh, to finish this program, you need to port it to your favorite C compiler, because it uses standard calls that no compiler implement al

      • Re:What will happen (Score:3, Interesting)

        by zurab ( 188064 )

        Few people want to fork stuff just for the heck of it.. but if Sun doesn't want to go in the same direction as their developers, they're going to lose control either way.

        I don't think he meant that it would necessarily get forked. As I understand, SUN would not be able to use any of the GPLed additions/improvements to Java in its commercial offering. In that case, even if SUN was completely in line with their developers, they would either have to give up completely on GPL-only improvements, or duplicate th

  • Grrrr (Score:4, Insightful)

    by BeerMilkshake ( 699747 ) on Wednesday February 25, 2004 @08:14PM (#8392774)
    [J2EE] has replaced CORBA as the way to go for
    large, distributed enterprise apps

    Has J2EE replaced CORBA in those scenarios where either the client or server is NOT written in Java?

    One of the facts of life in the enterprise is that it is heterogeneous in terms of platforms, operating systems and (maybe) network technologies. Neither J2EE nor .NET is satisfactory in this environment.
  • by sfjoe ( 470510 ) on Wednesday February 25, 2004 @08:25PM (#8392861)
    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.

    • by Brian_Ellenberger ( 308720 ) on Wednesday February 25, 2004 @09:38PM (#8393424)
      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.

      I don't mean this negatively, but if your problem is simple enough to solve with servlets then use servlets by all means. And yes, Entity Beans suck and should be avoided at all costs. And much of the time EJBs are overkill.

      But if you need clusterable objects with failover and seemless transaction support nothing is easier than EJBs. Go try and do some CORBA or DCOM programming and see how complicated is can get. More power=more complexity.

      Brian Ellenberger
    • by Decaff ( 42676 ) on Wednesday February 25, 2004 @10:57PM (#8393949)
      There is now a very effective non-proprietary persistence solution - Java Data Objects (JDO). This typically requires no more than a couple of supporting files in each application no matter how many classes you wish to store. Its far more powerful than EJB, with a portable query language and inheritance. There are many high-quality implementations of the javax.jdo.*
      classes.
  • by Lamia ( 106418 ) on Wednesday February 25, 2004 @08:31PM (#8392907) Homepage
    Hmmm - didn't ESR inspire Netscape to following a similar path to "salvation" back in '98? (Netscape [linuxjournal.com])
    Hopefully (for Sun!) history won't fall into its old habit of repeating itself.
  • Java (Score:3, Insightful)

    by rshimizu12 ( 668412 ) on Wednesday February 25, 2004 @08:40PM (#8392985)
    This guy must be a MS partner.........Most of the .NET development is taking place primarilly in Windows only shops. Also the great majority of .NET development is VB .NET. After seeing how Microsft corrupted the JVM and developed J++ it's hard to see how moving Java to pure open source will help. As for the desktop .NET is only strong because because it has the propietary features to lock people in.
  • Open Source Java (Score:5, Insightful)

    by ajs318 ( 655362 ) <sd_resp2@earthsh ... .co.uk minus bsd> on Wednesday February 25, 2004 @08:45PM (#8393024)
    While Java stays Sun's closed-source product, Sun retains control over it. Releasing it open-source would mean relinquishing that control forever. Imagine, if you will, the overthrow of an essentially benevolent dictator followed by a less desirable character seizing power.

    The questions Sun needs to ask itself are (1) whether or not Java is ready for that -- or is it more likely that differing implementations would lead to fragmentation, and thus nullify the whole point of Java?; and (2) if Java is ready to go open-source {and I personally believe it is}, what would be the best licence to ensure against fragmentation whilst not putting off purists?

    All these things being said, Java is only a programming language -- a means to an end. Programming languages come and go. There is no reason why another contender should not arise to solve the same problems for which Java was invented, and eventually displace Java. Mono may be that, of course. It is just as likely that something totally new could arrive on the scene and change the whole picture.
  • by Anonymous Coward on Wednesday February 25, 2004 @08:46PM (#8393032)
    My roommate just got mono and trust me, you want to avoid it at all costs. You're sick and tired and it lasts for weeks.
  • C#, Java & GNOME (Score:3, Insightful)

    by fantastic max ( 690355 ) on Wednesday February 25, 2004 @08:55PM (#8393091)
    I don't understand why Sun is, on the one hand, so active in and dedicated to the GNOME desktop, whereas on the other hand, they're not doing a single thing about Mono becoming an important part of the desktop, pushing Java back even further.

    Face it: Sun, one of the head developers of GNOME, is losing the fight of Java versus C#, which is the official language from GNOME (Linux)'s biggest enemy Microsoft. Where's the logic? I mean, if Java loses even *this* battle, then how are they ever going to keep any significant marketshare?

    So yes, Sun should do something.
  • by Anonymous Coward on Wednesday February 25, 2004 @09:01PM (#8393126)
    This Dutch company produces some interesting stats for those interested in the popularity trends of languages TIOBE Programming Community Index February 2004 [tiobe.com]
  • facts and not BS (Score:5, Interesting)

    by Anonymous Coward on Wednesday February 25, 2004 @09:07PM (#8393186)
    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.

    • Re:facts and not BS (Score:5, Interesting)

      by cyberjessy ( 444290 ) <jeswinpk@agilehead.com> on Wednesday February 25, 2004 @11:00PM (#8393963) Homepage
      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.

      • Mod parent up! (Score:5, Interesting)

        by earache ( 110979 ) on Thursday February 26, 2004 @12:34AM (#8394409) Homepage
        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
  • by fitten ( 521191 ) on Wednesday February 25, 2004 @09:26PM (#8393343)
    Why is Mono a "threat"? Is it not possible for both to exist? Perl and bsh both exist on my machine and it doesn't explode even though they overlap in functionality.
  • Thin clients (Score:4, Interesting)

    by Trejkaz ( 615352 ) on Wednesday February 25, 2004 @09:44PM (#8393462) Homepage

    One interesting thing the article brings up is XUL. Since it seems to do so well provided a pretty platform is written to run it, maybe it would be a good idea to, as they suggest, get it standardised at the W3C.

    Actually in general, I feel it would be a good idea for Sun to start pushing towards an architecture which allows for server-side (in the X sense, where the server is the terminal) widgets, whether they use something like SWT (which will never happen due to wars with IBM) or even an improved AWT.

    Server-side widgets would make the client even thinner, and if it were all in script you could just use the same code on all platforms and the rendering mechanism would determine how it looks. Maybe if Y-Windows ever takes off you could even have an implementation for that, and things would be lightning fast. :-)

  • IRTFA (Score:4, Interesting)

    by angel'o'sphere ( 80593 ) <angelo,schneider&oomentor,de> on Wednesday February 25, 2004 @09:59PM (#8393568) Journal
    I read the f***ing article.

    After the 5th paragraph I stopped reading. After the 5th paragraph the new headline "Rephrasing Eric Raymond" I stopped reading.

    Sorry folks .... probably the article has some insights but the start is way off.

    If I count commercial, non open source, Java implementations I count ... 3? Probably 3. Not sure.

    If I count open source java implementatinos I count ... 10? 15?

    Why ... why should SUN "Open Source Java"? What bullshit idea. Probably there are indeed reasons to do so. However, the article completely fails to show them. Heck! Why should Mono be a competition to Java? Why should Mono, Open Source, cool ... Microsoft .Net, not Open Source ... cool either, why should that be a reason to Open Source Java?

    Man, this Open Source ... Closed Source, commercial ... discussion just sucks. Mono or .Net are no competition to SUN/Java.

    Why should PERL be a competition to C++? This "are programming languages"!!!!! Sure, .NET is a platform also, Java is a platform as well, also. But, the heck, where is the relation to Open Source in that regard?

    Do you think any german customer, using Java takes a shit if it is Open Source? I would bet that 90% of the german projects done in Java, just download the JDK and code it, and thats it. No SUN, no IBM, no Open Source, no idiology involved.

    Why the heck should anyone care if it is Open Source or closed? Especially if tehre are 5 times the Open Source implementations existing than closed ones? Especialy if none of the open ones are used in commercial projects?

    Do you really think "Deutsche Bank" would "take" an Open Source java implementation for their next Enterprise Portal?

    No, they take the CPL SUN implementation, or the semi open AIBM implementation, or the Apple colsed source implementation or the HP closed source implementation or the BEA JRocket, closed source JVM or any other closed source JVM.

    SUN has absolutely no benfit in a contract with Deutsche Bank about a offering an Open Source Java ... as Deutsche Bank buys not JAVA, they buy consulting.

    Using any JDK and Deploying any JDK based application is FREE as in BEER regadless which JDK you use, SUNs, IBMs, HPs, Apples.

    The real world does not care if it is free as in SPEECH as long as they dont have to PAY FOR IT.

    angel'o'sphere
  • by Decaff ( 42676 ) on Wednesday February 25, 2004 @10:07PM (#8393616)
    Its full of contradictions and silly mistakes.

    J2EE is small and easy, not large and expensive. Anyone can build JSP pages or use Servlets on a free but high-quality App server like Tomcat - this may not involve Enterprise Java Beans (the least used aspect of J2EE), but its still J2EE and it costs nothing.

    How can .Net be a threat when Microsoft is struggling (making a loss!) on the server side? Unless the Mono folks unwisely give Microsoft an escape route, the eventual rise of Linux on the desktop will squash .Net flat. This rise is starting: I develop websites for international use. If I deploy anything that requires Microsoft on the client (as do .Net apps), I soon get enough complaints to convince me otherwise!

    Why does Java need to be Open Source to ride the Linux revolution? High-quality Java VMs are ready for Linux.

    Java is the most widely requested language for development, and its use is still rapidly expanding. Sun has nothing to fear.
  • by geekee ( 591277 ) on Wednesday February 25, 2004 @10:13PM (#8393656)
    "The GPL is also the only Open Source license that can keep Microsoft from "polluting" Java."

    If Java is Open Source. MS can change it all they want from the Sun standard. The only stipulation is that they then must release their source code. MS would love this as it puts them in a far better position than they're in now, where they're not allowed to ship non-compliant versions of Java as ordered by the courts.
  • by burtonator ( 70115 ) on Thursday February 26, 2004 @01:05AM (#8394611)
    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.
    [com.com]
    http://news.com.com/2100-1007_3-5165427.html

  • by ducomputergeek ( 595742 ) on Thursday February 26, 2004 @01:53AM (#8394824)
    There are a few in the Opensource community that would love all software to roam "free" in all sense of the word, but I for one do not think that Opensource is the answer to every problem. Java is one of those tools that I fail to see what the beneift would be, hell it could be even worse if it went OSS.

    Why? Well remember JVM and how Microsoft corrupted the compatiablity? Java's goal is to be cross platform and to do so means there needs to be a centralized development effort. If suddenly there are 50 versions of J2EE on the market, each with its unquie traits, which do I run? How do I know that the app I program will work on the others? If it doesn't run on everything, hasn't the point of Java been defeated?

    I once worked for a company that was looking to port some of its Solaris & AIX Applications to Linux, but 3 months into the project, the question became what distros to support. They tried porting their application with some modifications. Got it to run fine on RedHat 5.x (it was a while ago), but then it took some playing around to work with SuSE and we never did get it to compile on Slackware. When they said they planned to support RedHat default only, meaning if system admins were using a tweaked box or kernal, we would not offer support. Needless to say, potential clients scoffed at the idea and after 6 months they decided that the Linux Market wasn't worth the hassle until some standards had emerged. This is why a lot of developers won't port to linux, especially desktop applications: too many variations.

    I see the same potential of Java, to become slpit into so many forks, that it defeats the purpose in the first place.

    I like opensource applications, but I don't think that Opensource is always the answer. Another good example is a good friend that is developing a support ticket application for the company he works for. I asked him, "Isn't there several GPL'd apps outhere that could installed within a couple hours?" He responded of course, but he put it this way: "I like to use my own code and not other peoples. Its a lot less messy that way." and I see his point.

    IF it wasn't for opensource, I would have never learned how to program in PHP, PERL, and various SQL databases, it was a great learning tool, but like every tool, there is the correct tool for the job. I say this as I switched from Linux to Macintosh almost two years ago now and I am willing to pay for the luxury of having everything work. Just like we now pay for managed instead of self-managed servers for our business. There is only 3 of us and we now have enough business that its costing us more to run our own servers than to pay a little extra for managed services where the keep up with the updates and such.

    All I am saying is that projects have goals. Sometimes Opensource meets those goals, but its not a cure all. The beauty is that we have the choice of using Opensource or to use a propritary solution.

  • by MosesJones ( 55544 ) on Thursday February 26, 2004 @10:06AM (#8396729) Homepage
    Sun has lost control of the Java development space. It does not provide leadership anymore or set the agenda. Open Source does.
    There is a wellspring of innovation in Open Source that beats the productivity of Microsoft's friendly tools.


    It mentions the JCP [jcp.org] but ignores the power of that organisation over the OSS world. Open Source certainly does NOT provide the leadership in the Application Server space, BEA, IBM and SAP do. Open Source does not provide leadership in the IDE space, BEA, Borland, Compuware and IBM do. Open Source does not provide leadership in the J2ME space, Sun, Nokia and Ericsson do.

    What annoys me about this article is its assumption that XDoclet and Ant can be compared with a J2EE application server. And that _standards_ are not important. The JCP is the key to all of this. In the same way as Ethernet won because it was a standard the JCP lays down standards for the Java space. ANYONE can take part, it doesn't even cost you money. And you can have a say in the direction of the platform, in a much more direct way that you could have with Linux for instance.

    The point this misses is that Java has not succeeded as well as it has by being fragmented, it has succeeded because it is standardised. The JCP enables all of the partners to determine what goes into the platform. Sun propose JSRs, but so do IBM and BEA... and Oracle.... and SAP... etc etc etc.

    Open Source could learn much by looking at the JCP.

    Consider Wi-Fi, why is 802.11x successful ? Because its all open source ? Or because a regulated standard works well in a commodity marketplace.

    Sun with have commoditised the Application Server and Mobile platform spaces. The JCP has for several years been the key to that success.

    The trouble with Open Source advocates is sometimes they see everything as a nail.

"A car is just a big purse on wheels." -- Johanna Reynolds

Working...