Sun Microsystems is reluctant to make Java source code available through an open-source model because it would encourage incompatible versions of the software, Sun’s top software executive said. Our Take: Funny, last night I tried to install the Symbian SDK and it bailed out because it wanted me to have Java 1.3.1 while I had Java 1.4.1. Talk about “incompatibilities”…Elsewhere, return on investment will be the key metric, says Jeff Anders, group marketing manager at Sun Microsystems. Enterprises must be able to build full enterprise applications and get the security of the Java platform — “not spend hundreds of thousands of dollars fixing security problems every year,” he maintains. Read the article at NewsFactor.
Open source projects tend to maintain compatible versions much better. Why? There is no reason for them to not. Unlike many software companys where keeping users tide down to one system type is a revenue generating move, open source developers don’t care what system you are using. This just does not make any sense.
Sure, there could be some project forks come from it, but wouldn’t it be easier to go out and choose your flavor of java for your particular system than getting only one from Sun and hoping it works?
Am I missing something here?
Yeah, mozilla is opensource and look how it turned out. The nerve of those developers.
Sun never had any intention of opening Java, this was just lip service. Frankly Sun has been off of the cluetrain for so long that you have to wonder why they would hop on it now.
On other news, the Java Creator Studio looks like a non-event….day-late & a dollar-short.
How many implementations of Perl are there? Python?
How many implementations of Java are there?
QED
That is a problem of their installer. Somebody probably hardcoded the JVM version. A boneheaded move by Symbian. Still, it probably shouldn’t be part of the news posted, either. It fuels my OSnews is biased, but pretends to be neutral opinion.
LoL, the most compatible JVM for Windows I’ve tried (at least for applets) is the old Microsoft VM (and it’s no longer distributed…)
BTW, Eugenia, which Symbian SDK did you try to install? I think (hope) the latest ones work with Java 1.4…
> Somebody probably hardcoded the JVM version.
No, they specifically say that it will work with 1.3.1. And indeed, I had problems when I forced it to work with 1.3.1
>A boneheaded move by Symbian
Not necessarily. If Symbian needs the XX function or API found on 1.3.1 but is buggy/changed/removed on 1.4.1, then it is not Symbian’s fault you know.
>Still, it probably shouldn’t be part of the news posted, either
Oh, yes it should. See that “Our Take”:? That’s why it is there in bold to seperate the “editorial” part of the actual news item.
>It fuels my OSnews is biased, but pretends to be neutral opinion.
It is neutral and this is why the news item is seperated from the editorial part.
>when I forced it to work with 1.3.1
I mean 1.4.1.
First of all thats B.S.
What the GPL does prevent is CLOSED SOURCE forks. Still, a company, like microsoft, could reimplement it from scratch anyhow.
Also, it seems that Sun is purposlly not seperating between ‘Java the Specification’ and
Java the implementation’. There are many open source projets where the implementation has been forked, but the specification hasn’t (Python => CPython, Jython, IronPython, etc…).
Same thing would be great with Java. There would be one specification, which only implementations that adhere to it are allowed to be called ‘Java Compatible’ (I believe this is how it is today with the JVM). While there can be 101 implementation, one of which will be open source and officially supported by Sun.
So I could have my .NET based implementation, you could have your Linux optimised, he could have an implementation that allows the async io APIS to use an interesting idea, etc…
It would also be a great incentive to get Java more popular in the reaserch field. (Say a CS student is working on a new way of doing somthing, he can implement it in his copy of the GPL-based JVM, and then compare performance with many exisiting professional apps)
So please dont confuse Implementation with Specification…
>BTW, Eugenia, which Symbian SDK did you try to install?
UIC 2.1 or something. It still needs non-XP and non-Java 1.4.1.
I don’t have any apps that are implemented on Java, nor do I know of any other people using Java based apps.
Can somebody name some popular *and* useful apps implemented in Java?
Thanx.
>> So please dont confuse Implementation with Specification…
it matters, because there are people who feel the implementation must be open. Hence the forks. They aren’t forking to get improvements in IO or redesign something they feel is broken, they are implementing SPECIFICALLY to have an open source implementation.
Sun could have prevented this but now Java is THE MOST FORKED toolkit ever.
Nearly _all_ Enterprise applications are written in Java. It isn’t used in very many consumer related apps though.
If you read the various exchanges carefully, the point in question is open-sourcing the [i]specification[i], not the implementation. Basically, the point of contention is the Java Community Process and the licensing requirements for a java-branded JVM.
This is dramatically different from open-sourcing Sun’s JVM implementation. I have no objections to open-sourcing the JVM. But IBM has their own JVM; why not open-source that? The reason is that the real point which IBM is concerned about is the spec. For example, they probably want to be able to add new WebSphere-only components without having to go through the JCP. This is what Sun is worried about when it talks about “forking”. Forking implementations is good; the best always wins. Forking specifications is bad; it allows large companies (read: IBM, Microsoft) to leverage market share to force developers into supporting proprietary extensions and incompatibility with other implementations. “Your App uses IBM’s JVM? Too bad it won’t run on Sun’s.”
A good read for the flip (anti-IBM) side is:
http://techupdate.zdnet.com/techupdate/stories/main/A_wolf_in_sheep‘s_clothing.html?tag=zdfd.left
Disclaimer: I do work for Sun, but I have nothing at all to do with java. This information reflects my own interpretation of public statements made by Sun and IBM, and does not constitute any official company stance.
# Bash
export JAVA_HOME=/root/of/1.3.1-SDK
Windows
set JAVA_HOME=”C:RootOf1.3.1-SDK”
Done.
Funny, the backslashes that were in the win example path disappeared in the post. Anyhow, hope the message got through. (No pun intended )
You can have any number of SDK:s installed simultaneously, just point JAVA_HOME to whatever SDK you want to use (you can use different SDKs for different projects, just set that variable in the environment you use when compiling)
Does “Wall Street” count? Banks? Research projects on universities? Almost every cell phone out there? Last but not least, the majority of all developers in the world?
And YES, applets is only a proof-of-concept implementation of what can be done with Java. Amazing that some still believe that applets is the only existing implementation of Java… *sigh*
Archie: my question was:
> Can somebody name some popular *and* useful apps implemented in Java?
I already knew that Java is used for Enterprise software development and embedded devices.
I just don’t known any. What useful and popular apps run on a cellphone? Are there any useful and popular desktop applications written in Java?
>> I already knew that Java is used for Enterprise software development and embedded devices.
You didn’t ask for that. You asked: “What’s the big deal with Java? Who needs it?”
..and that’s what I responded to.
>> What useful and popular apps run on a cellphone? Are there any useful and popular desktop applications written in Java?
Well, concerning useful apps for cellphones, I’d mostly say calendars and stuff. More popular are games, though.
Desktop apps: check http://java.sun.com/products/jfc/tsc/sightings – don’t know what kind of apps you need for your daily computing, but I use DbVisualizer (http://www.minq.se/products/dbvis) a lot.
is bull, as i see it.
Because like others have already said, the GPL discourages forking and if it happens it is still open.
If it’s a more liberal license like the BSD license then yes then Sun could (and will) get into trouble yet there’s not much forking in FLOSS in general when it’s not needed. Because it means a lot more work is needed with backwards patching and keeping up to date with each other. For example, look at the BSD’s and their different, non-implemented features. Only for any proprietary vulture it makes sense.
But with the GPL, any future versions will be open too. If they’re better and incorporate new features this can be worked out with Sun / Others (for Trademark issues we can call it nova because it ain’t java and if it becomes better Sun shouldn’t have a problem with that. Because it is open, nobody in particulair can benefit from it regarding incompatibility and well i guess Sun cares, besides profit, for good (better) software. We wanna help, Sun. I rather hope Sun will help with the existing FLOSS Java projects but i’m not sure why or why not they’d do that.
Nah, i was nothing of something else: JDS. Java. Non-free. Advantage. Hmmm.
>You didn’t ask for that. You asked: “What’s the big deal >with Java? Who needs it?”
I am sorry, you are right. But that was just the subject of my message, within it I elaborated and asked a question:
>> Can somebody name some popular *and* useful apps implemented in Java?
> http://java.sun.com/products/jfc/tsc/sightings
Thanks, that was what I was looking for, names of actual apps. I will have a look at them.
“Nearly _all_ Enterprise applications are written in Java. It isn’t used in very many consumer related apps though.”
Surely you jest! I’ve yet to see a single successful implementation of ERP written in Java.
It seems that it’s mostly tool vendors releasing Java apps right now. I run the following three:
WDSC – Eclipse based IDE by IBM.
Surveyor/400 – Database utility
iSeries Navigator – Management console for iSeries servers.
While all three are decent applications, the load they place on my machine is huge. My 2.4Ghz P4 with 1GB of RAM does an OK job with all three applications running, but it’s not exacly snappy.
Any modern ERP application will be MUCH larger than these tiny utilities, and will invariably bring such a machine to it’s knees. Granted, a browser based J2SE app would eliminate this problem, but then you’re stuck with an inferior (HTML) user interface.
Since each individual application requires it’s own resource hungry JVM, it will be years before desktop Java applications become viable.
Anyone know of any Mono forks, yet? SUN executives, look for better excuses, please!
>> Since each individual application requires it’s own resource hungry JVM, it will be years before desktop Java applications become viable.
Umm, JVM sharing (or CDS, Class Data Sharing) is already here starting with 1.5. Your argument that each application requires it’s own JVM is thus no longer valid. Ok, 1.5 is still beta, but I don’t believe it will take years before the final version is released
Sun told me that they want Java open souced but they can’t figure out how to do it without making it non-forkable.
They also told me that their entire companies relies on Java and that business about Java not being profitable is a “spin of IBM” whatever that means.
Why can’t sun just write a new license that prevents it? I actually wrote a license that does that but I don’t use it because I don’t code anything that dosent “have” to not be forked
“Umm, JVM sharing (or CDS, Class Data Sharing) is already here starting with 1.5.”
CDS is a step in the right direction, but it’s hardly a complete solution. By Sun’s own estimates, it only knocks 5-6MB off the JVM memory footprint. CDS only helps with a few core classes; it does nothing for most of the JVM or applications.
“Your argument that each application requires it’s own JVM is thus no longer valid.”
Ah but were it only true…. take a closer look at the docs.
I think It seems that sun might be merged with Oracle. Why? Well Sun loves Oracle and Oracle loves sun, they are both friends. The CEOs are even friends. In an interview Ellison talked about a possible sun buyout. He said that at the end he wouldnt want to go out into the hardware business. That would be one of the most powerful software companies. Combination of sunsoft and oracle. As for the microsystems? Unsure. I think Ellison is unpredictable and might do it. The idea of him thinking about it is scary to ibm
Sun SHOULD NOT release partial source to Public. Truth has proven that many modified and STUPID version of many open source are creating painful headache for user when they want to find the solution of a software. Sun should employ open source developer to work for the company remotely. I love Open Source but I have to say that Open Source is not mature enough and it’s obvious that most Open Source Software can’t do what commercial have done. Maybe next 20 years, a miracle makes me change my mind????
>>> Open source projects tend to maintain compatible versions much better. <<<
I disagree.
There has been more than one occasion when some files needed werent installed, or the installed versions were simply incompatible. Errors of type: libWhatEver.blah.blah.so needed, when libWhatEver.BLAH.blah.so was found, are actually quite common. If you’re running KDE, try upgrading the Qt libraries to any other version than the ones that your version of KDE came with: it simply borks!
And dont forget the situation where a simple application like mozilla needed to be compiled with the exact same version of gcc as the flash & java plugins just to make it work with them. Now, compare that with a closed system, for the same situation; Windows: no ridiculous recompiling from source or downloading specifically compiled versions of the same plugins.
The only point I wanted to make here was that open-source systems are really no better than proprietary ones when it comes to maintaining backward compatibility.
OK, I can understand “opening” the JCP to Opensource groups, and letting Opensource JREs having free access to the TCK. But why open it? The specs are openish now, I can submit a change via the JCP.
The problem Eugenia is having with 1.3 vs 1.4 is more likely to be caused by the Symbian SDK using a unsupported item (like the [com.]sun.* stuff).
N.b. I like the idea posted here i think a few days ago on opening unprofitable sections (the HTML toolkit, and J3D for example)
Sun’s idea of compatibility is only to use Sun’s VM. The write once run anywhere idea only works if all VM’s are created equal, and without an open source reference that’s not possible (unless of course, everyone only uses Sun’s VM .
IMHO Sun is more or less the same as Microsoft, they want to control it all, they even have (or had a few years ago at least) similar non-compete type clauses in their licensing (you license the Sun VM, and it means that you cannot license a competitors VM (say OTI’s) as an alternative). Microsoft is just better at this type of lock in bullying than Sun is. If Sun is successfull in displacing the OS as the lock in, and making the VM the lock in, then we’d all be going after Sun with anti-trust/monopolistic comments/lawsuits. I think that’s the real reason for not wanting to make it open source, if they lose control of having the only VM that “works”, then they can’t run be the only vendor *if* the VM displaces the OS as the be-all/end-all of running applications.
My $0.02
Actually, forking ocurs planty in GPL’ed apps. The thing is that it is a *healthy* thing because the forks have a very strong tendancy to be merged with whatever happens to be in the trunk of the code. Case in point: merging of libgcj and GNU Classpath.
And, as the size and complexity of a given project’s codebase goes up, the amount of resources required to maintain a hostile fork goes up too high: that is the reason we don’t have a working replacement for XFree86 (at least not yet).
Consider the amount of manpower that it would take to make and maintain a permament fork of the Java standard lib. You would have to have *hellofa* lot of motivation to expend the effort required to make a hostile fork the Java Standard Lib.
“Java 1.3.1 while I had Java 1.4.1. Talk about “incompatibilities”…”
That isn’t an incompatibility. It stated you needed to use 1.3.1 and you forced 1.4.1 on it. That would be like you buying a game CD that said it needed Windows 98 and trying to make it run on something else and then throwing up your arms saying “But it’s still Windows why won’t it run”.
If SUN was going to open source Java under a more liberal license than they do right now, they would most likely choose the X11/MIT/BSD license as to allow partners to create specialised but compatible versions.
As for the issue regarding compatibility, you simply make sure that the people who make their “own” version of Java simply don’t call it Java. Those who wish to call theirs Java/Java Compatible or anything implying Java simply pay a set fee to get it verified; like how the current single UNIX specification is managed.
As for incompatibility, that is the fault of the vendor not providing an up-to-date version of their software. They’re told months in advance what bugs are going to be fixed, what parts are depreciated and what parts will be removed. If Symbian wish to hide under a rock instead of working with partners, then the only people they and their customers have to blame is Symbian themselves.
What you mention with Symbian is nothing new. Microsoft tell people YEARS in advance of parts that are going to be depreciated and yet, we have software vendors who deliberately refuse to listen to this advice. Net result? you end up with Joe and Jane Clueless winging from the cheap seats that their POS software title isn’t working because their chosen software vendor was too lazy to update their software.
Notification of API changes are ALWAYS made public months and in some cases YEARS before things happen. If software companies wish to ignore that advice, the best thing for you to do is move to a new vendor. Quark has already found out that hard way with their lackluster Quark 6 release. Now people are moving to InDesign and the only people Quark have to blame is themselves and lack of foresight.
The mozilla stuff is only true of c++ plugins between 2.95 and 3.x, you don’t need to recompile them for each gcc version.
Microsoft prefers to keep borked C++ than breaking backward compatibility, that’s all.
… and it’s still incompatible you stupid
Why is it that people have to lower themselves to personal attacks? If you don’t agree, fine. I am a big boy and understand that yes, you too can have an opinion and the world won’t end.
to not open Java. they won’t because it’s not advantageous to them. that’s it. end of story
You are blind to why open sourcing Java would be so damaging to SUN.
Sun’s idea of compatibility is only to use Sun’s VM. The write once run anywhere idea only works if all VM’s
This part is not true, as long as you
a) Only use the public API (the stuff in java, javax not the stuff in sun.*)
b) Don’t use implementation persific(sp) JNI.
The reason some apps will not work on say GCJ/SwingWT is the incomplete implmentations or people using the aformentioned sun.* packages. (as they do change drasticly between versions, the public APIs however do not, Sun ASAIK have never removed a depricated API).
he has made a good point
I would also like to ask what advantage would open sourcing it be to us (developers)? Personally I just want my tools to work and frankly I don’t really want to see the source code.
No what I would like to see is the java 1.5 language with a bundled click and drag gui designer that can use Swing SWT and shit even the good old AWT. This would kick ass.
Can you imagine if Larry did buy Sun?! imagine solaris 10 + the java described above and an oracle database. Why would you use anything else? <sarcasm>Oh yeah Freedom </sarcasm>
Though you could replace solaris with a BSD and I would still love it.
Jared
took too long I meant andre had a good point
Jared
Seeing the code is useful, and possable now (with the comunity source program).
> “Nearly _all_ Enterprise applications are written in Java.
> It isn’t used in very many consumer related apps though.”
>
> Surely you jest! I’ve yet to see a single successful
> implementation of ERP written in Java.
Surely YOU jest!!!!! How about every SAP installation? For some time now SAP has been developing their apps in J2EE. So There are many many implementations of CRM , portals, SRM, EBP. etc etc etc. These are not PC installations that you would see but systems processing millions of dollars per second. Systems that if they went down, would impact a companies bottom line for every second they were down.
So with all due respect, just because you havent seen them (or werent aware that the company you are dealing with with uses them), doesnt mean they dont exist.
> Can somebody name some popular *and* useful apps implemented in Java?
Well, I use Eclipse ( http://www.eclipse.org ), JEdit ( http://www.jedit.org ) and JAlbum ( http://www.datadosen.se/jalbum/ ) quite alot. They are all great apps. + Loads of Universities use Java as teaching language in some courses.
Sun’s idea of compatibility is only to use Sun’s VM. The write once run anywhere idea only works if all VM’s are created equal, and without an open source reference that’s not possible (unless of course, everyone only uses Sun’s VM .
Ummm, no. Sun’s idea of compatibility is that all licensed vendors cannot introduce some proprietary extension that will make their products incompatible with competitors products in the same market.
For example, IBMs J2EE application server (WebSphere) must be compatible with BEAs app server, JBOSS, etc. This licensing condition ensures the Write Once, Run Anywhere (WORA) nature of Java. If Sun open-sourced the the way Java is licensed, a vendor (let’s say, oh, IBM) would be free to make extensions to their app server, which would make other products incompatible, and WORA is lost.
From what I understand, there is nothing stoppping anyone from producing an open-source implementation of the java language and APIs (ex. GNU Classpath). The problem is that due to the way Java licensing was originally set up, source didn’t have to be made available. JBOSS is open-source, WebSphere is not. If there is no compatiblity standard and IBM starts changing things in a closed-source manner, where does that leave JBOSS, BEA, etc.? The only way out of this would be to somehow force all licensees to to a GPL-compatible license, and I doubt that would be possible.
As for a possible candidate for a high level development platform for Linux, maybe it would be easier to convince Ximian that promoting Microsoft technologies is a bad idea, and all those talented people working on Mono might be put to better use on gnu classpath.
>Anyone know of any Mono forks, yet? SUN executives, look for better excuses, please!
I want to make a ork today, because I don’t like the “unsafe option” – the language isn’t typsafe because of that.
so …. it’s done.
“Truth has proven that many modified and STUPID version of many open source are creating painful headache for user when they want to find the solution of a software”
1) How popular are these
2) Any examples please?
Please proof this assertion with various, independant sources.
> I don’t have any apps that are implemented on Java, nor do
> I know of any other people using Java based apps.
>
> Can somebody name some popular *and* useful apps
> implemented in Java?
ebay.com
Hahaha, no kidding Eugenia.
Java apps almost always come with a specific runtime version, instead of using the one you’ve got installed. Why? So they can pick and choose which bugs to work around. It would be suicide to ship a commercial product on a “random” runtime… tech support costs would kill you.
For yuks, I just searched my hard drive; I’ve got no less than SEVEN Java runtimes. SEVEN. The one I installed when I installed Java 1.4.2_03 (what’s up with the version numbers, anyway?), and SIX MORE I got with applications.
They should have been able to use the one I installed… it’s the current up-to-date version after all. But they can’t because it has different bugs from the JREs the apps were QA’d with.
Ridiculous, and a huge waste of space on my hard drives.
– chrish
Why is everyone so wound up about Forks? Just because you fork a product it doesn’t mean anyone is going to use it.
If I were to fork the linux kernel today, 99.999999% of people would just ignore me, and any stupid enough to use it (I know nothing about kernels) would not stay long with the fork.
I guess all the massive re-install hairballs I’ve encountered when upgrading major Open Source projects are all an illusion?
i.e. Try to update major open source projects (KDE, GNOME, GIMP, etc) and watch all your current versions of support librarys and programs need to be updated/changed to match the requirements of the new version; even PERL has caused this dependancy problem in the past.
I hardly think the dependancy game is unique to JAVA…
-Rob
Why is everyone so wound up about Forks? Just because you fork a product it doesn’t mean anyone is going to use it.
That’s probably true, but if Microsoft decides to make a version of java with win32-specific extensions then lots of people would soon use it without even knowing it, and then developers would only check their code against this “MS-java” and so many of those programs would run only on windows. (Just look how many web developers check their web pages only against IE, making the pages display badly, or not at all, on other browsers.)