legality of mimicking the Windows look and feel

J

jaredmac

This is a bit off-topic. I was wondering what the legal relationship
Sun has with Microsoft when they mimic the look and feel of, say,
Windows XP in Java.

Would the illegal bit only be if a Java app had the XP look-and-feel on
a non-Windows XP computer?

If so, presumably it would be similar copyright violation if a Java app
impersonated a Mac app on a non-Mac.

Jared
 
S

Steve W. Jackson

This is a bit off-topic. I was wondering what the legal relationship
Sun has with Microsoft when they mimic the look and feel of, say,
Windows XP in Java.

Would the illegal bit only be if a Java app had the XP look-and-feel on
a non-Windows XP computer?

If so, presumably it would be similar copyright violation if a Java app
impersonated a Mac app on a non-Mac.

Jared

I don't recall where I've read information on this topic in the past.
But you'll find that the Mac LAF isn't available with the Windows or
Linux Java installations, and the Windows LAF isn't available on Macs.
The entire reason, from what I read, has to do with copyrights. You
might want to do a little web searching on the topic for more details.
But it's apparently illegal to copy the Windows LAF files, for instance,
to another platform for use with your Java app.

= Steve =
 
J

jaredmac

I don't recall where I've read information on this topic in the past.
But you'll find that the Mac LAF isn't available with the Windows or
Linux Java installations, and the Windows LAF isn't available on Macs.
The entire reason, from what I read, has to do with copyrights. You
might want to do a little web searching on the topic for more details.
But it's apparently illegal to copy the Windows LAF files, for instance,
to another platform for use with your Java app.

Interesting. Thanks for the response. So if I were interested in
creating a Java app that mimicked iTunes's appearance (but not its
functionality), and ran on all platforms, that would be a copyright
violation? I'll do some more searching.

Jared
 
D

Daniel Pitts

Steve said:
I don't recall where I've read information on this topic in the past.
But you'll find that the Mac LAF isn't available with the Windows or
Linux Java installations, and the Windows LAF isn't available on Macs.
The entire reason, from what I read, has to do with copyrights. You
might want to do a little web searching on the topic for more details.
But it's apparently illegal to copy the Windows LAF files, for instance,
to another platform for use with your Java app.

= Steve =

It was my impression that Windows LAF used native components, and thats
why it wouldn't work on anything non-native, but I could be mistaken.
 
M

Mich

This is a bit off-topic. I was wondering what the legal relationship
Sun has with Microsoft when they mimic the look and feel of, say,
Windows XP in Java.

Would the illegal bit only be if a Java app had the XP look-and-feel on
a non-Windows XP computer?

If so, presumably it would be similar copyright violation if a Java app
impersonated a Mac app on a non-Mac.


When MS created Excel they got sued by Lotus and the suit got thrown out
because Lotus could not claim rights to the look and feel.
 
J

jaredmac

When MS created Excel they got sued by Lotus and the suit got thrown out
because Lotus could not claim rights to the look and feel.

On the other hand, Apple got xTunes to change its
name/appearance/functionality because it was too similar to iTunes.
Perhaps that one didn't go all the way to court.
 
A

Andrew Thompson

Interesting. Thanks for the response. So if I were interested in
creating a Java app that mimicked iTunes's appearance (but not its
functionality), and ran on all platforms, that would be a copyright
violation? I'll do some more searching.

For the slight chance of stopping yet another
PLAF abortion (or something that should have
been aborted in the planning phases) I will point
out the following.

The user wants the damn program to look and
feel, just like all the *other* programs on their computer,
and would generally prefer that to some (trivially)
cute 'borders'.

Therefore the best PLAF (for the user) is generally
whatever lookAndFeelForPlatform(?) the JVM produces.
(I think that only leaves the Linux folks to stress over the
fact they chose Motif, when GTK is offered).

Andrew T.
 
D

Daniel Dyer

I don't recall where I've read information on this topic in the past.
But you'll find that the Mac LAF isn't available with the Windows or
Linux Java installations, and the Windows LAF isn't available on Macs.
The entire reason, from what I read, has to do with copyrights. You
might want to do a little web searching on the topic for more details.
But it's apparently illegal to copy the Windows LAF files, for instance,
to another platform for use with your Java app.

I believe that the Windows LAF files are provided with other platforms'
JREs but that by default you can't use them. I remember that I was able
to sub-class the Windows look and feel with Java 1.4 to make it usable on
Linux, although it didn't look that good (presumably because it normally
depends on features of the OS). I think it is a breach of some licence or
other to deploy such code.

Dan.
 
B

Bent C Dalager

Interesting. Thanks for the response. So if I were interested in
creating a Java app that mimicked iTunes's appearance (but not its
functionality), and ran on all platforms, that would be a copyright
violation? I'll do some more searching.

