Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Java Programming

Gosling on Opening Java 453

An anonymous reader writes "It sounds like James Gosling's nudging Sun closer and closer toward open-sourcing Java, as requested variously by IBM, Eric S. Raymond, and Richard Stallman, though not by JBoss's Marc Fleury. 'Developers value Java's cross platform interoperability and reliability,' Gosling writes, adding 'If we do something to make Java even more open-source than it is already, having safeguards to protect the developer community will be something we pay a lot of attention to.' Surprisingly, 'the creator of the Java programming language,' as Sun usually calls him, seems to be at odds on this issue with his own CEO, Scott McNealy. So, who should have custody of the child, the father...or the boss?"
This discussion has been archived. No new comments can be posted.

Gosling on Opening Java

Comments Filter:
  • Re:Well, legally... (Score:3, Informative)

    by The_Mystic_For_Real ( 766020 ) on Saturday May 01, 2004 @06:36PM (#9030337)
    Actually, this was what the copyright ;aws were designed for. Just because you pay someone for something does not mean you own all rights to it. Think of every closed source program ever. The employee might still own it, though it is rare an employee will copyright it as opposed to the company doing it. Also, many employees have to sign a contract to say that anything they produce belongs to the company.
  • Re:Well, legally... (Score:5, Informative)

    by generic-man ( 33649 ) on Saturday May 01, 2004 @06:43PM (#9030390) Homepage Journal
    Copyright law defines something as a work for hire [music-law.com] if it was produced by an individual at the request of a company. All rights to a work for hire are retained by the company who paid for the work to be created.

    Most of the employee contracts are supplemental to this definition. Many companies claim all rights to works created by employees without the explicit request of the company, as well.
  • by vegetasaiyajin ( 701824 ) on Saturday May 01, 2004 @06:57PM (#9030468)
    I don't like programming in Java, but having a free Java (as in speech) would be really great !

    There is a very good free java implementaiton. GCJ (GNU Compiler for Java) [gnu.org]. The library lacks a few things (e.g. AWT/Swing), though, but other than that it is a great implementation. And it is not based on a JVM, but is a traditional ahead of time compiler, so the related disadvantages (as well as the advantages, if any) dissapear. It uses the same (or at least a very similar) object model as C++, so interoperation with it is much easier.

    Think about how it can be easy to include Java in a Linux Distro.
    Sun's Java JVM can be included in linux distributions without problems. Knoppix, SuSE and SoL include it. Don't know about others. The reason some distributions don't include Sun's Java implementation is because they don't want to include it.

    If Java becomes free, I can imagine a lot of thing. Why not bindings with GTK for example They already exist. Check Java-GNOME [sourceforge.net]. It includes GTK and GNOME bindings for Java.
    There are also bindings for Qt and KDE. [kde.org]
    You can also use GTK via the SWT toolkit [eclipse.org].
    Java is NOT a proprietary language (despite some ignorant people who say so), you can find many open source libraries for it, and there is at least a high quality free (as in speech) implementation of it.
  • by Chalybeous ( 728116 ) <chalybeous@@@yahoo...co...uk> on Saturday May 01, 2004 @07:04PM (#9030515) Homepage Journal
    Interesting, AC.
    I know that since switching to Mozilla Firefox and the latest version of Sun Java, I've had some minor issues with web-based applications (mostly games) which refuse to work with anything but MS Java VM. So I suppose there's at least one forked (or b0rked, depending on your view of MS Java VM) version of Java out there in widespread use.

    Anyone else wants to throw their 2c into the ring on this?
  • by rutwms ( 737121 ) on Saturday May 01, 2004 @07:06PM (#9030528)
    Maybe there needs to be a distinction between and Open Source License and an Open Source Development Process.

    Open Source [opensource.org] software is based on a development process. You are asking for a distinction between Free Software [gnu.org] and Open Source software witch does exist, but is often confused.

  • by vegetasaiyajin ( 701824 ) on Saturday May 01, 2004 @07:06PM (#9030531)
    "Java" is a programming language, right? Programming langagues doesn't have source code, they have specifications. Are they talking about open-sourcing a specific compiler for Java? Or are they talking about releasing or loosening license restrictions on the specifications for the language?

    They are talking about open-sourcing Sun's compiler and runtime. The Java language specification is very open. It literally says:
    "Sun Microsystems, Inc. (SUN) hereby grants you a fully-paid, nonexclusive, nontransferable, perpetual, worldwide limited license (without the right to sublicense) under SUN's intellectual property rights that are essential to practice this specification. This license allows and is limited to the creation and distribution of clean room implementations of this specification...".
  • by mindriot ( 96208 ) on Saturday May 01, 2004 @07:09PM (#9030544)

    Don't forget that there's a whole run-time library associated with Java. You have the language specifications, of course, but there's also all the classes that are coming with the JRE already. These are available in source code within the Java SDK, but under a more restrictive license. And then there's also, of course, the compiler itself, the virtual machine, and tools like javadoc. OK, there's kaffe [kaffe.org], for instance, but they're not completely there yet (read their What is Kaffe not? section on the title page). There's also GNU classpath [gnu.org] to replace Java's core class libraries, but they're not quite there yet either [kaffe.org].

  • by vegetasaiyajin ( 701824 ) on Saturday May 01, 2004 @07:13PM (#9030563)
    When you download java, you get the source files along with it. GPL is not the only license that makes something open source.
    Actually, the source code you get is for the standard library, not the JVM source code. That one is a separate download.
  • Correct.

    The list of licenses that make something Open Source is here. [opensource.org]

    While there are some Sun licenses on the list, the Sun Community Source License (which Java source is provided under) is NOT.

    This is not an opinion question. This is a fact. Java is NOT Open Source. It is not a little Open Source, or almost Open Source. Open Source is a binary state. It is, or it isnt. Java IS NOT.

  • by Anonymous Coward on Saturday May 01, 2004 @07:21PM (#9030616)
    Pantents used to be a marketing gimic. "try pats patented medison"(made with mercury and arsenic). Now patents have a bit of a negative contation, and it is seen as a piece of junk if they have to advertize a patent.
  • The open source definition [opensource.org] includes "No Discrimination Against Persons or Groups" specifically to head off such misguided ideas.

    Besides, Microsoft doesn't need Sun's source code to fork Java. They have enough people to write a VM from scratch. Or they could use Kaffe.
  • Re:Why open Java? (Score:5, Informative)

    by mindriot ( 96208 ) on Saturday May 01, 2004 @07:25PM (#9030631)
    Because it would be one hell of a Free software killer application. There's so many people using Java already, and Stallman's point against Java right now is that when writing code in Java (which many do simply because it's easy and beautiful to write in Java), you create dependencies to non-Free software making it practically impossible to run an entirely Free system using such dependent Free software.

    Consider this: if Java were Free, it could easily be the world's most used piece of Free software (before you say Apache or something, let's say 'most used by private persons')

    You might be a troll and I did bite, but it was just too good an opportunity to point out what Freeing Java could mean.
  • by Timothy Brownawell ( 627747 ) <tbrownaw@prjek.net> on Saturday May 01, 2004 @07:31PM (#9030673) Homepage Journal
    What you talkin' bout foo? [sun.com] GOTO has been long supported by Java, it just hasn't been used by its developers.
    From the page *you* linked: "The keywords const and goto are reserved, even though they are not currently used. This may allow a Java compiler to produce better error messages if these C++ keywords incorrectly appear in programs."

    So, the Java language does not support goto. Trying to use a goto will result in a compiler error.

    Tim

  • by Wesley Felter ( 138342 ) <wesley@felter.org> on Saturday May 01, 2004 @07:32PM (#9030678) Homepage
    Sun actually makes millions of dollars from licensing their VM source code to IBM, Apple, HP, BEA, etc.
  • by bug_hunter ( 32923 ) on Saturday May 01, 2004 @08:26PM (#9030994)

    mainLoop : for(int i=0; i n; i++) {
    for(int j=0; j m; j++) {
    if (blah[i][j] == 1) break mainLoop;
    }
    } ....

    Is also how you can break out of nested loops in Java. More restrictive then goto's so it keeps the code neat.
  • by persaud ( 304710 ) on Saturday May 01, 2004 @08:31PM (#9031023)
    They get to define Open Source (registered tm), not "open source". Because they paid for trademark registration, in the US and possibly other jurisdictions.
  • for the former, use a labled outer loop

    outer: for ...
    for ...
    break outer;

    for the latter, "cleaning up properly afterwards" is a textbook case of where you want to use the finally clause of a try/catch block.
  • by MisterLawyer ( 770687 ) <mikelawyer AT gmail DOT com> on Saturday May 01, 2004 @08:37PM (#9031048)
    "Have you heard of the Microsoft stance on the GPL?"

    Yes I have. It's basically: "The GPL sucks because it prevents us from making money."

    Here it is, from an article on Microsoft's website [microsoft.com], titled "Microsoft's View of the GPL":

    "Microsoft's concern is the resulting degradation of the software ecosystem that would be triggered by widespread acceptance of the GPL"..."Microsoft further contends that the combined forces of a well-funded research community and a robust commercial software industry will continue to drive global economic expansion."

  • Re:Well, legally... (Score:5, Informative)

    by persaud ( 304710 ) on Saturday May 01, 2004 @08:42PM (#9031076)
    Depends on state employment law. California is an at-will employment [elinfonet.com] state, which means your employer has no ownership of work produced on your own equipment and your own time (you of course have to honor confidentiality and non-compete agreements).

    This means you can be fired at any time or quit at any time. It also permits switching between headhunters whose contracts explicitly prohibit such switching. State law trumps the letter of any contract. But maintaining the spirit of fair employment contracts is in the interest of all parties.
  • Re:Well, legally... (Score:5, Informative)

    by xero314 ( 722674 ) on Saturday May 01, 2004 @09:08PM (#9031192)
    Contrary to popular belief there does not need to a contract in place for most works create by employees, at the request of an employer. Here is a quote from the U.S. Copyright Office, which does cover Sun's Java Copyrights.

    • In the case of works made for hire, the employer and not the employee is considered to be the author. Section 101 of the copyright law defines a "work made for hire" as:
    • * (1) a work prepared by an employee within the scope of his or her employment;

    To read more go to http://www.copyright.gov/ [copyright.gov]
  • by Mithrandir ( 3459 ) on Saturday May 01, 2004 @09:43PM (#9031355) Homepage
    The way the specs are right now is that anyone can implement them. Sun owns a Trademark on "Java" and many derivative names. In order to call your work "an implementation of Java" you need to get Sun to give you a license to use the Java(TM). To do that, you need to pass the compatibility tests. To pass the compatability tests you must purchase a TCK (test kit), run the tests and give the results to Sun. They check it over, it if passes muster you get to call your work Java.

    For a perfect example of seeing this happening in real life, have a look at the Wabi project. This was a Java-clone in all but name for small footprint devices, long before J2ME started. Basically it was Java - you could compile the code with a normal Java compiler and run it on the Wabi VM and it would work (except for the odd bug here and there). They never called it Java as they didn't want to pay for the TCK.
  • Re:Why open Java? (Score:4, Informative)

    by T-Ranger ( 10520 ) <jeffw@cheMENCKENbucto.ns.ca minus author> on Saturday May 01, 2004 @11:43PM (#9031787) Homepage
    The reasons are well documented and well understood.

    .... Or do you want a different reason why the grandparent post was modded a troll? It doesnt need any better reason then that.... You yourself recogonize the topic as being "crap".
  • Re:Well, legally... (Score:3, Informative)

    by cyborch ( 524661 ) on Sunday May 02, 2004 @02:11AM (#9032190) Homepage Journal

    ...it is there's...

    there != their [slashdot.org]

  • by jswalter9 ( 695759 ) <jeff.s.walter@gmail.com> on Sunday May 02, 2004 @07:39AM (#9032962)
    The only thing Java is still "slow as hell" with is GUI on Linux. I've run plenty of tests vs C++, Obj-C, Perl, Python, etc. on non-GUI implementations of the same spec (proprietary in-house infrastructure spec).

    GUI on Linux is slow for one reason: the linux implementations of Java pre-2.6 linux kernel has avoided the POSIX threading (because it had to) and used processes communicating through shared memory instead of operating from the same address space. This is most significant for GUI apps because in Java each Listener runs in its own Thread.

    IF Sun releases a true thread-using implementation for linux you'll see a BIG performance gain on the GUI and maybe some gain elsewhere as well, but in the meantime I have to request (again) that folks not dump on Java unless they've used it within the previous year.

    My $.005
  • by __Reason__ ( 181288 ) on Sunday May 02, 2004 @12:56PM (#9034219)

    1. Performance? My experimentation 6 months ago with compute/object-intensive code showed a fully-optimized GCJ only getting 30% the speed of the latest Sun JVM.

    GCJ isn't perfect (yet), but for the most part it produces pretty good code that matches or exceeds JRE performance on most large applications. If you are seeing such a large performance discrepency then most likely there is some bottleneck in the libgcj runtime/class libraries that your code is tripping over. We are fixing such problems regularly, but can't do so if we don't know about them. If your code runs poorly on GCJ then *please* send a message to java@gcc.gnu.org describing what you are doing or, better, with a test case/sample code. We'll do our best to help.

    2. Popular applications? Can Jakarta Tomcat with JSP, etc., a common open source Java-based web server be run on it? If not, there is a clear list of what it is missing.

    Tomcat runs great on GCJ. The issue today is not so much what GCJ can run, but making it easier for folks to build & run large scale applications like Tomcat and J2EE servers. The "native compiler" compilation and execution paradigm is substantially different from that of the traditional JVM, and this means it can be a lot of work to convert everything from an ant/javac build system to a native one. Solutions to this issue are a big focus for the GCJ development community right now.

    3. Web applications sandbox? How about loading untrusted applications over the internet and running them in a security sandbox?

    Infrastructure for the java security model is largely in place in libgcj already. There are a few bits remaining to be sorted out, but we should have a completely functional java.security AccessController/SecurityManager within the next few weeks. This will allow you to securely run a) untrusted bytecode, and b) untrusted bytecode compiled to native in a trusted compliation environment.

    4. Is GTK or QT really ready to be the free cross-platform Java standard for UI?

    Absolutely. Just look at java-gnome. The day will soon come when many of your native linux desktop applications are written in Java, and you won't even notice the difference.

    Is there licensing preventing bundling of IBM's Eclipse UI toolkit with GCJ?

    Unfortunately, it appears so. IBM's CPL, although a certified free software license, has been decreed incompatible with the GPL. This doesn't stop you writing SWT applications with GCJ, of course - many do. But the SWT itself will need to be distributed with your application or at least in a separate shared library.

    Is relicensing under GPL possible?

    Better ask IBM. I certainly hope a solution can be found to this problem.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...