LWN.net Logo

"System call semantics?"

"System call semantics?"

Posted May 17, 2006 17:55 UTC (Wed) by cventers (subscriber, #31465)
Parent article: Java becomes more distributable

> It is unlikely - but not inconceivable - that such a term could be used
> to pressure a distributor to change Linux system call semantics which
> could be deemed to cause incompatibilities.

I'm curious what is meant to be implied (if anything) by this remark. Has
Sun engaged in such behavior before? Is there any real worry that they
might?

Furthermore, what would Sun (the theoretical big evil Sun that would do
such a thing) stand to gain? Just to be sure we're on the same page,
we're talking about the kernel to userspace ABI here, right?

I think in a practical sense, unless I'm misreading this remark, Linux
distributors would choose to keep the Linux ABI (and toss Java) as
opposed to keeping their half-assed Java distribution rights and
breaking, well, everything.


(Log in to post comments)

"System call semantics?"

Posted May 17, 2006 17:58 UTC (Wed) by corbet (editor, #1) [Link]

As noted in the article, it's an unlikely scenario. But if, say, Sun were to decide to pick on the relative thread-safety of the write() system call, there could be an issue here. When looking at licenses and contracts, it is good to keep an eye on what the language allows.

"System call semantics?"

Posted May 17, 2006 19:05 UTC (Wed) by cventers (subscriber, #31465) [Link]

Well, I guess my curiosity is basically this - what would be the value of
Sun "picking on" a Linux vendor because of supposed incompatibilities? At
least how I see today's distributions operating, I think most of them
would (politically) tell Sun off. There are legions of Linux users like
myself that don't particularly care for Java. (Besides, as we all know,
there are some reasonably good open implementations that are hard at
work. The fact that we've had to do that tells me that Java is not a
language I'd ever choose [on a political or ideological level]...)

So perhaps the worry is that we'll all start shipping Sun Java, drop our
open implementations, become dependant and then Sun will have us by the
balls? (Of course, as you say, it's an unlikely scenario... but who knows
what a dying company might do if their entire operating system division
went South, leaving them with nothing but an enterprise language powering
far too much of the Internet...)

"System call semantics?"

Posted May 18, 2006 7:24 UTC (Thu) by pimlott (subscriber, #1535) [Link]

what would be the value of Sun "picking on" a Linux vendor because of supposed incompatibilities?
I suspect a more realistic scenario is: Java's threading is implemented using POSIX pthreads, but Linux threads aren't quite POSIX. This was in fact the case until recently, the cause of much griping by thread programmers (pour souls) and contention among Linux hackers. I believe this issue is now quite resolved, but if it weren't, I can imagine Sun refusing to allow distributors who ship the non-standard Linux threads to also ship Sun's Java. It's not too much of a stretch that this would tip the distributor's decision to switch to a new thread library. This could indeed break some other program relying on the old thread behavior.

"System call semantics?"

Posted May 18, 2006 16:49 UTC (Thu) by jonabbey (subscriber, #2736) [Link]

Actually, Java's threading semantics have always been relatively underspecified, specifically to make it possible to have Jave implementations on a wide variety of underlying operating systems.

Remember Java on Macintosh OS 9? ;-)

"System call semantics?"

Posted May 18, 2006 16:58 UTC (Thu) by pimlott (subscriber, #1535) [Link]

Remember Java on Macintosh OS 9? ;-)
checkmate, you win

Study capabilities, not intent

Posted May 17, 2006 19:08 UTC (Wed) by felixfix (subscriber, #242) [Link]

It is important to evaluate someone's capabilities more than their intent. Maybe current management at Sun has no intention of dropping a bomb on Linux, but all it would take is a bad year or two, a shareholder revolt, and a hostile takeover by some corporate raider or patent troll who sees a chance to make a quick buck.

Study capabilities, not intent

Posted May 17, 2006 20:00 UTC (Wed) by cventers (subscriber, #31465) [Link]

Oh, absolutely -- I agree. But in this case, the licensing agreement
seems to require nothing more that the distributor in question stop
shipping Java.

Scenario:

1. Sun says "Ooh, hey, Red Hat... you're not compatible because your
silly kernel doesn't guarantee that write() is atomic and ours does. Now
you must stop distributing Java"
2. Red Hat stops distributing Sun's version of Java
3. Sun continues to go broke
4. Even more people migrate from Sparc/Solaris to x86/Linux
5. Sun continues to go broke
6. Even more people migrate from Sparc/Solaris to x86/Linux
7. The last Java programmer sees the light and switches to
_________________ (perl/ruby/python) OR gcj continues to get better...
8. Sun goes broke (totally) and stops bothering people

OK, I'll admit it -- I really don't like Sun, Solaris, Java or the people
involved. And I agree with the notion that you should read the licenses
carefully. The reason for my comment was just that the way the article
was written - well, the language seemed to imply that Sun either had
control over the Linux system call interface or could use it to somehow
do damage to Linux vendors. I can't possibly see how Sun could do any
damage at all to Linux vendors in this way (unless being an Indian giver
counts).

Am I missing something? Is the compatibility clause a real cannon in the
weeds, or are we just nodding at eachother, expressing mutual distrust of
Sun Microsystems and their motives?

Study capabilities, not intent

Posted May 17, 2006 21:09 UTC (Wed) by emkey (guest, #144) [Link]

The hammer is potentially larger then you imply in that many vendors, Redhat and Novell for instance have enterprise editions that are in theory supposed to be stable for the multi year lifespan of a particular version. Swapping from one Java implamentation to another would basically break things badly in this case.

Study capabilities, not intent

Posted May 17, 2006 23:54 UTC (Wed) by piman (subscriber, #8957) [Link]

So would changing kernel system call semantics.

Study capabilities, not intent

Posted May 18, 2006 0:45 UTC (Thu) by emkey (guest, #144) [Link]

Exactly, rock meet hard place.

Study capabilities, not intent

Posted May 18, 2006 1:02 UTC (Thu) by cventers (subscriber, #31465) [Link]

While I don't think Java is anything close to irrelevant in the market,
there is a lot more to Linux than Java. I think that if anything like that
ever did happen, a patch author who wanted to change the system call
semantics would have to prove he could do so without side effects.

The distributions would always have options in a crunch - hell, you could
even do something crazy and temporarily hack the kernel to behave as Sun
defines compatibility, and even just for the Java process itself.

So maybe the distributions carry their own aftermarket Java patches until
they can migrate.

Study capabilities, not intent

Posted May 18, 2006 1:37 UTC (Thu) by miah (guest, #639) [Link]

RedHat has already been shipping Java, I'm not sure for how long, but I can easily install it on my RHEL systems by adding the proper channel. But guess what, its not Sun Java, its IBM, the IBM JDK, Bea WebLogic and other Java tools are already there. I'd be suprised if Redhat decided to go with Sun Java in RHEL 5.

A quick google turns up the following Press Release: http://www.redhat.com/about/presscenter/2004/press_apps_s...

Study capabilities, not intent

Posted May 18, 2006 6:36 UTC (Thu) by wookey (subscriber, #5501) [Link]

"OK, I'll admit it -- I really don't like Sun, Solaris, Java or the people
involved."

I too have generally got a bad vibe from Sun over Java and the CDDL. However, after hearing Simon Phipps here at Debconf talking about where they are going, where they have come from and why the licenses are the way they are, I have to say I am a lot more inclined to give them some slack than before. There are sun Java developers at Debconf, and Danese Cooper who wrote the CDDL. All of them appear to have an excellent understanding of the problems the Free Software community has with Sun and its licenses, and are doing a good job of explaining to the rest of the huge organisation how they need to change if they want us to stop being rude about them. But that is a really slow process for a multitude of reasons.

Now 3 good people in a 38,000 employee organisation does not guarantee anything, but it is clear to me that significant people are pushing in the right direction and Sun really is trying to be a proper friend of free software. The CDDL has been tweaked to make opensolaris free-er and more Debian-compatible - further tweakage is likely. The new Java licence is a (rather late) step in the right direction, and at least parts of Sun really do want to make it properly free (and realise that ultimately they have to if they don't want to become irrelevant). I think those people would benefit from our support (as well as constructive criticism).

So, Sun haters - there is genuine good will here; lets try to cultivate it.

Study capabilities, not intent

Posted May 18, 2006 1:58 UTC (Thu) by ttfkam (subscriber, #29791) [Link]

Because that worked so well for SCO in stopping Linux?

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds
Powered by Rackspace Managed Hosting.