In itself, it doesn't sound like a copyright problem, but if you use
Sun's libraries to do so when they haven't given you a license for it,
it certainly might be.

More likely, the native LAFs may be protected by trademarks or patents
or both. The whole IP situation wrt software is a complete mess and
you should consult with a lawyer before trying to do anything you
believe might be suspect.

I am not a lawyer and this is not legal advice.

Cheers,
Bent D
 
M

Mich

On the other hand, Apple got xTunes to change its
name/appearance/functionality because it was too similar to iTunes.
Perhaps that one didn't go all the way to court.

"Quatto Pro was the subject of a major lawsuit by Lotus against Borland.
Lotus argued that Quattro could not copy Lotus 1-2-3 menus (it did, by
design). Borland supplied the 1-2-3 menus as an alternative because
keystroke compatibility was needed in order to run macros in 1-2-3
worksheets. Borland argued that just as all cars operate in the same way,
Lotus could not rationally "own" the way its program behaved. The district
court ruled in favor of Lotus, but the appellate court ruled that the 1-2-3
menus were functional and not copyrightable. The case went all the way to
the U.S. Supreme Court which split 4 to 4 (Justice Stevens recused himself).
This left the lower court ruling intact, which was a victory for Borland."

http://en.wikipedia.org/wiki/Quattro_Pro
 
T

Thomas Fritsch

Daniel said:
It was my impression that Windows LAF used native components,
No, Sun implemented the Windows LAF without any native components, but
recreated the whole thing in pure Java (in package
com.sun.java.swing.plaf.windows).
and thats
why it wouldn't work on anything non-native, but I could be mistaken.
The abstract LookAndFeel class has the method:
/**
* Return true if the underlying platform supports and or permits
* this look and feel. This method returns false if the look
* and feel depends on special resources or legal agreements that
* aren't defined for the current platform.
*/
public abstract boolean isSupportedLookAndFeel();

The implementation in the WindowsLookAndFeel class is (probably enforced
by Microsoft's lawyers):
public boolean isSupportedLookAndFeel() {
/* return true if running on Windows; */
}
and that is why it doesn't work on Linux or Mac.
 
T

Thomas Hawtin

Andrew said:
Therefore the best PLAF (for the user) is generally
whatever lookAndFeelForPlatform(?) the JVM produces.
(I think that only leaves the Linux folks to stress over the
fact they chose Motif, when GTK is offered).

But which GTK engine? Then there is Qt, or the weirdo shit Firefox does,
or same for Opera, or n different media players each broken in different
ways, etc., etc. There is no one native look and feel on Linux, but most
can be made to look like Metal. :)

Tom Hawtin
 
T

Thomas Hawtin

Daniel said:
I believe that the Windows LAF files are provided with other platforms'
JREs but that by default you can't use them. I remember that I was able
to sub-class the Windows look and feel with Java 1.4 to make it usable
on Linux, although it didn't look that good (presumably because it
normally depends on features of the OS). I think it is a breach of some
licence or other to deploy such code.

It's not in the JRE, but the source is in src.zip of the JDK. Using
classic (pre-Windows XP) is easy enough. XP style can be used, but all
the skin information is read from Windows so it doesn't look too great...

http://jroller.com/page/tackline?entry=xp_pl_f_on_linux

IIRC, Apple were really into "look and feel" suits in the early nineties
(late eighties?). Sun approached Microsoft, but failed to get an
assurance that they would not sue.

Tom Hawtin
 
S

Steve W. Jackson

Interesting. Thanks for the response. So if I were interested in
creating a Java app that mimicked iTunes's appearance (but not its
functionality), and ran on all platforms, that would be a copyright
violation? I'll do some more searching.

Jared

There's a difference in the Mac LAF (Aqua) and the iTunes "brushed
metal" appearance -- and I have no idea for certain, but I'd bet you
could find a copyright-free way to implement it elsewhere, particularly
since the Windows version of iTunes (last I looked) had that same
appearance.

= Steve =
 
D

Daniel Pitts

Thomas said:
No, Sun implemented the Windows LAF without any native components, but
recreated the whole thing in pure Java (in package
com.sun.java.swing.plaf.windows).

The abstract LookAndFeel class has the method:
/**
* Return true if the underlying platform supports and or permits
* this look and feel. This method returns false if the look
* and feel depends on special resources or legal agreements that
* aren't defined for the current platform.
*/
public abstract boolean isSupportedLookAndFeel();

The implementation in the WindowsLookAndFeel class is (probably enforced
by Microsoft's lawyers):
public boolean isSupportedLookAndFeel() {
/* return true if running on Windows; */
}
and that is why it doesn't work on Linux or Mac.

Well, I've tried to override isSupportedLookAndFeel, and I ended up
with other problems as well. It could be more than just legal issues
at work.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,190
Members
46,736
Latest member
zacharyharris

Latest Threads

Top