Re: org.omg link on Classpath homepage

2003-10-21 Thread Brian Jones
Stuart Ballard <[EMAIL PROTECTED]> writes:

> Brian Jones wrote:
> > Basically they will never be free to modify because the entire point
> > of the OMG standard is these interfaces DO NOT CHANGE or change only
> > as the standard evolves at the whim of the standards body.  The GPL
> > doesn't allow compatibility with licenses that do not permit
> > modification.
> 
> Then isn't Classpath violating GNU project policy by advertising
> non-free software on its homepage?

I don't know if the FSF has characterized the OMG license as non-free
yet.  We can't include it but we're certainly free to point people at
it.  It's called 'javartf' and I still have a copy of it if someone
wants it.  I couldn't get into the ftp site just now myself.

Copyright (c) 1999 Object Management Group. Unlimited rights to 
duplicate and use this code are hereby granted provided that
this copyright notice is included.

In order to promote interoperability, they specificly do not give the
right to modify the source.  If you want to put something in CVS,
you'll have to rip the interfaces yourself.  I think someone wrote a
javadoc based program to do this for you but I'm still not sure that
is legal.

Like Tom said, jacorb or someone else like that may have the necessary
work already done if they have tried to run with gcj or another free
JVM.

Brian
-- 
Brian Jones <[EMAIL PROTECTED]>


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: org.omg link on Classpath homepage

2003-10-21 Thread Patrik Reali
The LGPL has a rather interesting point in paragraph 6a. where they state
that it is obviously possible to change the code, but "It is understood that
the user who changes the contents of definitions files in the Library will
not necessarily be able to recompile the application to use the modified
definitions".

I think this bit is not in the GPL (as every piece of code is released under
the GLP).

This is obviously common sense. The same holds for any implementation of a
protocol (even the GPLed ones) that everything can be changed, but nobody
would seriously expect them to work afterwards. Would you consider the
implementation of a standard or a protocol (which cannot change freely) to
violate the GPL?

I do not know what the OMG licences doens't allow to do (I couldn't find the
implementatio either).

-Patrik


Patrik Reali
http://www.reali.ch/~patrik/
http://www.oberon.ethz.ch/jaos



- Original Message -
From: "Stuart Ballard" <[EMAIL PROTECTED]>
To: "Brian Jones" <[EMAIL PROTECTED]>
Cc: "GNU Classpath" <[EMAIL PROTECTED]>
Sent: Tuesday, October 21, 2003 3:40 PM
Subject: Re: org.omg link on Classpath homepage


> Brian Jones wrote:
> > Basically they will never be free to modify because the entire point
> > of the OMG standard is these interfaces DO NOT CHANGE or change only
> > as the standard evolves at the whim of the standards body.  The GPL
> > doesn't allow compatibility with licenses that do not permit
> > modification.
>
> Then isn't Classpath violating GNU project policy by advertising
> non-free software on its homepage?
>
> Stuart.
>
> --
> Stuart Ballard, Senior Web Developer
> FASTNET - Web Solutions
> (215) 283-2300, ext. 126
> www.fast.net
>
>
>
> ___
> Classpath mailing list
> [EMAIL PROTECTED]
> http://mail.gnu.org/mailman/listinfo/classpath
>
>



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: org.omg link on Classpath homepage

2003-10-21 Thread Tom Tromey
> "Stuart" == Stuart Ballard <[EMAIL PROTECTED]> writes:

Stuart> Then isn't Classpath violating GNU project policy by advertising
Stuart> non-free software on its homepage?

I guess so.

There's also JacORB to link to.  I think we had one of these running
with libgcj a long time ago.  I haven't tried recently.

Tom


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: org.omg link on Classpath homepage

2003-10-21 Thread Stuart Ballard
Brian Jones wrote:
Basically they will never be free to modify because the entire point
of the OMG standard is these interfaces DO NOT CHANGE or change only
as the standard evolves at the whim of the standards body.  The GPL
doesn't allow compatibility with licenses that do not permit
modification.
Then isn't Classpath violating GNU project policy by advertising 
non-free software on its homepage?

Stuart.

--
Stuart Ballard, Senior Web Developer
FASTNET - Web Solutions
(215) 283-2300, ext. 126
www.fast.net


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: classpath initialization

2003-10-21 Thread Chris Gray
For comparison, Wonka's explicit class initialisation looks something like 
this:
  **  1) load class java/lang/Object.
  **  2) load java/lang/Cloneable, java/lang/Serializable, 
