[kepler-dev] License rule in Ptolemy

Christopher Brooks cxh at eecs.berkeley.edu
Sun Sep 19 14:45:44 PDT 2004


Jing writes

> I am going to add Hsql license into kepler(They require us to to that
> in redsitribution). I am wondering if Ptolemy has some rules or
> mechanism to include copyright. I want it will be consistent in both
> kepler and ptolemy.

The Ptolemy copyright is:
--start--
Copyright (c) 1995-2004 The Regents of the University of California.
All rights reserved.

Permission is hereby granted, without written agreement and without
license or royalty fees, to use, copy, modify, and distribute this
software and its documentation for any purpose, provided that the above
copyright notice and the following two paragraphs appear in all copies
of this software.

IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
ENHANCEMENTS, OR MODIFICATIONS.
--end--

So, the rule for Ptolemy is that Ptolemy must include the above
copyright.

In general, we try to only use other software packages as optional
extensions to Ptolemy.  In otherwords, it should be possible to run
a core version of Ptolemy without using software that has other
copyrights.

The HSQL copyright looks fairly benign, it seems to be similar
to the BSD copyright.  
The license is at
http://hsqldb.sourceforge.net/web/hsqlLicense.html

How we handle copyrights is that when the HTMLViewer follows a link
like about:copyright eventually code in ptolemy/actor/lib/gui/HTMLAbout.java
invokes a method in
ptolemy/actor/gui/GenerateCopyrights.java

This code looks for particular classes and if that class is found,
then a link to the appropriate copyright is included in the resulting
html. 

Note that the link will be on the local machine if possible,
but can also be on on the Ptolemy web server if the local copyright is
not found.  Also, there tends to be a delay when the user first
generates copyrights, I think because the Python actor ends up
traversing the classpath and generating cache files.

I hacked up this mechanism at the last minute for Ptolemy II 3.0, and
have not been able to return to it.

In particular, the copyrights are hardwired in, they should really be
part of a configuration.  Also, the path to the web server should be 
configurable.

Also, it should be possible for programs that use Ptolemy, such as
Kepler or Mescal, to easily add copyrights, either by deriving a
subclass from GenerateCopyrights or else by adding to a list
of classname/copyright file pairs.

So, the quick and dirty thing to do would be to edit GenerateCopyright
and add your classes there.

A better method would be for Edward and I to modify GenerateCopyright
so that it uses MoML configurations to configure itself. 

Another bug is that the copyright might show copyrights for features
that are not accessible in the current configuration.  For example, if
one is running VisualSense, which does not have Java3D actors, but
the Java3D actors can be found in the classpath, then the copyright
page will mention Java3D, even though those classes are not
immediately accessible with the VisualSense configuration.  I figure
better safe than sorry, after all, the Java3D software is present.

Another bug is that one cannot type in "about:copyright" in the
File ->Open URL window

BTW - My first attempt at this code would expand the entire
configuration and look for copyright.txt files in the corresponding
directory for each package found.  I thought that this was way too
slow.  Perhaps generating copyrights could be somehow tied in to the
search mechanism?


-Christopher




 




More information about the Kepler-dev mailing list