Slashdot Mirror


Open Source And Closed Standards?

jaaron writes "Can open source and closed standards work together? That's the question asked by Kevin Bedell in his O'Reilly weblog article. The issue springs from questions on an OSI mailing list, hinting that Sun Microsystems is looking for an open source license that would require derivatives to maintain test suite compatibility. Under such a scheme Sun could maintain control of the Java API but allow open implementations."

219 comments

  1. Maybe a bit off topic by jmcmunn · · Score: 5, Interesting


    But after reading the article, the one thing that sticks out to me is "What if the test suite is flawed, or has a bunch of bugs in it?" So then the test suite that has gone out to everyone unmodified, and then it circulates a few hundred times before people find the bug...then you have tons of stuff designed to work with a flawed test suite and when the test suite is fixed, there is the potential that previously working code (tested with the suite) will be broken! Maybe I am just a pessimist....

    1. Re:Maybe a bit off topic by Tony-A · · Score: 4, Interesting

      No, methinks you are an optimist.

      "What if the test suite is flawed, or has a bunch of bugs in it?" [Emphasis added]

      What if many test suites are flawed and have a bunch of bugs, all different?

    2. Re:Maybe a bit off topic by Anonymous Coward · · Score: 4, Interesting


      I think that you can take it as a given that there already is a Java API test suite, it just never makes it outside of Sun. Regression testing is a basic step in serious engineering these days, hardware or software. You would have an almost impossible task to convince me that Sun doesn't have one for such an important piece of technology as Java.

      Getting a new form of licensing would just let Sun take Java in new directions.

    3. Re:Maybe a bit off topic by marko123 · · Score: 1

      When you are coding to a written API, you wouldn't be just getting your code to get the right answers out of a test suite. Your code will actually be testing the test suite's correlation to the written API.

      --
      http://pcblues.com - Digits and Wood
    4. Re:Maybe a bit off topic by Anonymous Coward · · Score: 0

      No, you're an optimist in presenting this as a hypothetical rather than as something that happens on a daily basis.

    5. Re:Maybe a bit off topic by Minna+Kirai · · Score: 3, Insightful

      What if many test suites are flawed

      RTFS. The whole point of Sun's proposal is that there can be only one test suite. They want to release Java code including a test suite, so that whoever recieves that code can't redistribute it unless that test suite works. Not some random test suite, but the specific test code included by the original author.

    6. Re:Maybe a bit off topic by upsidedown_duck · · Score: 1

      ...then you have tons of stuff designed to work with a flawed test suite and when the test suite is fixed, there is the potential that previously working code (tested with the suite) will be broken!

      Welcome to standards development! Since you have such a good understanding of the process, let's get you to work right away!

      (I'm serious...multi-thousand-page ISO documents are nauseating)

      --
      -- "Makes Little Debbie look like a pile of puke!" - Moe Szyslak
    7. Re:Maybe a bit off topic by dosius · · Score: 1

      No one saying that if this is open sourced someone can't take it and do a clone under a different license (which would be more compatible than say GIJ).

      Moll.

      --
      What you hear in the ear, preach from the rooftop Matthew 10.27b
    8. Re:Maybe a bit off topic by Anonymous Coward · · Score: 2, Funny

      So now you know how us web developers feel

    9. Re:Maybe a bit off topic by Tony-A · · Score: 3, Insightful

      "New bugs for Old!"

      We can be reasonably assured that there will be bugs in that one test suite. Eventually they will become known bugs. Well technically, an obviously buggy implementation will pass the official test suite.

      A different test suite will cover those now known bugs, but introduce some unknown bugs. If you are risk-averse, then trading known bugs for unknown bugs is not a good idea. I think that some of the stuff that Sun does involves things that are very risk averse.

      Changing standards is a very awkward and time-consuming process. Look how long it has taken the USA to switch to the metric system.

    10. Re:Maybe a bit off topic by Anonymous Coward · · Score: 1, Funny

      Look how long it has taken the USA to switch to the metric system.

      The whatric system? Your words frighten and confuse me! My primitive mind can't grasp these concepts.

    11. Re:Maybe a bit off topic by koali · · Score: 3, Informative
    12. Re:Maybe a bit off topic by pvanheus · · Score: 1
      "whoever recieves that code can't redistribute it unless that test suite works".... not necessarily true. From the original email, "2. A derivative work in executable form that has passed the unmodified test suite can be distributed under a license of your choosing." and "3. Any other derivative work can only be distributed under this license.".

      So my reading is that you only need to pass the test suite if you want to distribute executables. If you only want to distribute modified source, you can still do so under the original license.

      If that is the case, I think this sounds like a decent idea. However, the information provided is rather vague.

    13. Re:Maybe a bit off topic by Anonymous Coward · · Score: 0

      A different test suite will cover those now known bugs, but introduce some unknown bugs. If you are risk-averse, then trading known bugs for unknown bugs is not a good idea. I think that some of the stuff that Sun does involves things that are very risk averse.

      What in the hell are you blabbering on about? You're arguing that if you're "risk averse" you won't fix bugs. That's so obviously wrong I don't know where to begin. You think that Sun's so "risk averse" that they don't do a damn thing when there is an obvious problem? Sun fixes bugs all the time. Are you trolling?

    14. Re:Maybe a bit off topic by javaxman · · Score: 1
      the point is that the test suite can ( and does ) change, grow, and incorporate fixes.

      Does, as in, right now, since the JCK was created.

      Oh, and test suites don't introduce bugs.

    15. Re:Maybe a bit off topic by javaxman · · Score: 1
      What do you think you get if you license Java right now? It's all about standards and this test suite...

      That whole Microsoft lawsuit was about keeping JVMs compatable, and this test suite is a key part of ensuring that various implementations are compatable.

      Open source Sun's JVM implementation(s) and require any modifications of the code to pass the test suite as well or better than the original(s)? Sounds like a good deal to me...

    16. Re:Maybe a bit off topic by Mikkeles · · Score: 1

      They may wish to take a page from Ada, for which there is a carefully developed conformance test suite which is maintained by a specific authority.
      In addition, Ada was a trademarked name, so control over valid implementations was maintained.

      --
      Great minds think alike; fools seldom differ.
    17. Re:Maybe a bit off topic by Asterisk · · Score: 1
      Look how long it has taken the USA to switch to the metric system.
      What are you talking about? The USA isn't switching to the metric system...
    18. Re:Maybe a bit off topic by Tony-A · · Score: 1

      What are you talking about? The USA isn't switching to the metric system...

      Now that's a long time, isn't it?

    19. Re:Maybe a bit off topic by Tony-A · · Score: 1

      You're arguing that if you're "risk averse" you won't fix bugs. That's so obviously wrong I don't know where to begin.

      You might begin by realizing that any change does in fact change things and sometimes breaks things that you thought were completely unrelated.

      Sun's not that risk averse, but I'd bet some of their customers are.

    20. Re:Maybe a bit off topic by Tony-A · · Score: 1

      Oh, and test suites don't introduce bugs.

      No, but passing a test suite introduces bugs.
      (You don't pass, you change something.)

      The exact details of the test suites control which bugs will be in conforming implementations.

      When it bites you, you discover that it's a bug. But it and all its kin were never non-bugs.

      If the implementation does not meet what the requirements should have been, you have a bug. Don't confuse need with ability.

    21. Re:Maybe a bit off topic by Tony-A · · Score: 1

      So now you know how us web developers feel

      I almost sympathize.

      What you are experiencing is the back end of
      (on the front end, I can do so much better if this and that ...)
      (or worse, I want to be distinctive, so I'll change this and that ...)

      There's a reason standards bodies move so inexorably slowly.
      What is standard is really on what everybody agrees to (or has to agree to).
      What is standard is the stuff that isn't worth being different. Think about it.

      This is also why Open Source has an unfair advantage.
      It is very easy to go non-standard and gain whatever advantages therefrom.
      But going non-standard also carries the penalty of being non-standard.
      Therefore if I've gone non-standard and I want to be able to depend on what I've done, it's worth more than a little time and effort to try to make my stuff acceptable to whatever owns the standard. This gives a counter-intuitive valuation to my "Intellectual Property".

    22. Re:Maybe a bit off topic by chawly · · Score: 1

      The USA has switched to the metric system ? Well I'll be .......

      --
      How many beans make five, anyhow ? ... Charles Walmsley
    23. Re:Maybe a bit off topic by Rick+the+Red · · Score: 1
      You're right. By my reading, if you want to distribute a work that doesn't pass the test, you can. You just have to include the test it doesn't pass. If it now suits your purposes despite failing the test, so what?

      Screw Sun, my "Java" now runs Fortran!

      I don't think that's what Sun intends, so I don't think this wording is anything close to the final license.

      --
      If all this should have a reason, we would be the last to know.
  2. Why even bother open sourcing Java then? by chrispyman · · Score: 4, Interesting

    When you have a license that restrictive, though it would be benefitial in maintaining compatibility with Java VMs & apps, wouldn't this basically restrict you from doing much with Java other than perhaps speed hacks and porting to some obscure OS?

    1. Re:Why even bother open sourcing Java then? by fitten · · Score: 0

      When you have a license that restrictive, though it would be benefitial in maintaining compatibility with Java VMs & apps, wouldn't this basically restrict you from doing much with Java other than perhaps speed hacks and porting to some obscure OS?

      Dunno... maybe we can ask Microsoft? ;)

    2. Re:Why even bother open sourcing Java then? by Anonymous Coward · · Score: 4, Insightful

      Depends. There are lots of things that you could do, depending upon the form of the license. You could reimplement the guts of java in the language of your choice, such as C#, pascal, or ada. You could add functionality to the JVM or language, if the license allowed it. You could optimize the compilers for different purposes. You could develop instrumented JVMs. Lots of things.

      And don't forget, the reason for Java is compatabilty. If you don't care about that, then it really isn't Java. Just roll your own and insert whatever you want.

    3. Re:Why even bother open sourcing Java then? by anonymous+cowherd+(m · · Score: 5, Interesting
      Not quite. You could add additional features to the language that are not tested by the test suite. The fun comes when future versions of the test suite/standard break your code.

      Sun should just take a lesson from the Python Software Foundation. Although I don't like how Python's current implementation basically acts as a de facto standard (there should be a real standard rather than just a reference implentation that doesn't really reference anything), Python's implementation and "standard" are both open. Anyone can take Python and fork it in incompatible directions. Just take a look at all the posts in comp.lang.python regarding Python-derived languages.

      How has this affected Python? Not a bit. If anything, it's encouraged innovation through the Stackless and IronPython projects.

      I think what Sun is really worried about is trademark dilution. If that is the case, why not just specifiy that any derivative works must be named something other than Java? The only practical effect this would have is to make the licence GPL incompatible, since most people will rename a fork anyway. However, it does preserve Sun's trademark.

      Sun could still certify implementations as Java compatible, giving them the right to use the phrase, too. If there were a reasonable fee involved for certification, then Sun wins another revenue stream. It's a win-win.

      Why is this so difficult for Sun to see?

      --
      http://neokosmos.blogsome.com
    4. Re:Why even bother open sourcing Java then? by Anonymous Coward · · Score: 0

      What is the big deal if you have to maintain compabilty with a STANDARDS set anyway? Everyone here on Slashdot was always bitching about what MS did to the MS JVM on windows. The same thing would happen to Java if it was truly open soucre. We would end up with 1000 VMs with little tweaks and sub sets of API, that in the end would turn it into what MS had been trying to do it Java since the start, and that is VENDOR LOCK IN.

    5. Re:Why even bother open sourcing Java then? by gehrehmee · · Score: 4, Insightful

      I think you're sort of mis-reading Sun's intention on this. I don't believe they have any interest in restricting what we, the open-source community can do with it.

      What they want desperately to avoid is being screwed the same way they've been screwed so many times before: Microsoft swings in, take what Sun (or the W3C in the case of HTML&Friends) and shattering it into independant & incompatible implementations that eliminate one of the project's main goals: Interoperability.

      I believe Sun is trying very hard to let the open source community take the code and run with it as its done with so much other software, but without letting MS tie it to a You-Require-Windows-To-Work-In-The-Real-World business model.

      --
      "You know, Hobbes, some days even my lucky rocketship underpants don't help" -- Calvin
    6. Re:Why even bother open sourcing Java then? by Chandon+Seldon · · Score: 4, Insightful

      The "Trademark Java and don't let people call things Java that aren't Java" plan works perfectly. If it doesn't adhere to Sun's Java standard, there's no reason anyone should be calling it Java anyway.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    7. Re:Why even bother open sourcing Java then? by 0racle · · Score: 2, Interesting

      Except Python isn't a business and so they don't care that they don't have control over it, on the other hand Sun is, and they want control, but don't want to alienate a whole community of talented developers who place more in the license of a product over its use as a simple tool.

      Sun doesn't have to worry now about trademark dilution, since if they say it isn't Java, and a little lawsuit would solve that. What Sun wants is to have the more zealous of the OSS developer, the more moderate already chooses Java if they feel its the right tool, by having an openness while at the same time preventing forking of the type that MS tried to pull. They want to make sure that if people think its a java, lets say something like Classpath, that it is conforming to the one true Java API by allowing them to actually use the API but preventing them from making changes, harmless or destructive.

      --
      "I use a Mac because I'm just better than you are."
    8. Re:Why even bother open sourcing Java then? by Anonymous Coward · · Score: 0

      I don't think naming restrictions to preserve trademark would make the licence GPL-incompatible

    9. Re:Why even bother open sourcing Java then? by DelugeDreamer · · Score: 1

      I really do not see how your post is considered trolling since you bring up an interesting point of view.

      I suppose it all depends on what you want to be able to do with the source. I think from the aspect of QA, it is good that one is able to veiw the source to ensure compatibility and to ensure the quality of the software which a company is considering implenting. Likewise, people are even given the liberty to modify the code as they need to for their own internal purposes.

      Companies' willingness to work with the Open Source community is a good thing. That they are reluctant to let go completely of their intellectual property is at the least understandable. We should be open to proprietary software for open systems such as Linux. The truth is that some companies are simply unwilling to release their property for a variety of reasons. The prorietary software is their property - they can do as they please. Since the GPL does not prohibit the running of proprietary software on an open system, then it is all legal. I think being open to encouraging proprietary software vendors to port their software to Linux only allows for more choice. A greater selection of software will make a migration to Linux even more enticing.

      That Sun is willing to open their code even though they want to maintain control of the stanard shows that they are at least willing to work with us vice trying to stomp us out. They recognize the growing influence of open source and they wish to find a reasonable compromise. That's fair.

    10. Re:Why even bother open sourcing Java then? by anonymous+cowherd+(m · · Score: 1, Interesting
      Except Python isn't a business and so they don't care that they don't have control over it, on the other hand Sun is, and they want control, but don't want to alienate a whole community of talented developers who place more in the license of a product over its use as a simple tool.

      Just how much money does Sun make from selling JVMs and JREs? Yep, that's right, zero.

      On further reflection, though, may be right re: trademark dilution (see the end of my post). You're also right that Sun wants to prevent the kind of stunts MS pulled by marketing something as Java that doesn't fit their standard.

      However, I don't think Sun really gives a shit about "the more zealous of the OSS developer". I don't think OSS zealots who won't go near any development tool that isn't OSS are necessarily any more talented than than people who are willing to use Java even though it is not open source.

      Now, IANAL, but I think you may be right about trademark dilution. If anybody is stupid enough to call their project Java without Sun's blessing, then, as long as Sun sends out a C&D letter and follows through with litigation, if necessary, their trademark should be safe. After all, Linux is trademarked.

      Still, there's nothing wrong with my suggestion other than GPL incompatibility; everyone gets exactly what they want. (Or, is this the real problem in your eyes? C'mon, the GPL wasn't handed down by God on a stone tablet, after all.) Sun gets to revoke the licence of anyone wrongly using the Java name, the community gets its OSS Java.

      --
      http://neokosmos.blogsome.com
    11. Re:Why even bother open sourcing Java then? by fbg111 · · Score: 1

      Sun could still certify implementations as Java compatible, giving them the right to use the phrase, too. If there were a reasonable fee involved for certification, then Sun wins another revenue stream. It's a win-win.

      Why is this so difficult for Sun to see?


      Assuming infinite manpower, that might be a feasible option, but I doubt Sun has that. They may think their time and resources are better spent keeping up with MS by advancing Java in a less fractured way. Then again, IANASE.

      --
      Flying is easy, just throw yourself at the ground and miss. -Douglas Adams
    12. Re:Why even bother open sourcing Java then? by GreyWolf3000 · · Score: 1
      What Sun should do is restrict what projects can claim is "Java."

      Meaning I could take Java and turn it into something completely different, and call it something else, but not change Java and keep the name anywhere in my project.

      --
      Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
    13. Re:Why even bother open sourcing Java then? by R2.0 · · Score: 4, Funny

      "I think what Sun is really worried about is trademark dilution."

      You mean, in excess of their own trademark dilution? They've been slapping the "Java" name on everything but the toilets at HQ.

      --
      "As God is my witness, I thought turkeys could fly." A. Carlson
    14. Re:Why even bother open sourcing Java then? by Baki · · Score: 1

      But java stands out as a target from companies (most notably MSFT) that care to destroy its 'write once run anywhere' philosophy. Java has been a target, and might be again, because it is much more relevant (especially in the enterprise software world) than languages such as python, perl and ruby.

      Therefore I think sun cannot simply take those as an example.

    15. Re:Why even bother open sourcing Java then? by A1kmm · · Score: 1

      (Disclaimer: IANAL)
      From the GPL...
      b) You must cause any work that you distribute or
      publish, that in whole or in part contains or is
      derived from the Program or any part thereof, to
      be licensed as a whole at no charge to all third
      parties under the terms of this License.
      If the terms of another license prohibit you from doing that, it is not GPL compatible.

      Of course, the GPL is a copyright license, and does not grant any trademark license. Therefore, an alternate, GPL compatible approach would be to license the software under the exact terms of the GPL, and license the trademark under some other terms(like Mozilla does).

      --
      X-Has-Sig: yes
    16. Re:Why even bother open sourcing Java then? by pommiekiwifruit · · Score: 1

      Well this "javascript" thingy that some browsers support seems to act slightly differently from the sun version.

    17. Re:Why even bother open sourcing Java then? by Anonymous Coward · · Score: 0

      Yes, absolutely. Just like TeX.

    18. Re:Why even bother open sourcing Java then? by Tony-A · · Score: 1

      Although I don't like how Python's current implementation basically acts as a de facto standard (there should be a real standard rather than just a reference implentation that doesn't really reference anything)

      Errrr, a reference implementation is something that is referenced by other things, not something that references other things.

      Actually a reference implementation is a cheap and effective way to define a standard. The standard is what the reference implementation does. What the standard should be is a different matter and tends to get very hairy very quickly.

    19. Re:Why even bother open sourcing Java then? by Taladar · · Score: 1

      You are right.
      If they take Perl, Ruby or Python as examples they might end up with real 'write once run anywhere' instead of 'write once maybe run on the exact same jre minor version and os and crash everywhere else' and who would want that?

    20. Re:Why even bother open sourcing Java then? by Anonymous Coward · · Score: 0
      You mean, in excess of their own trademark dilution? They've been slapping the "Java" name on everything but the toilets at HQ.

      Actually, they've now Java-branded the toilets on the Menlo Park campus. Employees there refer to using the bathroom as going to the "Jahn".

    21. Re:Why even bother open sourcing Java then? by Ollierose · · Score: 2, Insightful

      This Javascript thingy that some browsers support is nothing to do with either Java(tm) or Microsofts J++... Java (the language) and Javascript (the browser thingy) are completely different

    22. Re:Why even bother open sourcing Java then? by Khalid · · Score: 1

      I think what Sun is really worried about is trademark dilution. If that is the case, why not just specifiy that any derivative works must be named something other than Java? The only practical effect this would have is to make the licence GPL incompatible, since most people will rename a fork anyway. However, it does preserve Sun's trademark.

      Yes I think this is the best solution !! if you still want to call your derived work Java, you need to pass the JCP tests. This has already been done, this is how J2EE works anyway !!

    23. Re:Why even bother open sourcing Java then? by naarok · · Score: 1

      Having written Java apps that work seamlessly from Windows to OS X to AIX to SUNOS, I call bull. And no, we were not ensuring jre minor version. We were ensuring jre major version though.

  3. So you're telling me... by FooAtWFU · · Score: 1, Interesting
    that if I made a derivitave and then released something with a bug in it that breaks the test suite, it's not allowed in the license? Feh!

    Just go with the GPL so you can legally steal whatever code you need back.

    --
    The World Wide Web is dying. Soon, we shall have only the Internet.
  4. Bah by ThoreauHD · · Score: 5, Insightful

    I'm gonna stay out of this one flame war. When diversity means less options, then I'm all for closed. Until then.. Darwin is in control.

    1. Re:Bah by antifoidulus · · Score: 4, Funny

      Darwin is in control.
      Great, now you have to add a Mac flamewar into an already flamewar-prone topic!

    2. Re:Bah by builderbob_nz · · Score: 2, Interesting

      Survival of the fittest may be seen as a good idea for software, but one thing I don't like about it is what happens when the fittest is flawed and the unfit aren't?

      --

      Karma? Hey I just call it as I see it.
    3. Re:Bah by CoolGopher · · Score: 1
      Great, now you have to add a Mac flamewar into an already flamewar-prone topic!

      No no no, you're getting them confused now. It's Burger King (a.k.a Hungry Jacks in some places) that has the flame-grilled burgers - Big Macs are not flame grilled! ;-)

  5. Open source + Closed standard = Closed by mind21_98 · · Score: 3, Insightful

    By definition, anything created to satisfy a closed standard leaves very little room for improvement. If you have to build around a crappy API, you can't improve the API. In order to have a fully open source application, you must build around open standards as well. Otherwise you'd have some very nasty license issues.

    1. Re:Open source + Closed standard = Closed by jonsmirl · · Score: 1

      You're taking the wrong approach to improving the API. The standard says that API(x) has to behave some broken way. So that you don't break the existing apps you have to implement API(x) with the broken behavior.

      But nothing is stopping you from implementing API2(x) with the correct behavior. If API2(x) is a good enough solution it will probably be incorporated into the standard API the next time around. API/API2 lets both older and newer apps run without breaking each other.

    2. Re:Open source + Closed standard = Closed by iabervon · · Score: 5, Interesting

      Linux conforms pretty closely to POSIX and SUS, which are closed standards. GCC conforms to ISO C99 (at least, when you tell it to). Firefox conforms to RFC 2068 and HTML 4.01. Most OSS programs conform to some standard or other. Most projects are not able to change the standard and unwilling to break compatibility.

      The real issue is how much is left unspecified by the standard and available for innovation. Good standards will contain well-defined areas of uncertainty, where the behavior is entirely up to the implementation to specify, with good ideas coming to be required parts of later standards.

      In the case of java, any option starting with -X to either java or javac is non-standard. So you just have to make your exciting new features depend on a -X flag and you'll pass the test suite (which, by definition, won't use any non-standard options).

    3. Re:Open source + Closed standard = Closed by Anonymous Coward · · Score: 0

      By that same logic... the GPL could be considered closed a closed license and in need of improvement. Otherwise you'd have some very nasty compatibility issues.

    4. Re:Open source + Closed standard = Closed by Minna+Kirai · · Score: 1, Informative

      Linux conforms pretty closely to POSIX and SUS, which are closed standards.

      Compared to Java, they aren't closed at all. Despite the existence of an impotent "community process", the Java standard is 100% Sun property. Scott McNeely could totally change the meaning of "Java" every 15 minutes if he wanted to.

      Do you want him to be able to take away your work just because it's based on a "Closed Standard" Sun decided to rewrite?

      Firefox conforms to RFC 2068 and HTML 4.01.

      What do you think a "closed standard" is? There's room for argument ("How open is enough"), but it's quite clear that IETF RFCs are open and Java is closed.

    5. Re:Open source + Closed standard = Closed by iabervon · · Score: 1

      Have you actually read the standard licensing information for RFCs? Once an RFC is published, it's pretty much set in stone. You need the permission of the author in order to reformat it, let alone make any substantial changes to it. The main difference between Java and RFCs is that people care about using the trademark "Java" for whatever they're doing, while "RFC 2068" isn't worth trademarking, let alone trying to apply to modified versions.

      Really, standards should only be replaced and never modified. Now, it is true that the Java standards are set by a process inaccessible to just about anyone, but there's no reason that one has to affect the Java standard in order to develop software, any more than one has to be Linus in order to work on Linux. Sure, you can't affect the official version, but that only matters as far as users care what is official, which they clearly do not if they're using your patches.

      What is more of a concern is whether Java will become fragmented due to Sun failing to include other people's good ideas.

    6. Re:Open source + Closed standard = Closed by Minna+Kirai · · Score: 1

      Have you actually read the standard licensing information for RFCs? Once an RFC is published, it's pretty much set in stone.

      Right... so what? You're talking about orthogonal concepts: changability versus openness. Just because the RFCs will never change doesn't make them closed- actually, the fact that nobody can change them protects them from closing!

  6. Sun will Wither Away by KrisHolland · · Score: 2, Interesting

    "Can open source and closed standards work together?

    No they can't really, and even if it were possible why wouldn't people just use Eclipse?

    "Under such a scheme Sun could maintain control of the Java API but allow open implementations."

    Sun never learns. When they got into fight over java with Mircrosoft the result was MS making .NET. When will Sun decide to open Java up when Java becomes as much as an underdog/hasbeen as Solaris.

    No one cares anymore Sun, the community is just routing around you and soon you will be insignificant.

    1. Re:Sun will Wither Away by Anonymous Coward · · Score: 2, Interesting

      Great comment. Unfortunately devoid of facts in reality. Java is somewhere between the 1st and 5th most desired language experience in IT, depending hugely on area. .NET has been out for a couple years now, but is only being adopted widely within organizations that already had adopted M$ technologies for implementation. At the end of the day, it simply means that .NET has been used as an upgrade for some inferior MS deployments .. like the fabulous ASP/VB/COM combination.

      Java solved the problems with these architectures a technological lifetime ago, and has yet to give up any real amount of it's marketshare to .NET even given the huge entrenchment of MS servers and the like. The reason? The types of shops that use MS servers don't use Java as it's core language - they use Unix. There is a huge divide between true enterprises that desire carrier grade operating systems and hardware, and the plug and play types that like their servers to have the same desktop environment as their laptop. Don't get me wrong, I have consulted at plenty of 'huge enterprises' that use MS servers but most found reasons for this, including the MS servers were inherited because of merger and not chosen by the enterprise originally.

      Given some of these minor factoids we see here, it makes sense that Java isn't some piece of arcana waiting to be scrapped - it might be Sun's only remaining asset that has legs.

      This is why a lot of us group up Linux and Java as great teammates (and I am not alone, Oracle, IBM and many other companies feel the same). Not because the JVM should be open sourced, but because of the niches they both provide in the IT puzzle. Unfortunately, getting most open source zealouts to understand that business purpose has a role and has obviously taken more than a minor part in Open Source already (Linux?, Redhat? IBM?) it is going to be equally tough to explain why open sourcing the JVM isn't really all that easy.

    2. Re:Sun will Wither Away by thisgooroo · · Score: 5, Insightful
      "Can open source and closed standards work together?

      No they can't really

      tell me, how open are posix, ANSI C, or the internet standards? are linux, *bsd, apache open source or not?

      "Under such a scheme Sun could maintain control of the Java API but allow open implementations."

      Sun never learns. When they got into fight over java with Mircrosoft the result was MS making .NET.

      MS put out an incompatible java in yet another attempt to control the internet. in order to prevent that, sun had to do something. so MS didn't like the outcome and decided to do its own standard. fine, but at least we can pretty much rely on the java we have installed on our systems run whatever claims to be java

    3. Re:Sun will Wither Away by boner · · Score: 1

      This comment tripped over its own beard, hit its head on a hard rock and died.... more than a year ago.

      You are repeating a position that is devoid of fact, just a rotting corps of dissent.

      Get over it, Sun is a big contributor to the community while they try to do the right thing while making money.

      And don't forget: beer != speech

    4. Re:Sun will Wither Away by Tony-A · · Score: 1

      "Can open source and closed standards work together?

      No they can't really,


      Closed standards:
      meter as a measure of distance.
      second as a measure of time.
      liter as a measure of volume.

      These are closed in that neither you nor I stand any chance of changing anybody's mind as to what they should be.

      When everybody gets to mess with the standards the standards cease to be standards.

    5. Re:Sun will Wither Away by jeif1k · · Score: 1

      tell me, how open are posix, ANSI C, or the internet standards?

      POSIX, ANSI C, and the Internet standards are completely open: you can implement them in whatever way you like. There are no mandatory compatibility test suites for your implementation. Only if you want to have your implementation certified do you have to pass official tests.

      fine, but at least we can pretty much rely on the java we have installed on our systems run whatever claims to be java

      Fine, but at least we can pretty much rely on the Windows we have installed on our systems run whatever claims to be Windows software. What's the difference? Both Sun and Microsoft give you the same answer to compatibility: "just use our proprietary standard and you'll be fine". That is not what "open standards" are supposed to be about.

  7. Possibly by Lancaibheal · · Score: 5, Informative

    Possibly.

    It depends on just how "closed" the closed-source component of the partnership is. If it's something like Java, which is mostly open in its technological aspects, but legally closed, and there is an undertaking from the owner that there will be no GIF-style schenanigans, then why not?

    On the other hand, if we're talking about, say, the MS Word "standard", then I just don't think that a partnership with Open Source is possible. There's no real reason why an Open Source project would need to use such a standard anyway, so I think the answer probably has to be "probably not"

  8. DON'T CLICK LINKS by Anonymous Coward · · Score: 0

    Will make thine browser misbehave, less thou disallow java.

  9. Open Source Works with Closed Standards:1 Caveat by reporter · · Score: 5, Insightful
    Open source can work with closed standards under 1 caveat: the open-source programmers may need to rename a variant on the closed standards.

    The situation is analogous to building a chip that runs an instruction set architecture (ISA) owned by a competitor. The ISA is a closed standard in the sense that the company owning the ISA has trademarked its name. For example, MIPS technology trademarked the name "MIPS". A competitor, Lexra, then implemented a subset of the MIPS ISA, omitting 2 instructions. Lexra said that its chip is MIPS ISA compatible. MIPS sued and won. If Lexra had, instead, labeled its chip "MIPS ISA flavored", not "MIPS ISA compatible", then there would be no legal problems.

    Another good analogy is Microsoft incorporating the Java runtime environment in its browser. The environment was not fully compatible with Sun's closed-standard for the Java runtime environment. Sun sued and won. If Microsoft had claimed that the browser was equipped with a "Java flavored runtime environment" or "JavaPlus[tm] runtime environment" (and trademarked "JavaPlus"), then there would be no legal problems.

    I do not see a problem here.

    Open source is now a credible movement. The open-source development lab (OSDL) and the free software foundation (FSF) have sufficient clout that if any team of talented programmers created a language called "JavaPlus", derived from and mostly (but not entirely) compatible with the closed-standard Java, there is the strong likelihood that JavaPlus would come to dominate the market for Java. Then, Sun would need to kiss OSDL's or FSF's ass. Sun would be forced to alter the Java standard to make it compatible with JavaPlus.

    Sweet. Sweet revenge.

  10. This is BS by Anonymous Coward · · Score: 3, Insightful

    All Sun has to do is to publish a standard Solaris OS specification (similar to whats done with SPARC) and then GPL the OS.

    GPL offers protection to individual developers that they will be able to freely benefit from improvements to their contributions anyone makes without having to fork over money. The problem with BSD is that if a company uses your source in a closed product you dont get any future benefit and if you want to use their product you have to pay.

    Open source developed Solaris OS'es should have the ability to claim compliance to whatever revision of Solaris.

    Sun can charge a fee to do compatibility testing. In theory though it should be possible for third parties to also engage in the certifying compliance business .. if they do a half ass job ..they just won't be trusted.
    They will have to have their own logo though and not be allowed to use a Sun certified Solaris specification compliant logo

    1. Re:This is BS by Anonymous Coward · · Score: 0

      "Open source developed Solaris OS'es should have the ability to claim compliance to whatever revision of Solaris."

      So...all derivatives should comply with a license that never existed? OMG AGENT OF SCO TRYING TO TRICK US.

    2. Re:This is BS by psetzer · · Score: 2, Insightful

      It would be nice if Sun decided to open their intellectual property up, but right now they are in dire straits. Asking them to throw away all of their software sales in exchange for entering a different market is asking them to really risk their livlihoods and their business on something that may not pan out. Every time the open source community tells Sun to make the leap, I wonder if they've thought about the consequences and are willing to support Sun, or if they just want to cannibalize Solaris and Java, and just let the company falter.

      --
      "Anyone who attempts to generate random numbers by deterministic means is living in a state of sin." -- John von Neumann
    3. Re:This is BS by Eivind+Eklund · · Score: 5, Insightful
      You are repeating a lie.

      As a developer with the FreeBSD project, I can say with certainity that there do come benefits from proprietary derivates of BSD-

      Specific examples:

      • The entire SCSI subsystem of FreeBSD (CAM) comes from a proprietary derivate
      • The entire netgraph subsystem (network transformation system) comes from a proprietary derivate
      • Many of our core developers are employed by companies making proprietary derivates
      • The mpd multilink PPP daemon came from a company that made a proprietary derivate
      We've also got a ton of other submissions, but bugfixes and feature enhancements.

      Now, we can have an economics debate about which license results in the most contributions - but claiming that "if a company uses your source in a closed product you dont get any future benefit" is plain misinformation.

      Eivind.

      --
      Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
  11. Re:Open Source Works with Closed Standards:1 Cavea by Anonymous Coward · · Score: 1, Insightful

    Microsoft already tried that with J++.

    It lasted about, I donno, 3 months before they were sued out the ass...

  12. I think it's brilliant by yaphadam097 · · Score: 5, Insightful

    Maybe it's just because I've been doing Java development exclusively for the past three years. Or, maybe it's because I've been doing Extreme Programming exclusively for the last two and this gels extremely well with the idea of Customer Tests which are at the core of what I do. But, I think this is absoulutely brilliant.

    Essentially, "Do whatever you want, but you can't call it Java unless it passes our compatibilty suite." Thus the core vision of "write once run anywhere" is preserved but the community is given the freedom (And, yes, I do know what that word means) to enhance and bugfix. BTW, it is already pretty easy and wouldn't become any harder to expand beyond core java by adding additional libraries. The difference would be that you could distribute the whole thing under a single open source license.

    The one thing you couldn't do would be to change the language itself. But then, maybe I'm missing something, but if you don't care about compatibility why use java in the first place?!? It's not like there aren't good alternatives out there that will let you do whatever you want (Perl, Python, C++, etc.) The whole advantage of Java is that it is so prolific, and it is so because of it's rigorously maintained compatibility/portability (And strong advocacy by Big Blue among others... who like it because of it's portability across the many platforms they offer and support.)

    1. Re:I think it's brilliant by Vlion · · Score: 0, Troll

      The only problem I forsee here is the proliferating of pseudo-Javas.

      I already don't care to learn Java- there are way too many "Java"'s out there already- 1.0, 1.1, 1.2, and more. The install is a complete bear, requiring playing with paths and the like under Win32- not fun!

      Now, you take C++ or C or Lisp.
      Old C++ is basically a subset of modern C++
      Same for C and Lisp.

      When I download a .cpp program, I can say with 95% reliability that it will compile under VC2003 or gcc 3.
      I canna say that with Java. I've <i>tried</i>. I'm not blowing smoke here. Java implementations for me have tended to be flat out inferior than C or Lisp implementation in terms of cost of use.
      *shrug* But we will see, yes?

      --
      /b
      |f(x)dx = F(b) - F(a)
      /a
    2. Re:I think it's brilliant by Anonymous Coward · · Score: 1, Interesting

      Thus the core vision of "write once run anywhere" is preserved but the community is given the freedom (And, yes, I do know what that word means) to enhance and bugfix.

      Ugh, I'm having flashbacks to every time I try to work with SQL. Sure all SQL servers kind of implement the same basic functionality but to get anything usefull done you have to be a linguist who is intimitly familiar with each of the dialects you are using. It's an ugly hackish mess. What Sun should do instead is actually open up the JAVA standards process so that people who have views contrary to Sun's can put their constructive criticism to work improving the language standard.

    3. Re:I think it's brilliant by yaphadam097 · · Score: 1

      The difference being that Java is a fully functional development language whereas SQL was never intended to be, but vendors keep adding to it so that naive shops will buy their latest bloatware.

      In every SQL dialect I am aware of I can still "SELECT * FROM my_table" and get the results I expect. That is just about all I really need to do since I have a real OO language in which to develop code. However, as long as government and big business keep giving Bloatware Inc. (formerly Oracle Corporation) millions of dollars for the latest crappy version of their monstrosity I will have to deal with business logic implemented in PL/SQL by folks who have no business dressing themselves let alone developing code.

      Is there any ambiguity left as to how I feel about that? ;-)

      Anyway, I don't forsee that happening to Java even if it is open sourced for the same reason it hasn't happened to Perl, Python, or C++. Since you can already do 99% of what any reasonable developer would ever want to do in those languages without the need for any extension.

      One more relevant point: The idea of having a test suite for compatibility is to ensure bytecode compatibility between JVM implementations so that portability from one JVM to another is preserved. JVMs are already implemented differently on different platforms, so that wouldn't change. One thing that could change is that you could implement any kind of Javaesque compiler you wanted as long as the bytecode you produced was compatible (Actually, you can already do this.) So, if you really want Java with precompiler directives, or JLisp/JFortran/JAda, or whatever you just have to ensure that you compile to JVM compatible bytecode. The idea of open sourcing Java would be that anyone could make their own JVM but to be covered under the license it would have to pass a test suite verifying that it was bytecode compatible with everyone else's Java and had support for the core java.* libraries that many programs need to run.

    4. Re:I think it's brilliant by yaphadam097 · · Score: 1

      I wear a thong and tassels which is encouraged but not actually required.

      I work in a development shop... what are these "girls" you speak of?

  13. What do you mean? by ZuperDee · · Score: 1

    What do you mean by "nasty license issues?" I don't see how coding to a given API can result in this... If the product does not meet the given guidelines, the standards body could sue for breach of contract. Sounds simple to me.

  14. Doesn't really mix by joe_plastic · · Score: 5, Insightful

    If Bob Scheifler had read the Open Source definition he would have noticed that maybe criteria 8 and 10 contends with what he wanted to accomplish.

    8. License Must Not Be Specific to a Product: The rights attached to the program must not depend on the program's being part of a particular software distribution.
    His test suite would be another program.

    10. License Must Be Technology-Neutral:No provision of the license may be predicated on any individual technology or style of interface.
    The environment to be tested might not support all of the I/O that his suite might need in order to pass. IE maybe it has some combination of no writable filespace, no gui, no network connection, no terminal....

    I wish the definition was more clear that the license itself shouldn't restrict the kinds of modifications that can occur. If that is impied then criteria 3 is abused as well.
    The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software. You are allowed to make modification as long as the md5sum of the resultant file is cc4e48a5fe0ba15b13a98b3fd34b340e ;->

    1. Re:Doesn't really mix by gmhowell · · Score: 1

      Remembering, of course, that the term 'open source' is open to interpretation. Yes, the original post on the mailing list was most likely "is it OSI brand 'open source' compatible?" but the weblog doesn't make that fine a distinction.

      Further, if software should be open, shouldn't rational people be able to take exception with accepting OSI's definition as the definition?

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
    2. Re:Doesn't really mix by joe_plastic · · Score: 1

      I believe that Bruce Perens got a Trademark for Open Source. I don't know whether Bruce, OSI, or The Board of Software in the Public Interest, or nobody has the Trademark now. So if the trademark is still valid then Sun could be barred from calling their license an "Open Source" license if the trademark owner disagreed.

      Further I believe that the definition and criteria is valuable to help people know with certain confidence what kind of license they are dealing with. Lots of people would like the positive association with being "open source", so we should be critical of what we allow licenses that claim to be that get away with.

      Rational people should in many cases like more definitive terms when discussing things, then just dealing with fuzzy concepts. So it's better to have a fairly objective procedure to discriminate licenses into various classes like Open-source, free, gpl-compatable -- then it let the terms devolve into merely sensating. I know it when I see it -- but I can't tell you how. The OSI definition hopefully gives enough that indepedent people uses the same procedure can reliable come up with the same results.

    3. Re:Doesn't really mix by Kjella · · Score: 1

      You are allowed to make modification as long as the md5sum of the resultant file is cc4e48a5fe0ba15b13a98b3fd34b340e ;->

      As I understood it, the big fuzz is compliance in order to use the Java trademark. APIs aren't copyrightable, AFAIK. This is the same as with e.g. Linus' trademark on Linux. In theory, if you've applied a patch, you need his permission to call it "Linux". Maybe he'd only accept calling the file with md5sum "cc4e48a5fe0ba15b13a98b3fd34b340e" linux. So what? The question is the licence. As long as you can take Java, modify it, and release it under some other name, they're in the clear on that one.

      Kjella

      --
      Live today, because you never know what tomorrow brings
    4. Re:Doesn't really mix by Khalid · · Score: 1

      No he didin't !!

      In fact, ESR applied for it but failed !! hence the "OSI Certified" label which the OSI gives now for licences they think is compatible with theu guidelines

    5. Re:Doesn't really mix by joe_plastic · · Score: 1

      You are right API's aren't copyrightable but implementation of said API's sure are.
      And it's not the Java trademark issue at all; if it was then you are right they could do exactly what you suggest. They want to make it so that you must met the compliance test or you can't distribute it whether you call it Java(TM) or Kjella's Ball o'Wax -- that is exactly the issue.

    6. Re:Doesn't really mix by joe_plastic · · Score: 1

      Thank you for your correction. I had forgotten how that turned out.

  15. But yes by Sinner · · Score: 5, Interesting

    Actually, they work together all the time. A major example is Samba, which implements Microsoft's mostly-closed SMB protocol. Or the open-source implementations of Microsoft's video codecs.

    But what Sun is after is different. They want an open source license that only permits those modifications which preserve compatibility with Sun's specifications.

    Sun is suffering from a classic misinterpretation of what on open source license is. They're thinking if they can just get the right secret handshake, they can gain entry to the club.

    The real secret is, there is no secret handshake. While it certainly helps if a license is phrased in such a way that it appears to match the Open Source Definition, the only real test of a license is whether it lets people do what they need/want to do.

    Sun's problem is that they know that people want to produce non-conformant implementations. They feel they have to stop them doing that. This goal is, by its very nature, incompatible with an open source license. No amount of clever wording is going to change that.

    --
    fish and pipes
    1. Re:But yes by Anonymous Coward · · Score: 1, Interesting

      You just don't understand. Most people do want conformant implementations. The people that buy app servers want Java to work the same on Solaris, Linux or Windows.

      It's the techies that want an open source Java so they can muck it up. I'm sorry to tell you, but Sun is doing the right thing here.

    2. Re:But yes by Anonymous Coward · · Score: 0

      No, actually it isn't working together. Microsoft has a closed protocol, it's hard to work together when it's closed.

      Samba isn't a reimplementation of a closed protocol, it's a reverse engineering and it works. Yes, but you can't be sure it will work in all situations or if it'll break and or if it's working efficiently. Hardly what one would call open or working together.

    3. Re:But yes by bcrowell · · Score: 1
      Sun's problem is that they know that people want to produce non-conformant implementations. They feel they have to stop them doing that. This goal is, by its very nature, incompatible with an open source license. No amount of clever wording is going to change that.
      It's interesting to compare with Knuth's TeX. Knuth basically has the same requirement, that anything that claims to be TeX has to pass his test suite. IIRC, he only cares if you're going to claim it's TeX; if you're not claiming it's an implementation of TeX, then you can produce whatever kind of doggy doo doo you like.

      TeX has always been a darling of the open-source community, but this is despite the fact that it's not actually copylefted. So why is Java so often spoken of with disdain?

      One big difference is that Sun's Java licensing is set up so that it makes lots of hassles for the open-source community. For instance, to install Java on FreeBSD, you have to jump through lots and lots of hoops (click through this licensing agreement, then download this 40-Mb tarball, compile it; lather, rinse, and repeat for at least two cycles). This could all change, however, if, for example, gcj got to the point where it was really a useful tool.

      It's really kind of ironic. Knuth has never claimed to be part of the open-source movement, but he's got such astronomical whuffie that the movement loves him anyway. Sun is just dying to see if it can suck some business mojo out of associating itself with open source as a buzzword, but everyone can see that they don't walk the walk or talk the talk.

    4. Re:But yes by Sinner · · Score: 1
      TeX has always been a darling of the open-source community, but this is despite the fact that it's not actually copylefted.

      Lots of open-source software isn't copylefted. For example, X11. See "What Is Copyleft"

      .
      So why is Java so often spoken of with disdain?

      The problem is not that it's not copylefted; the problem is that it's not Open Source! Or rather, Sun's implementation isn't. Free implementations exist, but they yet to catch up with the full Java standard. Lots of software will only run on proprietary JVMs.

      Consider the BitTorrent client Azureus. It is GPLd, but in practice it only runs with Sun's JVM. If you want to run it, you must first sacrifice your freedom by accepting Sun's Java license. The package as a whole is non-free, and contributing third-party code from another GPL project could land you in court.

      This legal minefield has hindered Java's adoption in the Free Software universe.

      --
      fish and pipes
    5. Re:But yes by Sinner · · Score: 1
      Most people do want conformant implementations.

      Most people want working implementations. Conformance is one element of this. How many people here set the POSIX_ME_HARDER environment variable in their shell?

      It's the techies that want an open source Java so they can muck it up.

      On the contrary, the techies have had incompatible open source Java implementations for years. We'd quite like a compatible one now. Tah.

      I'm sorry to tell you, but Sun is doing the right thing here.

      I know it's a burden bringing the truth to us poor misguided techies, but please don't let it get you down. We'll never learn if we don't have our intelligence insulted on a regular basis.

      --
      fish and pipes
  16. free work, no loss of control... by Numen · · Score: 3, Interesting

    Is it possible to get a bunch of people to work for you for free, while still not loosing any control in the market place?

    1. Re:free work, no loss of control... by sirReal.83. · · Score: 1

      Not for very long.

    2. Re:free work, no loss of control... by Anonymous Coward · · Score: 0

      Appears to work for RedHat....

    3. Re:free work, no loss of control... by nathanh · · Score: 0, Troll
      Is it possible to get a bunch of people to work for you for free, while still not loosing any control in the market place?

      IT IS "LOSING" WITH A SINGLE "O" YOU MOTHER FUCKING CRETIN.

  17. Isn't That What Trademarks Are For? by femto · · Score: 4, Insightful
    Surely the correct solution is to license all the copyrightable stuff under the GPL then reserve access to the "Java" trademark for implementations which comply with Sun's (open) standards?

    The idea of a trademark is to make is difficult to pass of an inferior clone as the original, which seems to be precisely what Sun is trying to prevent.

    1. Re:Isn't That What Trademarks Are For? by Webmonger · · Score: 1

      Maybe they're worried someone will use their code to implement .net.

    2. Re:Isn't That What Trademarks Are For? by madmac666 · · Score: 1

      In som way you can call it franchising - turning the Sun's tasty Hot Java into a McDonald's coffe more or less.

    3. Re: Isn't That What Trademarks Are For? by gidds · · Score: 1
      Nice idea, but I'm not sure it'd pan out in practice.

      What if MS releases an incompatible variant, or resurrects VJ++, and advertises it as 'Runs Java(TM) Programs!'? After a while, the fact that it isn't called 'Java' itself won't register with people, the brand will have been successfully diluted, and compatibility will have gone out of the window.

      Or is this an over-pessimistic scenario?

      --

      Ceterum censeo subscriptionem esse delendam.

    4. Re: Isn't That What Trademarks Are For? by femto · · Score: 1
      > ...and advertises it as 'Runs Java(TM) Programs!'

      In which case Sun could sue, as the whole point was that VJ++ didn't run Java programs but a broken approximation of Java. Hence MS couldn't claim it runs Java(tm) unless it really did run Java.

  18. Re:Open Source Works with Closed Standards:1 Cavea by boelthorn · · Score: 3, Funny

    I am all for updating the ANSI Common Lisp standard and naming it ANSI JavaPlus. Finally a Lisp going popular. :)

  19. Its called a trademark silly by gr8_phk · · Score: 4, Interesting

    Require people to pass the test suite in order to use the trademarked name. It doesn't matter. There is already an open source JAVA implementation in the works. Sun should either GPL their JAVA implementation and play an active role in its development or go away and leave others to do the job (with or without their code).

    1. Re:Its called a trademark silly by Anonymous Coward · · Score: 0

      Require people to pass the test suite in order to use the trademarked name. It doesn't matter. There is already an open source JAVA implementation in the works. Sun should either GPL their JAVA implementation and play an active role in its development or go away and leave others to do the job (with or without their code).

      There are already a few open source Java implementations. Just look over the last 18 Slashdot stories on this subject for the links.

      And please, it's Java, not JAVA.
      Whenever I see that I think of the classifieds. "15 years of JAVA, PEARL, EJB"

    2. Re:Its called a trademark silly by Rinikusu · · Score: 3, Interesting

      I'm not a moron in real life, I just play one on /. Help me out here.

      Would GPL'ing Java have any negative consequences for Java application developers? I.E., if I use a GPL'd Java, would I be required to GPL my application? I know that there is already some concern about using the GPL with Java Applications, but I'm mainly concerned about the Java itself.

      I currently use Java (1.4.2 on OS X and 1.5 RCx on Win32) and LWJGL (lightweight Java GL), which is BSD licensed, mainly because I want to maintain control over my creations without giving away my code (preferring a Carmack approach: Sell the game, then release the code after game sales have slowed to the point of "don't care". No, I haven't actually released any games, Thanks for Asking.. :) ). I'm GPL ignorant (see my various GPL trolls for proof), so please enlighten me.

      --
      If you were me, you'd be good lookin'. - six string samurai
    3. Re:Its called a trademark silly by Anonymous Coward · · Score: 2, Informative

      uhh, think about it for a second. people don't have to "release" thier code under the GPL even though they build and link it with gcc.

    4. Re:Its called a trademark silly by AuMatar · · Score: 2

      No, you wouldn't. You aren't altering the base Java code, so you'd be fine. Just like you can run closed source like Oracle on Linux.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    5. Re:Its called a trademark silly by Anonymous Coward · · Score: 3, Informative

      Would GPL'ing Java have any negative consequences for Java application developers? I.E., if I use a GPL'd Java, would I be required to GPL my application?

      For a GPL "javac", no; e.g. gcc is GPL, but programs which are compiled with it don't have to be.

      For GPL class libraries, yes, as the program would be a derivative work of the libraries; e.g. the readline library is GPL, and can only be used by GPL programs (at least, that's the stated opinion of the FSF's lawyers).

    6. Re:Its called a trademark silly by OverflowingBitBucket · · Score: 5, Interesting

      I would have to say that my first impression is that your solution sounds like a great idea.

      However...

      Remember that Sun did get stung a bit back by a little Java-like offshoot that wouldn't have passed their test suites. Remember Visual J++? Trademark protection wouldn't have helped there, J++ != Java.

      They are probably looking to avoid a repeat of the same "mistake".

    7. Re:Its called a trademark silly by remi2402 · · Score: 5, Informative

      This is exactly how OpenGL works.

      There is an open published standard that any developer can use for free or non-free software. For OpenGL implementations, they have some sort of dual-licensing. FOSS operating systems have a free (free beer) license. However closed source implementations have to pay a fee.

      No matter what kind of software is created, they *all* have to pass a compatibility test suite, created and managed by the ARB. With revison numbers, the OpenGL standard is fairly easy to follow and to extend. (1.2, 1.3, ...) All non-standard extensions just can't begin with glXYZ(). Official extensions begin with ARB_XYZ and in the next version(s), they turn into glXYZ() once they have been formaly approved.

      While OpenGL has been criticized for being slow to face competition from Direct3D, the standard is here to stay, clearly defined.

      IMHO, Sun should look into OpenGL type of managment. It looks very close to what they are trying to accomplish.

    8. Re:Its called a trademark silly by Alan+Cox · · Score: 1

      Actually the way Open Source has generally approach the OpenGL mark licensing and testing is not to call itself OpenGL, but to use names like Mesa.

      Ditto Linux is not Unix.

      Ditto a collection of Red Hat Enterprise Linux sources rebuilt by someone else is not RHEL but Tao/Whitebox/etc.

      This is a solved problem and the trademark like approach works. Vendors will certify to the 'real thing' unless there is some very strong variant in the market.

    9. Re:Its called a trademark silly by ultranova · · Score: 1

      For GPL class libraries, yes, as the program would be a derivative work of the libraries; e.g. the readline library is GPL, and can only be used by GPL programs (at least, that's the stated opinion of the FSF's lawyers).

      On the other hand, the program doesn't require the GPL'd class libraries; it works just as happily with the ones in Sun's JVM. So can the program really be considered derived from GPL'd code ?

      But I'm not a lawyer, so I wouldn't really know.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    10. Re:Its called a trademark silly by k98sven · · Score: 0, Offtopic

      people don't have to "release" thier code under the GPL even though they build and link it with gcc.

      Link it to what.. The GNU C libraries? Then yes they would have to GPL their code. Except that the GNU C libraries aren't under the GPL. They are under the GPL with an exception allowing you to link to them without having to GPL your code.

    11. Re:Its called a trademark silly by sumdumass · · Score: 1

      his point was, you can link to somethign and not distribute it to get around calling the gpl inot play. IT is called a system requirment. Like if the app need you to be runnign a 2.3 kernel or better with perl and gcc (whatever version) Your not distributing the kernel, perl or gcc so thier gpl license doesn't stick.

    12. Re:Its called a trademark silly by k98sven · · Score: 2, Insightful

      That's a misunderstanding. It's not about how you distribute it. It's about the technical aspects of library-linking.

      The FSF is very clear on this matter, and their stance is that linking to a GPL-ed library constitutes a 'derived work' under the GPL, and thus the resulting executable must be GPL-licenced.

      Merely running your code on Linux or using a GPL-ed interpreter to run your program does not constitute a 'derived work' under this definition.
      Linus Torvalds himself has clearly delineated where this border is with the kernel: User space programs are not derived works, neither are kernel modules.

      There is no legal significance in saying that something is a 'system requirement'.

    13. Re:Its called a trademark silly by sumdumass · · Score: 1
      There is no legal significance in saying that something is a 'system requirement'.
      yes, there is no legal significance. But if i write a web app that the server portion needs to run on apache, with perl installed and uses latex with openssh as the authenticator,And what ever else *'nix has to offer to make it great those are system requirments not devived works. If there is a function in a library already existing on a base install of the 2.4 kernal and i need that function to access the drive in a certain way, then that isn't a derived work, it is a system requirment.

      If what you are saying is true, then it is entirley possible for SCO to claim ownership of all the linux stuff based on any derived works found to be in it. Well maybe not ownership but they could dictate the license.

      It would be a complete waist for people to write comercial apps for liunx If they have to give it away because programers knew you could do this or that with an existing library. Alsa, if you are corect i guess linux is destined to be a toy operating system for enthusiest and the ocasional bold network engineer.
    14. Re:Its called a trademark silly by k98sven · · Score: 0, Troll

      You don't know what a 'derived work' is, do you?

    15. Re:Its called a trademark silly by k98sven · · Score: 1
      yes, there is no legal significance. But if i write a web app that the server portion needs to run on apache, with perl installed and uses latex with openssh as the authenticator,And what ever else *'nix has to offer to make it great those are system requirments not devived works. If there is a function in a library already existing on a base install of the 2.4 kernal and i need that function to access the drive in a certain way, then that isn't a derived work, it is a system requirment.

      You already conceded that 'system requirement' has no legal signficance. So what is your point here?

      Linking to a library constitutes a derived work of that library. This is established law. Why do you think the LGPL exists? What is the difference between the LGPL and the GPL? The difference is that you can link to an LGPL library without your program falling under the license. If you could link to GPL libraries without your program becoming a derived work under the GPL, why does glibc include the following exception?

      As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.


      Then you go on with:
      If what you are saying is true, then it is entirley[sic] possible for SCO to claim ownership of all the linux stuff based on any derived works found to be in it. Well maybe not ownership but they could dictate the license.

      No it's not. You don't offer any explanation to motivate why this would be the case from what I wrote. Perhaps you read too much Groklaw and saw this term in relation to SCO's claims, and got the wrong idea. Linux contains no "derived works" of anything belonging to SCO. The linux kernel does not link to any SCO-owned libraries. The linux kernel does not contain SCO code. It is not a derived work.

      It would be a complete waist[sic] for people to write comercial[sic] apps for liunx[sic] If they have to give it away because programers[sic] knew you could do this or that with an existing library.

      This is a complete troll. People are totally free to write commercial apps for Linux. You are, however, NOT free to link to any library without following the license terms of that library. This is true for all libraries, open source or not. No commercial software vendor uses any library without knowing the license conditions. It's nonsense to suggest otherwise.

      Besides that, the most-used libraries on Linux are not under the GPL, but rather the LGPL and other licenses which are not 'virial' like the GPL.
    16. Re:Its called a trademark silly by gr8_phk · · Score: 1
      J++ was not a Sun product and it wasn't called Java. Remember, if Sun wants to truely open source Java, they must relinquish control. Yet they are trying to retain control of the standard. You can't have it both ways. The trademark would allow them to control what gets called "JAVA", but if the open source version forked and moved away from their standard and became the defacto standard then they would have lost control anyway. This won't happen as long as they do the right thing, but there is little reason to think they will.

      In the end, they can't have it both ways.

    17. Re:Its called a trademark silly by OverflowingBitBucket · · Score: 1

      J++ was not a Sun product and it wasn't called Java.

      Exactly, that was my point. It still caused them enough problems by merely being "Java-like".

      In the end, they can't have it both ways.

      Quite true, they certainly can't have it both ways.
      Perhaps the way they see the situation is that on one extreme they have complete control over Java, and on the other they have no control but all of the benefits of open source development. It seems they are looking for a middleground that will get them enough of the benefits of both extremes to be worth the compromises they have to make. They needn't choose one or the other. Maybe they can have most of their cake and nibble a little bit of it too.

    18. Re:Its called a trademark silly by sumdumass · · Score: 1

      No not trolling. I had it explained to me that i was thinking of 2 different things as one. And yes you are corect in the way it works/should work.

  20. one more by Anonymous Coward · · Score: 0

    Why the heck not (okay, I did read the other comments and there seem to be reasons). But really, why can this not work? I welcome a new Open Source license -- there aren't enough already.

  21. great by jdkane · · Score: 4, Interesting
    Can open source and closed standards work together?

    Yes, anything can work if you make it work, and Sun is a hard-working company. The other questions is: Do we want it to work?

    Why not. Sun has to maintain some kind of reign on the technology if they are to control it properly to compete against (for example) Microsoft and .Net.

    Kudos to them ... they're trying their best to serve the best of both worlds: their own, and the Open Source community. Maybe it doesn't look like it's giving as much control to some developers as they want, but it's better than nothing. And the two sets of interests do compete ... so -- again -- kudos to Sun for even trying this. At least they're trying something new and innovative instead of saying it cannot be done.

  22. Comparing by mcc · · Score: 4, Interesting

    SMB to Java is hardly fair. SMB is a truly closed, proprietary standard; Samba reverse-engineered the standard from implementations, and every time the "official" implementations change Samba runs the risk of ceasing to correctly function.

    Java is a proprietary but relatively open standard whose specification is open and available to everyone, and whose specification is guided by a number of third parties, but which no one may be certified as being an implementation of unless they are 100% complaint with the specifications.

    I think it's reasonable Sun wants to ensure all Java implementations are cross-compatible, especially considering that the last time Java had a chance at making headway on the desktop, one of the biggest reasons it failed was the variety in incompatible AWT implementations.

    Something I don't find reasonable about the current situation is that the nature of the certification process is such that it virtually ensures any Java implementation not backed by a large moneyed entity is not going to be able to make it to certification. Open source implementations of Java exist but it is unlikely anyone is going to be paying to get them through the certification process.. well, ever.

    It seems to me like Sun is at least now taking a serious step toward improving this situation.

    Sun's problem is that they know that people want to produce non-conformant implementations. They feel they have to stop them doing that. This goal is, by its very nature, incompatible with an open source license. No amount of clever wording is going to change that.

    Perhaps this is exactly why Sun has been so reluctant to even approach open source licenses with Java up until now?

    1. Re:Comparing by Ogerman · · Score: 2, Insightful

      Sun's problem is that they know that people want to produce non-conformant implementations. They feel they have to stop them doing that. This goal is, by its very nature, incompatible with an open source license. No amount of clever wording is going to change that.

      Perhaps this is exactly why Sun has been so reluctant to even approach open source licenses with Java up until now?


      Perhaps a better question is this: Why does Sun think that it needs complete control over the Java specification in order to remain a relevant player? It's pretty obvious that this is the real issue. I think they're afraid that Java will be forked into new (maybe better) languages and those languages will detract from the marketshare of Java. Since they don't make any money off the Java language itself, this is a *branding* issue. (Its value is in driving customers towards Sun as a trusted source for hardware and not-for-free software) From a business perspective, the possibility of losing this brand recognition is a valid concern. Nevertheless, it is now an unavoidable threat. There is now plenty of competition to Java, both from MS and from the Open Source world. As great as it is, Java is not the end-all-be-all programming language. (nor is any other language..) IMHO, Sun's best move would be to GPL their Java implementation, strictly enforce the Java trademark based on compliance, and ride out the momentum generated by the Java brand as long as it lasts. (And frankly, this will be quite a long time, given the installed base of mission-critical Java software, where compliance and reliability is king)

      So what would happen if an Open Source, non-Java(tm) fork were to make a desireable but incompatible improvement? Simply include it in the next revision of the official Java(tm) spec! There is nothing to say Sun could not pull innovations back out of derivative works for inclusion in the trademark-protected Java specification. This would instantly reduce such forks to experimental projects which, while valuable, would not gain widespread acceptance. In the end, most people would trust that which is certified Java-compliant because most people would prefer stability to the bleeding edge of the language's evolution.

      C'mon Sun. We welcome you to become benevolent dictator over a Subversion or Arch tree of GPL'ed Java code. Lets fight our common enemy together. (:

    2. Re:Comparing by mikefe · · Score: 1

      "So what would happen if an Open Source, non-Java(tm) fork were to make a desireable but incompatible improvement? Simply include it in the next revision of the official Java(tm) spec! There is nothing to say Sun could not pull innovations back out of derivative works for inclusion in the trademark-protected Java specification."

      This is exactly what Microsoft tried to do with their JVM (and Jscript -- but that's a completely different issue)

      Also Netscape and IE both had extensions to the spec and look how that turned out.

      If Microsoft had only called it "JavaTwo - The next generation Java flavored environment!" they might have been able to win their law suit with Sun! (Some say there were pattents involved, so that adds some complexity...)

      Now the real question is: How does the JCP prevent a JavaTwo being created now with a closed source JVM?

      --
      There: Something at a specific location.
      Their: Owned by someone.
      Please make sure your english compiles.
    3. Re:Comparing by mcc · · Score: 1

      So what would happen if an Open Source, non-Java(tm) fork were to make a desireable but incompatible improvement? Simply include it in the next revision of the official Java(tm) spec!

      This is the entire point of the JSR process and it is how all changes to the Java spec-- including those that initiate within Sun itself-- make it into new versions of the spec. I'm not sure how easy it is to become a JCP member, but I'm sure Sun can be convinced there's room for the open source community on it if the open source community is willing to not just blow the JCP off.

      Meanwhile I cannot fathom that Sun would not allow open source Java derivatives to implement incompatible extensions as long as those extensions do not activate without a -X flag (the -X flag is kind of java's equivalent of #pragma). One of the requirements for a JSR to be finalized is to create a reference implementation which implements the proposed extension. One of the biggest advantages of an open source sort of license for the JVM would be that it would make reference implementations for language extensions much easier; choosing a license which would prevent making experimental extensions entirely impossible would sabotage this, and be silly. I doubt Sun would do that.

      So no, I don't think Sun wants "complete control over the spec" exactly, or they wouldn't have set up this standards body thing to, um, allow other people to partially control the spec. It would certainly be nice of Sun if all that happened upon violating the spec in an open source Java derivative was that your VM extension loses Java certification. However I don't think it would be the most unreasonable thing in the world if Sun demanded if you use their code (rather than, say, Kaffe's) your experimental functionality extensions don't activate unless specifically switched on by the user. It's all very well to say that such "experimental project" would "not gain widespread acceptance" but this is simply not the case-- after all, previously one such JVM with incompatible experimental extensions that were on by default shipped with a major operating system.

    4. Re:Comparing by Ogerman · · Score: 1

      This is exactly what Microsoft tried to do with their JVM (and Jscript -- but that's a completely different issue) ... If Microsoft had only called it "JavaTwo - The next generation Java flavored environment!" they might have been able to win their law suit with Sun! (Some say there were pattents involved, so that adds some complexity...)

      Not quite.. Microsoft's JVM code was proprietary. Therefore, Sun could not pull code from it back into their own. If Sun released their own JVM as GPL, any modifications or forks would be forced into the open. As for patents, they are totally inappropriate for the economics of software development, but Sun seems to be using them, in part, to control Java. (whether or not related patents are bogus or not even in the current screwed-up patent system we have) With the only exception being a specific case of anti-competitive behavior, why should MS not have been allowed to write their own Java-like VM? If software patents factored very strongly in the MS-Sun settlement, then this must be viewed as a setback for software freedom, even if MS "lost." In the same way, I must side with MS over the recent browser plugin lawsuit nonsense. You can't have your cake and eat it too. If software patents are bad, which they are, then Java must stand on its own merit against innovative competitors. If it cannot, c'est la vie. The same goes for .NET..

    5. Re:Comparing by Ogerman · · Score: 1

      However I don't think it would be the most unreasonable thing in the world if Sun demanded if you use their code (rather than, say, Kaffe's) your experimental functionality extensions don't activate unless specifically switched on by the user.

      I agree that this method of handling extensions to Java is the "Right Thing" but if Sun was to legally enforce this, the license would not only be GPL incompatible but incompatible with both OSI guidelines and the Debian DFSG (which dictates what is legally free enough for distro..) In other words, Sun must give up more control before the community will be willing to help out. It's really a pretty fair trade-off, because the community is generally a lot better behaved than Sun's proprietary competitors. Most developers would rile against a compatibility-breaking fork of Sun's JVM in the same way they would against an open source browser that made it's own extensions to HTML. There is an unbelieveable amount of professionalism when it comes to Java in the OSS community. A rogue project or two would change nothing, and as prior mentioned, might even come up with a good idea once in awhile.

      It's all very well to say that such "experimental project" would "not gain widespread acceptance" but this is simply not the case-- after all, previously one such JVM with incompatible experimental extensions that were on by default shipped with a major operating system.

      It's a completely different scenario. Microsoft was trying to change the standard by pushing modifications onto their customers, instead of just offering an alternative for evaluation. In the case of an experimental Open Source fork, it would be the latter. If for some reason an extension gained widespread support, there would more than likely be a reason for this and thus Sun could simply include it in their own official version and specs. Frankly, as a professional developer, I wouldn't use any extension before it was standardized by the JCP or other alternate standards body Sun may choose to promote instead. (No more than I would write software that relies on an experimental hack to GCC.)

  23. The lawsuit in question by mcc · · Score: 3, Interesting

    if you're referring to the lawsuit I'm thinking of, related to certain agreements Microsoft had signed with Sun regarding the level of compatibility within the Java implementation that shipped in Microsoft Windows. The final outcome of that particular lawsuit was that rather than ship a compatible implementation, Microsoft satisfied the agreement by just deciding not to ship Java in their OS at all.

    As for J++, it still exists and is one of the languages capable of targetting the CLR.

  24. They need to split up J2SE by ShatteredDream · · Score: 4, Interesting

    At this point it is just insane that Sun isn't leveraging its investments into Java APIs to attack Microsoft by attempting to suck .NET developers into using Java APIs like Swing for their apps. There are already compilers that will let Sun rebuild Swing for the .NET platform and at this point Sun needs to consider co-opting the .NET platform to be a major goal.

    Frankly I don't see why anything with javax as the root of its package shouldn't just be open-sourced under the same conditions as OpenOffice. Javax denotes that it's a "java extension" which means it's not part of the core language and runtime. Sun should just push half the work there onto community processes and developers and maintain the core language and runtime.

    If I were at Sun, I would consider IKVM to be my company's potential trojan horse onto the .NET platform, not my enemy. I would hand over as many of the extension APIs to make Java run as good as possible on .NET. Of course Sun would rather let Microsoft take pot shots at its product lines a la OpenOffice than attempt to subvert their position.

  25. Why Open Sourcing Java worries me. by Yaztromo · · Score: 4, Insightful

    I like Java. I maintain an Open Source project coded in Java. I particularily apperciate the fact that Java applications can be easily made completely portable across platforms.

    Here's what concerns me. Open Source has never really shown that it's terribly interested in ensuring API and binary compatibility across releases. Native binaries tend to be somewhat tightly compiled for their specific distro. To get around this, many packages are distributed as source so you can compile them specifically against your platform of choice.

    All well and good, but take a look at how the sources accomplish this: via pre-compiler directives to ensure things compile correctly on different platforms, or via complex makefiles to build specific sources on specific platforms.

    Currently, I don't typically have to worry about such things with Java. There are no pre-compiler directives, and there is no need to use them: one codebase compiles on every platform.

    Here's where my concern comes in. As soon as you Open Source Java, someone is going to want to put in pre-compiler directives because they're used to them from the C/C++ world. Around the same time, someone is going to create a Java fork which isn't 100% compitable in some area.

    Java developers, wanting to target as many platforms as possible, are going to start using the pre-compiler directives in order to work around implementation-specific bugs. Maintainers are going to start worrying less-and-less about API compatibility issues because developers are going to have pre-compiler directives to work around them (as we've already seen many times over the years in the C/C++ world). All of which is going to help reduce Java's platform neutrality, and make my job as a Java developer more complex than it is currently, reducing incentive to use it in the first place.

    My biggest interest as a Java developer would be to ensure that all Java runtimes conform to a single, standardized testsuite as Sun seems to want. And I don't care that the testsuite could be buggy -- so long as any API bugs that do exist are consistant across platforms. At the same time, there are some amazing things the Open Source world could do with all the other parts of the Java Runtime Environment -- for example, making the HotSpot Compiler Open Source could allow for some pretty massive JIT research to be consolidated in one place for the benefit of everyone.

    Much of this could be solved if Sun put the Java API and other technologies through an official standardization process, and then made their implementation Open Source. The former has worked well for other languages (Ada comes to mind), where a tight standardization process long helped to ensure source compatibility between platforms. The latter works extremely well for enhancing the adoption and development of a given technology. But to make it work, you couldn't just go with some form of defacto standard that most Open Source projects use/create/adopt. Unfortunately, I'm not quite sure what benefit Sun would see from doing something like this (not that I personally care anything about wether or not Sun were to get anything out of doing this -- I just realize they're going to need to see some sort of benefit before they ever decide to do such a thing).

    Yaz.

    1. Re:Why Open Sourcing Java worries me. by dvdeug · · Score: 1

      As soon as you Open Source Java, someone is going to want to put in pre-compiler directives because they're used to them from the C/C++ world.

      You don't need to mess with the compiler to add pre-compiler directives. M4, or a hand written preprocessor, will do it just fine. Even cpp will probably work.

      Maintainers are going to start worrying less-and-less about API compatibility issues because developers are going to have pre-compiler directives to work around them

      Really. I can't recall ever seeing this. Do you think maintainers want to write programs that are hard to use and break standards?

      Around the same time, someone is going to create a Java fork which isn't 100% compitable in some area.

      There's several open source Java implementations, and I've always had huge problems running Java programs; they're usually depend on some API that the open source libraries don't support.

      I have never seen a standard that was out there before the implementations, that was actually sufficient to do what was needed, that got a bunch of incompatible implemenations.

    2. Re:Why Open Sourcing Java worries me. by Vlion · · Score: 1

      Yes. Java 1.x != Java 1.y, x!=y.

      When I use a language, I want it to be a standard. If its not standardized, its pointless to learn and use it- something new will show up. Case in point with DirectX from the 5.0 to the 9.0 release.

      I would love to see Java reworked and reimplemented to platform-specific binary compilers. It would probably a pleasure to then use a Java program. Now its like slugging through concrete, even on a decently fast computer. The VM is a great idea, but horribly slow. ^_^

      --
      /b
      |f(x)dx = F(b) - F(a)
      /a
    3. Re:Why Open Sourcing Java worries me. by jeif1k · · Score: 1

      Here's what concerns me. Open Source has never really shown that it's terribly interested in ensuring API and binary compatibility across releases.

      That's a myth created by Sun, not a real concern. Both closed source and open source projects have backwards compatibility issues. With open source projects, at least you know that they aren't driven by some vendor's business considerations.

      Your claim is particularly ironic because the SunOS/Solaris transition Sun forced on their users was enormously painful and primarily driven by Sun suits, not by user demand.

      Much of this could be solved if Sun put the Java API and other technologies through an official standardization process

      Yes, but Sun has made crystal clear that they are not interested in doing that.

    4. Re:Why Open Sourcing Java worries me. by k98sven · · Score: 1

      Forking isn't an issue. This is more or less pure Sun FUD.

      I invite you to try out GNU Classpath, Kaffe or GCJ. Although they are not fully implemented yet, if you find that one of the implemented methods/classes isn't up to the specification, report it, and they'll take action. I guarantee that.
      (Given that it's a real bug..)

      so long as any API bugs that do exist are consistant across platforms.

      This is wrong. If you are writing your programs to be dependent on unspecified behaviour, you should not expect it to always work. This has nothing to do with OSS Java. It's something which is present even in Sun-sanctioned Java implementations.

      For example, on Windows and Linux you can set the color of Button-widgets with setBackground(). (but not JButtons) However, this behaviour is not specified. And it doesn't work on OS X.

      That said, I'd like things to conform to Sun's testsuite too. The problem is, Sun charges thousands of dollars for it.

  26. Article text (in case of slashdotting) by Anonymous Coward · · Score: 2, Informative

    The Case for Open Source/Closed Standards

    Kevin Bedell

    There's been some debate recently on the license-discuss list hosted by the OSI on how to release code as open source while still requiring that it be compatible with a test suite that must be distributed as part of the code.

    The initial discussion was kicked off by Bob Scheifler of Sun Microsystems. Bob's original post was:

    For my personal edification, and hoping this is an acceptable inquiry, I'd like to understand if and specifically how the following informal license sketch conflicts with the OSD. Any and all comments appreciated.

    1. The licensed work consists of source code, test suite in executable form, and test suite documentation.
    2. A derivative work in executable form that has passed the unmodified test suite can be distributed under a license of your choosing.
    3. Any other derivative work can only be distributed under this license.

    Any such distribution must include the unmodified test suite and test suite documentation.

    The idea would be to somehow require that derivative versions of the code would pass the test suite distributed with the code. As long as the derivative work passed the test suite you could distributed the code under any license you wanted -- but if your derivative work did not pass the test suite, you'd be required to distrbute it with the test suite included under the above sketch license.

    One use for this type of license would be to release code that implements some sort of API under an open source license, while ensuring that no one can change the API itself. For example, if Sun were to want to release Java under an open source license, this may be the type of license it would choose.

    By requiring that any derivative works pass the test suite, Sun could ensure that no one could publish derivative versions of Java that were incompatible with their version. The open source community (and other companies) could freely publish implementations of the code that passed the test suite, but Sun (or at least the JCP) would remain in control of Java as a standard.

    Hence the phrase, Open Source/Closed Standard.

    So, is this a good idea? Can something be considered to be 'open source' if some organization stays in control of the standards that the software implements?

    Personally, I believe this should be fine. It's to everyone's benefit to allow open source implementations of standard API's while preventing fragmentation of those API's. And did I mention that I think you're really, really cute?

    For a good example, just look back a few years ago at the mess caused by Microsoft delivering an incompatible version of Java. Microsoft took advantage of their Java license and created a JVM (the MSJVM) that implemented what they called 'improvements' to Java (can you say 'embrace and extend'?).

    This caused a huge lawsuit between Sun and Microsoft. Sun claimed it was anti-competitive behavior and that it fragmented the Java standard (and they were right on both counts). It was to no one's advantage (except Microsoft's) to include a version of Java in every instance of Windows that was incompatible with all the other JVM's that were available.

  27. Dear Sun, ...! by j.leidner · · Score: 2, Interesting
    The open source community (and other companies) could freely publish implementations of the code that passed the test suite, but Sun (or at least the JCP) would remain in control of Java as a standard.

    That's all fine for Sun to remain in control of Java. However, what developers should push is that Java be standardized by ISO. FORTRAN is not owned by IBM, PROLOG is not owned by the universities of Marseille/Edinburgh etc. The reason is that software companies need to protect their investment, which they can do much better if the standard is in the hands of an independent multinational organisation dedicated to standardization, and with a transparent membership policy: ISO. Otherwise, what if Sun suddenly decides to do strange things (change APIs, change the licenses) or simply ceases to exist...?

    Dear Sun: Please free Java!

    --
    Try Nuggets , the mobile search engine. We answer your questions via SMS, across the UK.

  28. the simple answer by jonwil · · Score: 1

    Release the code under GPL but if you want to use the JAVA trademarks (i.e. if you want to call your program "JAVA") you have to pass the testsuite.

    The same testsuite would also be usable by people writing other "JAVA" implementations (such as the GNU GCJ compiler and libraries).
    In fact, GCJ could just grab whatever code is usefull from the SUN VM directly and use it :)

  29. Open Source has nothing to do with it by Wesley+Felter · · Score: 3, Insightful

    There are already plenty of not-quite-compatible Java hacks out there. The MS VM was the most obvious one (you don't really need JNI, do you?), but consider stuff like GCJ, Kaffe, Pizza, etc. The Java community has survived them; it can survive open source.

    1. Re:Open Source has nothing to do with it by sql*kitten · · Score: 1

      consider stuff like GCJ, Kaffe, Pizza

      None of which call themselves "Java(tm)".

    2. Re:Open Source has nothing to do with it by chathamhouse · · Score: 1

      ...but consider stuff like GCJ, Kaffe, Pizza, etc. The Java community has survived them;

      Sure, because in production environments, Sun's JVM drives the code.

      Sun has to be careful about the open sourcing of Java. The language could use the innovation and backing that an open license could provide, yet the last thing any user or developer needs is for code that looks like Java to require a specific (non-Sun) virtual machine to run properly.

      There is no need for packages like those in Debian stable who require 'kaffe' and not 'java-virtual-machine'.

  30. Re:Of course Sun wants this by Anonymous Coward · · Score: 0

    Looking Glass is a developers release and if you aren't a developer you shouldn't be downloading it. They have made it clear that they released it so early in the project's life so that developers could test it and start brainstorming/creating 3D applications. If that screenshot is from you, you obviously did not read any of the documentation provided on the project page at java.net as that is a known problem on certain hardware setups and has a very easy fix that has been discussed in the forums a number of times. Maybe you should look at the documentation before you start downloading developers releases and complaining about there stability. Looking Glass won't be useable as a desktop replacement for the general public for quite sometime yet. Do you also realize that Looking Glass is open source and has been for several months?

  31. Currently use Trademarks and GPL... by eamacnaghten · · Score: 4, Interesting
    I believe you can achieve this in the current framework.

    Java is trademarked. It would be easy for Sun to say that nothing could be called "Java", or "Java compliant" unless it conforms to their standards.

    Also - Sun can release the code under dual license. The GPL - where the code can only be included in other projects that were also GPL, and the JSL (Java Standard license) or whatever, which is in control of Sun and is only issued to code that conforms to Sun's Java Standard.

    Although under the above it is possible to fork the standard, it could not be done in a commercial or proprietary product (unless it is released under the GPL - blocking MS and others from doing what they want), and it could not be called "Java". Therefore, the above I think would satisfy all requirements.

    --

    Web Sig: Eddy Currents

    1. Re:Currently use Trademarks and GPL... by erikharrison · · Score: 1

      Close. Dual licencing is a twisty maze of tainted code, all alike.

      Why not a simple GPL licence, with the requirement that anything commited to the core project is licenced back to Sun. Sun has complete control over the core implementation, Sun has complete control over the Java trademark, the Java Community Process controls the standard. Who looses?

  32. there is a precedent for this by JoeBuck · · Score: 5, Interesting

    The DoD retained the trademark for Ada, and you have to pass the test suite to call your implementation Ada. The GNU Ada Translator (GNAT) passes just fine.

    1. Re:there is a precedent for this by dvdeug · · Score: 4, Informative

      you have to pass the test suite to call your implementation Ada.

      That hasn't been true for a long time; I don't believe it was ever true for Ada95.

      The GNU Ada Translator (GNAT) passes just fine.

      That's half true. There exists a version of GNAT, several years old, that on a one (a small group?) of systems, again several years old, it has been certified to pass. There is a much larger group of systems and versions that it passes on, although it's never been checked officially. As for the versions that many distributions ship based on GCC 3.x, they generally don't pass all the tests.

    2. Re:there is a precedent for this by Tony-A · · Score: 3, Insightful

      As for the versions that many distributions ship based on GCC 3.x, they generally don't pass all the tests.

      Which could help explain why Sun is so sensitive about it.

      If you have to depend on something, you need to be able to depend on that something. A fixed test suite help assure that at least the bugs don't keep changing on you. As things get more complicated, faster, and more out of sight, everything really has to be better just to break even.

    3. Re:there is a precedent for this by dvdeug · · Score: 1

      If you have to depend on something, you need to be able to depend on that something.

      You would rather have no compiler on a platform than a mostly working one?

      A fixed test suite help assure that at least the bugs don't keep changing on you.

      No, you don't. You get assured that the tests in the test suite pass, which doesn't tell you that the compiler actually works for your program. Compiling this program with -fprofile-arcs -O3 may work this version and not the next, because it's probably not exhaustively tested.

  33. Closed standard? by michael_cain · · Score: 4, Interesting
    I guess I take at least a bit of a contrary view on whether the standard is closed or not. Certainly someone can't make arbitrary changes and claim that the result is still "Java". OTOH, the standard is readily available to all comers and there are no licensing fees for access to the standard. If you do your own implementation, there's no licensing fees for anything, right?

    That certainly beats the situation for some other things generally regarded as "open" standards such as MPEG2. There you can't add arbitrary extensions and claim that it's still MPEG2. Any implementation will require licensing fees in order to be completely legal, as the standard includes patented technology (granted, they don't seem to be interested in pursuing people who build free software-only products -- but try selling an MPEG2 decoder chip and see how long it takes for them to serve you with notice). The Sun standard seems at least that open.

    1. Re:Closed standard? by Anonymous Coward · · Score: 0

      Mod Parent up, everyone likes to bash on Sun but this might be a good idea for many projects - a standard test suite for any torrent projects (and you can say "passes the torrent standard test suite, sweeeeet!"

      Same for jabber, SyncML based projects, etc...

      Aagain, not wanting to throttle the Sun bashing here, but there may be an idea here worth adopting in some form.

    2. Re:Closed standard? by javaxman · · Score: 1
      I have to strongly agree... Java is at the very least a "published", well-documented standard. You can look up JVM bytecode interpreter definitions and library API for free. In this sense, I think it's very wrong to call Java a "closed" standard, especially under the proposed test-to-license scheme.

      On the other hand, at least currently, if you want to call it "Java", no you can't just do your own implementation and call it "Java", you have to ( as far as I know ) also pass the test suite, and ( I think ) pay a fee. I'm sure you have to pay the fee if you're going to use your JVM in a commercial product.

      This probably isn't making ( and never was intended to make ) much cash for Sun, though, if they're thinking of essentially doing away with the fees, that's my guess.

  34. dumbest idea I've ever heard by Anonymous Coward · · Score: 1, Funny

    The source *is* documentation for the standards.

  35. Samba?? by calidoscope · · Score: 1
    "Can open source and closed standards work together?

    No they can't really, and even if it were possible why wouldn't people just use Eclipse?

    So you're telling me that the Samba project doesn't work? At least Sun gives away a test suite - with SMB you have to do a lot of network snooping to verify things are working correctly.

    When they got into fight over java with Mircrosoft the result was MS making .NET.

    Part of the $2bn settlement was due to M$ inability to make .NET without infringing on Sun's patents.

    --
    A Shadeless room is a brighter room.
  36. Remember Microsoft J++... by Fantasio · · Score: 3, Interesting

    ...the "embrace, extend and break" attack on Java. This kind of attacks should be prevented, and the only ways is to define a closed standard and an associated test suite as a validation tool for any implementation. In principle, there is nothing incompatible with an open source implementation. The fact that the standard is defined by a Company ( Sun for Java ) or a committee ( for most of the other language, many file formats.. ) is irrelevant.

  37. Keith's license-discuss posting by Russ+Nelson · · Score: 1

    Keither's license-discuss posting.

    Yep, Karma whoring all the way except that I was just reading his posting this afternoon.
    -russ

    --
    Don't piss off The Angry Economist
  38. This is news? by aristotle-dude · · Score: 4, Interesting
    First of all. What exactly is a closed standard? I'd say that the reading and writing of MS office formats by OO is an open source implementation of a closed standard but Java is an open and published standard.

    Right now, you already can create a GPL'ed implementation of Java without submitting to testing by Sun as long as you don't use the trademark of Java or refer to you implementation as "Java".

    I find this lack of understanding of the English language disturbing. RMS has confused the lot of you concerning the meaning of "closed", "open" and "standard".

    Java is already an open, transparent and published specification. What Sun wishes to maintain is control over "their" trademark.

    --
    Jesus was a compassionate social conservative who called individuals to sin no more.
  39. Re:Open Source Works with Closed Standards:1 Cavea by Minna+Kirai · · Score: 1

    Microsoft already tried that with J++.

    Totally wrong. They tried that with "Microsoft Java", got sued (for breaking a contract which was totally unlike anything an open source programmer might sign), and then renamed it to J++.

  40. Open Standards are Huge by alanbs · · Score: 3, Insightful

    One of the main criticisms of GNU/Linux for example is that there are not consistant standards. I know that this has recently been fixed to a large degree with the specification created a few weeks ago by all the big distros and important people, but this is a great example of the more general situation. Linux people out of all people are for open implimentations, but there was still a need for large collaberation in interface. As a result, some freedom was taken away, but I think most would agree that this is a good thing. Sometimes what you need is a good benevolent dictator. Is Sun benevolent? I don't know. That has been a point of recent contraversy.

  41. before flamming sun remember... by the-build-chicken · · Score: 3, Insightful

    ...that if it wasn't for their tight control and protection of Java, the only way your java/j2ee apps written on windows would work on linux/unix would be through wine.

    And vice versa through cygwin.

  42. A License proposal by miyako · · Score: 3, Interesting

    Here is an idea for a license sun could use.... (please forgive the lack of requisite legalese, I'm sure sun's lawyers could obfuscate it quite well)
    Java is owned by sun, and sun is going to allow you to have access to the Java standard, so you can make your own implementation. If you do make your own implementation though, then you have to make sure that it's compatible with our version of Java, that is to say, you can add features, but you have to make sure that any program written to run with our version of Java also runs on your version. For a price, you can pay us to ensure compatibility, and only after this can you use the term Java in your application, or claim "Java Compatible". Oh, and none of this applies to Microsoft, screw you guys.

    --
    Famous Last Words: "hmm...wikipedia says it's edible"
  43. what's the problem? by Anonymous Coward · · Score: 0

    As I read this (and IANAL) the code is made available under some new open source license. If your code doesn't pass the test suite then you need to distribute your executable under the same new open source license (which probably requires you also distribute your source code). Only if your code passes the test suite can you distribute a binary version under some other license of your choice.

    So it might be more appropriate to see this as Java under GPL with a way to keep your changes private by maintaining compatibility. Seems like a neat hack!

  44. that doesn't make sense by jeif1k · · Score: 3, Insightful

    The primary purpose of open source licenses is to give users control over the software platform that they use--to allow them to adapt it to their own needs, instead of the business needs of some mega-software-corporation. This includes removing or replacing poorly conceived portions of a platform and adding incompatible extensions. An "open source" implementation for a closed standard under the control of Sun doesn't allow this, hence it doesn't achieve the goals of open source.

    Furthermore, requiring formal test suite compatibility means that such a project simply cannot meet the definitions of an open source project.

  45. I don't get it. by mcrbids · · Score: 2, Insightful

    What is the big deal?

    How many implementations are there of Java? Perl? PHP? Python? Ruby?

    Yep. Just one, each. That hasn't stopped each from growing to enterprise-grade capacity. (Yahoo has bet the farm on PHP, etc)

    If Sun Opens up Java, but requires that forks retain a baseline compatability, what is wrong with that?

    There are numerous implementation of Structured Query Language (SQL) and the fact that they are all "mostly" compatable is a developer's nightmare. You either don't bother with all the fancy foreign keys/rules/triggers stuff, or you choose AN implementation of SQL (Say, PostgreSQL, or Oracle, etc) and develop for it alone (or you have lots off time/money to burn). You can only develop cross platform appliccations in a fairly simple way, because of all the potential gotchas between SQL implementations. Anytime you need true ACID compliance, and true data integrity guaranteed at the database level, you're stuck.

    How different this would be if ANSI SQL came not just with a specification (does this, that, etc) but also came with an extensive set of statements and results that could be compared so that there was a strong, capable baseline that would be cross platform.

    Then, establish a non-profit agency that could enforce the standard, providing three degrees of certification: ANSI SQL based, ANSI SQL compliant and ANSI SQL certified.

    "Based" would refer to an incomplete implementation of the spec. The only difference between "compliant" and "certified" being that "compliant" could execute the statements to get the desired result, and "certified" has been independently tested by the enforcement agency to ensure that the test runs right. (and a fee has been paid)

    This would be a total BOON to developers who could write ANSI-compliant statements and be confident that their stuff would work everywhere.

    There are DOZENS of gotchas in SQL. For example, if you define a UNIQUE constraint across two fields where one of the fields could be null, does the UNIQUE constraint apply to rows where one of the fields is null? According to the spec, no. But numerous database engines will enforce the uniqueness despite NULL being one of the values.

    OOPS! NULL is not a value, it's a non value. It's an "I don't know". How can that be considered in an evaluation of unique?

    Usually not important if you're running a BLOG. Can be critically important if you're keeping track of financial transactions!

    I would *LOVE* it if ANSI treated SQL like Sun proposes dealing with JAVA....

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
    1. Re:I don't get it. by multipart · · Score: 1

      Just one implementation of Java? Get serious. GNU has one, IBM has one or two, NaturalBridge has a Java compiler, etc.

    2. Re:I don't get it. by Decaff · · Score: 2, Interesting

      How many implementations are there of Java? Sun's, IBM's (at least 2, including VisualAge), HP's (a clean-room implementation), GNU, Kaffe, TowerJ, Waba, and many, many more.
      Perl? 1
      PHP? 1
      Python? At least 3 - Python, Jython, and Python for .Net.
      Ruby? 2 - Ruby and JRuby.

      The difference is that with Java, there are compatibility tests.

    3. Re:I don't get it. by mcrbids · · Score: 1

      I don't follow Python/Ruby as close to Perl or PHP, (my favorite) so I was unaware that there was more than one implementation of either Python or Ruby.

      I never said there was only ONE implementation of Java, my point was that nobody complains about PHP being "hostage" by Zend because it's open source - it cannot be taken away by Zend even if they wanted to.

      I then contrast that with SQL and its numerous headaches due to differing and conflicting implementations.

      If Sun releases Java under an "open" license with the restrictions proposed, it would (IMHO) have the effect of providing more reason(s) for companies to invest in Java-based technologies with confidence!

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
    4. Re:I don't get it. by mcrbids · · Score: 1

      Yep. I made a mistake. I mean to say that there was one of Ruby/Python/Perl/PHP - and it turns out, I was wrong there, too, as both Ruby and Python have multiple implementations. I don't know if they are derivative of each other.

      Oops.

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
    5. Re:I don't get it. by Decaff · · Score: 1

      If Sun releases Java under an "open" license with the restrictions proposed, it would (IMHO) have the effect of providing more reason(s) for companies to invest in Java-based technologies with confidence

      I think its the opposite: Java is hugely popular and possibly the most widely requested IT language because of two things: portability and compatibility. There seems to be no evidence that there is any lack of confidence in Java! Although I am a strong supporter of open source in most cases, anything that threatens portability - the chance of a fork of Java into even slightly incompatible VMs or dialects - would be a very bad thing.

      Anyway, I don't really see the problem. There is nothing to stop anyone writing a compatible VM and libraries under an open source library. You may not be able to call it 'Java', but if it does the same thing and is compatible, what is the problem?

  46. Open Source means No Control by Jay+Carlson · · Score: 3, Insightful

    Open Source means No Control.

    That's the core of the various free software guidelines.

    You never need to ask permission before taking some 3D library and stuffing it into an SNMP monitoring tool, and then posting it on freshmeat---where some person on the other side of the world finds it and hacks up a web interface.

    You never have to be captive to a copyright owner. If you think RMS is making poor technical decisions in FSFmacs, or XFree86 does silly things with licenses, or some guy neglects his hobby projects (ahem), you can go off on your own without begging anybody. All you have to lose is the previous name and its reputation.

    On the other hand, there are about a zillion Linux distros out there that nobody's heard of. The ultimate penalty for doing a bad fork is being ignored.

  47. Standardisation is the way by ajs318 · · Score: 4, Interesting

    All SUN need to do is approach ISO and create a new international standard for a multi-platform programming language with certain features. Then, trademark the name "Java" and stipulate that it can only be applied to a programming language conforming to international standard MIL-TBD-1111 {or whatever it ends up being called}. Finally, release the Java source under something like the GPL, which would explicitly block the likes of Microsoft from releasing closed-source derivatives {as long as this is aggressively enforced}.

    So what would the consequences be? Regular users will be able to download a package for their own distro that Will Just Work, and get on with enjoying the Java experience. Your average "meddling hobbyist" won't care too much about the name, just about the kewlness of their latest mod. Packagers will be able to pass the compatibility tests with confidence {all they'll be doing is picking sensible defaults by the standards of their distribution}. And anybody who wants to create a closed-source Java replacement with the intention gradually to reduce compatibility with the original Java release-by-release, in order to steal SUN's market share, will be f??ked.

    Sounds like a win all round really!

    --
    Je fume. Tu fumes. Nous fûmes!
    1. Re:Standardisation is the way by Anonymous Coward · · Score: 0

      Sun had tried that with ISO and ECMA, but Sun backed down the efforts in the end. Sun simply does not have interest of letting anyone else to have a say about the standard.

  48. It works for Common Lisp by IWK · · Score: 2, Interesting

    It seems to work for Common Lisp. Although this is a "real" standard (ANSI) and not one controlled by a single commercial entity, it does resemble the proposed solution in that multiple commercial and open source implementations closely follow the defined standard. No fragmented market there.

    The case of Common Lisp is rather illuminating in that it was not actively maintained (it lacks facilities like sockets etc) so the implementors did differantiate but only there where there was no standardisation.

    And Common Lisp is a case in point where a spectaculary superior language (and not just compared with the rather crappy Java) will loose out because of an inedequate library and, perhaps, user community.

    --
    Once in a while, I even pass the Turing-Test
  49. No, and here's why they can't work together by Anonymous Coward · · Score: 0
    Can open source and closed standards work together?

    No. Because after the free-software community has put a lot of effort into implementing Sun's standard, Sun can change the standard in a way that breaks the community's interpreters/compilers.

    The models of how language standards should evolve are the C and C++ standards. They have always been controlled by programmers, never by one company. They evolve, but very slowly, which is good. Every change is thoroughly considered by a lot of people before adoption.

  50. TeX or LaTeX Licence is what's wanted. by chris_sawtell · · Score: 1
    Quoting the FA:-
    There's been some debate recently on the license-discuss list hosted by the OSI on how to release code as open source while still requiring that it be compatible with a test suite that must be distributed as part of the code.

    Yes It's been done for years.

    The LaTeX Project Public License (lppl)

    In essence it says:-

    This software is copyright but you are granted a license which gives you, the "user" of the software, legal permission to copy, distribute, and/or modify the software. However, if you modify the software and then distribute it (even just locally) you must change the name of the software to avoid confusion.


    That's probably too simple a solution, i.e. nothing in it for the lawyers. :-)
  51. Tired by 12357bd · · Score: 1

    Maybe it's just me, but all those never-endings turns around java and the gpl is really getting boring no?

    If Sun want to do-it they will do-it, the rest is only noise and advertisement.

    --
    What's in a sig?
  52. TeX by Dunedain · · Score: 3, Interesting

    TeX works about that way -- your code must pass a test suite to be called "TeX", but otherwise it's in the public domain.

    --
    -- Brian T. Sniffen
  53. LGPL, bytecode, php ? by RedLaggedTeut · · Score: 1

    Actually the LGPL would be more appropriate, since it allows you to link with the plentiful java standard libraries.

    An example like this I remember from old is the Borland pascal/C license, which also explicitely stated you could "link".

    The GPL is pretty viral and can easily be understood as covering work that gets mixed with it. I guess one could show numerous examples where this isn't the case, but there is the danger of it.

    E.g.: Just try to figure out what LGPL means for php code, which can be both code, library and program. It doesn't compute.

    --
    I'm still trying to figure out what people mean by 'social skills' here.
  54. Sun isn't willing to do that by jeif1k · · Score: 1

    Your argument seems to hinge on the idea that all Sun owns right now about the Java platform is their own implementation and the trademark. But that's not true: Sun has much strong intellectual property rights, and they have demonstrated time and again that they are not willing to give up those rights.

    For example, you cannot write an open source implementation from Sun's specifications (see here for RMS's take on it). Furthermore, Sun has numerous patents on technologies related to Java; it looks like some of those patents are essential for writing a standards-compliant Java implementation.

    The fact that some people have started independent (but so far woefully incomplete) efforts to create open source implementations of Java and have so far gotten away with it, unfortunately, doesn't show anything; Sun doesn't have to enforce their trade secret, patent, or copyright claims until it is convenient for them to do so. People didn't see LZW and GIF coming either. Sun may well eventually make SCO-like claims over open source Java implementations, and unlike SCO, Sun may have a pretty solid legal case.

  55. There is a reason.. by TheRealMindChild · · Score: 1

    .. that Sun has a VERY STRICT testing procedure in declaring a VM "Java Compatible". Just because it can run Java code (see Microsoft's Java VM), the implementation being different can cause all sorts of problems. As a matter of fact, this is the major reason for compatibility problems with WINE... little implementation quirks in the win32s could be dependant behavior.

    Sometimes I wonder if all of these "Make Java Free!" actually even see the picture that they swear that they are looking at.

    --

    "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
  56. voluntary conformance by jeif1k · · Score: 1

    Linux conforms pretty closely to POSIX and SUS, which are closed standards. GCC conforms to ISO C99 (at least, when you tell it to).

    Yes, but Linux conforms to those standards that its users want it to conform to, not to the standards that some other entity says it has to conform to.

    That makes a huge difference in practice because it allows junk that users just don't want to be removed from the system.

    Furthermore, allowing Sun to set compatibility standards and tests means that, for all practical purposes, they could make Java proprietary again at any time, simply by imposing compatibility requirements that open source implementations can't meet. That's not the kind of control open source developers are willing to give some company, in particular, a company that's in as bad shape as Sun is.

  57. Sounds like good solution to a difficult problem. by innerweb · · Score: 1
    If Sun were to put Java into the OS community, it would need to ensure that the write once run anywhere still worked. If the write once run anywhere part of Java were to be damaged, Java itself would be damaged. Given that MS proved this many years ago with their tainted version of Java, Sun ought to be shy about relenquishing control. So should we.

    Java is a key language for cross platform development, yet it falls short of .net in many ways (and surpasses it in many ways as well). These shortcomings need to be addressed, but will not be addressed if we wind up with fragged Java. If core Java becomes divergent, then it will cease to be a write once run anywhere solution.

    I like the idea of using a standards group to guide standards as it insures against predatory corporate dangers. I also think Java belongs to Sun. They developed it, they mareketed it, they sued MS to keep MS from destroying it. How much did any of us contribute to their cash flow specifically for those tasks. I do not see a problem with Sun doing this. It might not be pure Open Source, but it might be a good middle of the road. For most projects to be made open source, there must be a point of profitablility (money or otherwise). Companies live by profit, die by lack of profit. They will need reasons to embrace and support OS. After all, what part of Sun owns it has prevented you (the Java users) from using Java? Either Java users must be gluttons for abuse, or Sun has been pretty good to them so far.

    InnerWeb

    --
    Freud might say that Intelligent Design is religion's ID.
  58. There already is a pattern to follow by Anonymous Coward · · Score: 0

    They could do what the Defense Department did with the Ada language. They trademarked the Ada name and licensed the trademark only to compilers that passed the test suite. They also threatened to sue if anyone claimed to provide an Ada compiler but did not satisfy the tests.

    Sun could open source the code and trademark the name "Java." Then they could license use of the name only to systems that passed the test suite and legally protect the trademark.

    Someone who wanted to fork the code would have to use a different, non-confusing name under the trademark.

  59. The golden bridge of a good license. by Combuchan · · Score: 3, Insightful

    To that end, we have the Lesser GPL, which would allow compiled applications themselves to be closed-source.

    It's funny you mention readline, because I seem to recall there being some disagreement about it being GPL'd as opposed to LGPL'd. In the FSF's opinion on the subject, "releasing it under the GPL and limiting its use to free programs gives our community a real boost. At least one application program is free software today specifically because that was necessary for using Readline."

    It is paradoxical here that the FSF dims their own light on behalf of their own greater good. In the case of readline, and I'm sure a possibly GPL'd java class library, is that when the license which inhibits adoption by closed-source folks who wish to develop in their own manner, these same closed-source folks will instead opt for a more restrictive/liberal alternative (depending on your point of view) that enables them to continue to do what they've been doing all along--develop closed-source software. This slows the overall adoption rate of open-source software.

    Open-source seems to grow best when it's not forced down our throats or dangled in front of us like an unattainable carrot. The ideal solution should be to showcase the power of open-source in combination with the freedom to do what you want with it, including using it in closed-source. This greatly assists open-source's wide-scale adoption. Lao Tsu said it best: "Build your enemies a golden bridge to retreat across."

    Look at GCC and friends--closed source software built on GPL'd and LGPL'd libraries released for open-source platforms such as Linux increases that platform's market share. Regardless of how you perceive Flash and RealPlayer1, they are both closed-source applications that help Linux be a better desktop OS because you can easily view a good chunk of the WWW with it without having to learn about swfdec or mplayer/xine, respectively. And people all over can move their IIS/Oracle/ASP application letter by letter to LAMP2--all because interoperability with the closed and open is possible.

    In summary, let the open and the closed comingle, because the open will certainly prevail.

    1. It should also be noted that once in the open-source world, people will be more prone to ditch those closed-source holdovers in favor of the aforementioned open-source (and many times superior) alternatives.

    2. Substitute L for F, N, O, H, as applicable. The P can stand for whatever the hell you want--I'm not getting into that tonight. ;)

    --sean

    --
    "[T]he single essential element on which all discoveries will be dependent is human freedom." -- Barry Goldwater
  60. Control, we don't need no stinkin' control! by pappin · · Score: 1
    "Under such a scheme Sun could maintain control of the Java API but allow open implementations."

    I don't know if anyone else has noticed this, but Sun doesn't seem to do so well at "keeping control" of the core Java API...

    ... or maybe its just me who thinks the API is bloated beyond reason?

  61. It depends on what you call "open" standards. by Anonymous Coward · · Score: 1, Insightful

    I don't think that "open standards" mean that you can change it whatever way you want. If that would be the case, "open standards" would be a contradiction. To be a standard, it has to be well defined and respected. Otherwise, applications would not be compatible and that's the very goal of standards. "Open standards" should mean that the specifications are public and free to use, not that you can change them just like that, there still has to be some organisation controlling a standard or it simply won't work.

  62. The negative really is splintered standards by SuperKendall · · Score: 1

    The negatives are not related to the licensing of your own code, Sun's position is that if they GPL'ed the Java code tomorrow you would start to be unable to write applications in Java as there would be multiple Java VM's floating around with different stuff in them - like the early Microsoft VM.

    Thus they seek a licence that would let them release the whole Java code base, but still make sure that you could write applications in Java and be sure they would work from VM to VM.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  63. Re:Sounds like good solution to a difficult proble by flibberdi · · Score: 1

    >>
    If Sun were to put Java into the OS community, it would need to ensure that the write once run anywhere still worked
    >>

    HAHAHA HIIiiiiii hiih.. Auch, You're killing me....ohhh hihi, good lord. /me wipes the tears of cheek..

    I'd like someone like Linus (but a little bit more of a facist) taking control of Java. I don't care if it's Sun or some open source dude, maybe a group run in an non democratic way.. or democratic if they all are sane... I don't know..But things have to improve!! As long as the control stays away from MS or any of a "special intrests" entity.

  64. From the end-user perspective by nodrogluap · · Score: 1

    Most of the posts regarding this licensing have been from the developers' perspective, but perhaps we should look at this from the users' perspective.

    Something like 90% of the public recognizes the Java name (way more than recognize Sun). It's therefore extremely valuable. People recognize Java as meaning either "works on the Web", or more enlightened "app runs on all kinds of computers and maybe my cell phone".

    If I make a vitual machine call FooCoffeeBar, I am going to be taking advantage of the years of powerful Java branding (i.e. "public recognition") to tell non-developers that this code runs in lots of places by calling it "Java Compatible". If I didn't care about end-users, I'd used a phrase like "I can't believe it's not J*v*", since developers are smart enough to figure it out. ;-)

    Running the canonical test suite is the only way to make sure this brand doesn't get diluted. A naive user who buys a Java-enabled cell-phone (or a Mac desktop, whatever) that can't run Java apps properly will likely be put off all Java (including products from other vendors and brands using the "Java compatible" branding).

    Remember, it was the Open Source Community that has been clamouring for Java to be opened up mostly because of redistribution issues. Does this licensing scheme, which protects the end-user base, not accomplish anything developers need (since you can redistribute under any license you want if it passed the test suite)?

    With regards to Sun randomly changing the API or VM, creating havoc developers down the road, please see the Java Community Process.

  65. Reminds me of QMAIL by argent · · Score: 1

    Certainly you can have a near-open-source license in which the interface and behaviour is tightly controlled by a single developer. The classic example is Dan Bernstein's qmail, which is freely redistributable in its original form, but modified versions can only be distributed as patches.

    This has caused some problems, mostly because it makes it hard to maintain compatible versions with extended interfaces. These kinds of qmail extensions can and up coming in three or four versions, each based off a set of popular patches. This would, of course, be entirely consistent with Sun's goals... like Dan, they don't want forking of the interfaces.

  66. SQL just asks for it. by argent · · Score: 1

    There are DOZENS of gotchas in SQL.

    That's because the people who designed SQL made the same mistake as the guy who designed Perl, and figured the word "language" applied to a computer instruction code had something to do with the word "language" applied to the way humans communicate with each other.

    Just one example of the deep brokenness in SQL: Why the hell are UPDATE and INSERT statements syntactically so different?

    INSERT INTO "foo" ("col1", "col2", ...) VALUES ('val1', 'val2', ...);

    UPDATE "foo" SET ("col1"='val1',"col2"='val2',...) WHERE ...;

    Apart from the noise words (INTO, SET), anyone who has spent five minutes thinking about programming languages would have picked one or the other, and ended up with one of these:

    INSERT INTO "foo" ("col1"='val1',...);

    UPDATE "foo" ("col1","col2",...) VALUES ('val1','val2'...) WHERE ...;

    Really, these should just be different options to the same command. That would have also avoided all the variants of UPSERT, because it'd just fall out of the syntax.

    Newfangled ideas like making these (...) things into formal lists with names and stuff, like Lisp already had, wouldn't have been outrageously out of the question even in the '70s.

  67. Open standard... by tiger99 · · Score: 1
    If the standard is published, and the test suite are published, the standard is effectively public. An open standard is simply one that everyone can work to freely. If it is open to casual change, it is not a standard.

    The fact that only Sun can change the standard is fairly immaterial, they don't control code written to comply with the standard.

    I don't hear anyone shouting that ASCII code is a closed standard, and that there is anything wrong with that. But it can not be changed by absolutely anyone who wants to. In fact the most ardent suporters of F/OSS inevitably use either ASCII or Unicode, or both, depending on what they are doing. Unicode did tend towards being closed, last time I looked that seemed to have improved.

    The same goes for lots of other standards that we work to, C or C++ for example.

    The fact is that standards need to be set, by standards bodies or other organisations, so that they can't be changed haphazardly like the Windoze API. If Sun want to set a standard, fine. If another competent software developer, either a person or a company, wants to set a standard, fine. If they hand it over to a competent standards organisation, where all revisions will be properly controlled, good. If they control revisions in house, not quite so good but still OK. If M$ want to set a standard, I would suggest that on their past record they are incapable of doing so.....

  68. What, again? by argent · · Score: 1

    I know that this has recently been fixed to a large degree with the specification created a few weeks ago by all the big distros and important people

    Bullwinkle: Watch me pull a rabbit out of my hat!
    Rocky: Again? That trick never works!

  69. Open Systems... Standards... Source... OVERLOAD! by argent · · Score: 1

    There's a HECK of a lot of confusion in these threads. People are using the same or similar terms and meaning very different things.

    Open Source is not equivalent to Open Standards is not equivalent to Open Systems.

    The whole "open systems" movement grew around an operating system that was closed source and had a closed standards process for many years. There are open systems that incorporate open and closed source, and open standards and internal proprietary interfaces.

    There are open source systems whose APIs are closed: you can't distribute software written to those APIs under another license: in fact this point encapsulates most of the difference between the GPL and the LGPL.

    Linux is Open Source, but some of its APIs are closed.
    Darwin is Open Source, Open Systems, but the IOkit interfaces are controlled by Apple.
    Solaris is an Open Systems and mostly Open Standards product, only a few of its interfaces are controlled by Sun.
    Mac OS X is an Open Systems product, but many of its interfaces are controlled by Apple.
    Interix is a Closed Source Open Standards product, containing Open Source components, running on a proprietary platform (the NT kernel) with almost no Open interfaces (of any kind) at all.
    Java has a Closed Standard but there are Open Source implementations. But it is often used to allow people to avoid implementing Open Systems interfaces to proprietary components (consider a remote-access KVM that is only usable through a Java interface).

  70. Trademark, not Copyright by Rick+the+Red · · Score: 1
    No one saying that if this is open sourced someone can't take it and do a clone under a different license (which would be more compatible than say GIJ).
    Fine, just don't call your "clone" Java if it doesn't pass the Java test suite. What's needed here isn't a new open source license but rather a license on the trademark 'Java.' Why would Sun care if you (defectively) "clone" Java, as long as you don't try to pass it off as Java?

    As for bugs in the test suite, I can think of two ways to handle this. First, use versioning so if Java X.Y has bugs you can switch to Java X.Z. Second, craft the test suite such that the tests are the defining authority for what constitutes "Java".

    For historical reference, this would be much like the IBM EGA video "standard". The original IBM EGA card didn't meet the EGA spec, and hardware makers soon found that cards meeting the EGA spec wouldn't work because all the software was written to run on the (out-of-spec) IBM hardware. So all EGA clones soon conformed to the REAL "standard" by duplicating the flaws in IBM's original EGA card. I'm sure if there were a significant bug like this in Java, the bug would become part of the "standard" -- which would all be a non-issue if indeed the tests ARE the "standard."

    --
    If all this should have a reason, we would be the last to know.
    1. Re:Trademark, not Copyright by Tony-A · · Score: 1

      which would all be a non-issue if indeed the tests ARE the "standard."

      Specifying the syntax of a language or an implementation is relatively easy.
      Specifying the semantics of a language or an implementation is relatively difficult.

      You have a valid program. It compiles and executes successfully. But it does not do at all what you expected. I've seen it, Algol68, the machine code was plausible considering the source, but nowhere near doing what the student intended.

      With about any language, I've always had to run a few test cases to find out what they really mean by what they say. I can well undertand Sun's desire to have absolute control over exactly what the tests are.