java/lang/Throwable.
  **  3) create clazz_Array. clazz_Array acts like clazzObject but has
  ** a modified method table and a modified interfaces table.
  ** It overrides the clone method of java/lang/Object and adds two
  ** new interfaces: Cloneable and Serializable.
  ** (We need to do this before any subclasses of Throwable are loaded,
  ** in order to ensure that they are marked CLAZZ_IS_THROWABLE).
  **  4) load java/lang/Class, java/lang/ClassLoader, java/lang/Thread,
  ** java/lang/ThreadGroup, and java/lang/ref/Reference.
  **  5) load all the classes mentioned in core-classes.in.
  **  6) For each primitive class xxx, create:
  **   -An instance Class_xxx of class java/lang/Class, linked to
  **a w_Clazz structure (clazz_xxx).
  **The name associated with the Class instance is "xxx.class".
  **   -Entries in the array atype2clazz[], which is indexed by P_xxx.

Step 5) is needed because we need to create explicit relationships between C 
and Java constructs for quite a large number of classes, which Patrik doesn't 
need to do because he's using Oberon. I guess that's also why he doesn't need 
to explicitly load ClassLoader; we need to do that because of all the 
behind-the-scenes stuff needed to implement class loading according to the 
JVM spec.

Best wishes

Chris


On Monday 20 October 2003 22:03, Patrik Reali wrote:
> Hi!
>
> Initializing a JVM is quite a complicated thing. Many problems depend on
> which class you first initialize, because this could cause unexpected
> dependecies to pop up.
>
> Jaos doesn't suffer from the problem you descrive, because it doesn't use
> the external libraries or JNI: Oberon is rather close to Java, and the
> objects can be directly accessed from both languages without fear of
> breaking the type system or confusing the garbage collector.
>
> I also had my share of problems with the system properties, because they
> are hard-coded in the libraries and I didn't realize it at once.
> Furthermore, the properties and java.io assume an unix-like filesystem,
> which Oberon doesn't have: we don't have directories, only mounts.
>
> In Jaos, I explicitely initialize a few classes during bootstrap (this are
> only the explicit calls, other classes may be automatically initialized as
> side effect, and in fact about 80 are!). This code relies on classpath 0.5
> (I'm not through updating yet).
>
> 1. String
> 2. Throwable
> 3. StackTraceElement
> 4. VMThrowable
> 5. Thread
> 6. ThreadGroup
> 7. System
>
> This may look strange, but
>
> 1. String is implicitely used everywhere, because the string constants are
> instances of this class; according to the spec, allocating an instance of a
> class causes the class to be initialized. (I could avoid this, but then I
> would have to protect every access to the string methods with a check to
> launch initialization; Strings are already slow enough in Jaos).
>
> 2. Throwable / StackTraceElement / VMThrowable: I must allocate them when
> the VM is launched: loading them on-demand (at the first exception) is
> already too late, because the VM is already processing an exception (in
> Oberon this is done with a software interrupt) and loading reads from the
> disc (causing more interrupts), but the kernel doesn't allow to interrupt
> handler to cause other interrupts.
>
> 3. Thread / ThreadGroup must be initialized, because every java program is
> executed in a java thread; Jaos creates such a thread for the execution of
> a java program.
>
> This remarks (in particular 2 and 3) are quite Jaos specific.
>
> This won't probably solve your problem, but may give you some insight about
> the various problems encountered during the initialization phase.
>
> -Patrik
> 
> Patrik Reali
> http://www.reali.ch/~patrik/
> http://www.oberon.ethz.ch/jaos
>
>
> - Original Message -
> From: "Joseph Wenninger" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Tuesday, October 14, 2003 9:33 PM
> Subject: classpath initialization
>
> > Hi
> >
> > I'm trying to use an unmodified classpath (0.06). I already have
> > something working with a modified one.
> >
> > My problem is that the call stack during initialization of the System
> > class I looks something like
> >
> > LOG:  called: java/lang/System.()V()
> > LOG:   called:
> > java/lang/System.loadLibrary(Ljava/lang/String;)V(405c8488)
> > LOG: called: java/lang/Runtime.getRuntime()Ljava/lang/Runtime;()
> > LOG: finished:
> > java/lang/Runtime.getRuntime()Ljava/lang/Runtime;->0x8420fd8
> > LOG: called:
> > java/lang/Runtime.loadLibrary(Ljava/lang/String;)V(8420fd8, 405c8488)
> > LOG: called:
> > java/lang/VMSecurityManager.currentClassLoader()Ljava/lang/ClassLoader;()
> > LOG: called: java/lang/ClassLoader.()V()
> > LOG: compiler_addi