Hi Mats,
On Jan 6, 2008 9:14 AM, Mats Lidell <matsl(a)xemacs.org> wrote:
Well what I have done is a script that analyses files in a folder
recursively. If they contain some variations of the "GPLv2 or later"
string they are marked as GPLV2. All the rest is marked with a
question mark. It is really a very simple and naive thing but seems to
find a lot of files.
These later files, marked with question marks, needs to be checked
manually for their legal status.
The script also tries to be smart about files that can be safely
ignored. These assumptions needs to be verified too of course.
I haven't checked in the script. I uploaded it to my web site for
feedback. You can have a look at it again! Direct your browser to:
"http://lidell.homelinux.net/~matsl/xemacs/gplv3/"
You'll find both the script and the output (at that time) there. Note:
The script doesn't know about mercurial.
I've made a few modifications to the script, FWIW. I've attached a
patch to this message. I believe the changes are fairly
self-explanatory, but tell me if they are not.
I've checked the files on the list produced by this script. Here are
what appear to me to be the trouble spots, after removing generated
files and files with BSD or MIT licenses from the list.
1) The C code in Steve Baur's postgresql module (postgresql.c and postgresql.h)
does not give any license information.
2) The sample modules (modules/sample) have no clear license. I am fine with
distributing the parts I have written under GPLv3. J. Kean
Johnston wrote the
rest. He's also the author of the unlicensed top-level aclocal.m4.
3) The .texi files we have authored (i.e., those not synced from Emacs) are
almost universally lacking any license information.
4) The .texi files we have synced from Emacs are not licensed under the GPL,
and likewise the top-level INSTALL file.
5) There is no license information anywhere in nt/installer, which also appears
to be woefully out of date.
6) The Windows build files are mostly devoid of any license information (i.e.,
the top-level build-msw-release.sh file and the contents of the nt
directory).
7) Some lwlib files are lacking license information, namely: lwlib.h,
lwlib-internal.h, lwlib-utils.h, lwlib-Xaw.c, lwlib-Xaw.h, lwlib-Xlw.h,
lwlib-Xm.h, xlwmenu.h, and xlwmenuP.h.
8) Some lib-src files are lacking license information, namely: ad2c, b2m.c,
digest-doc.c, ellcc.h.in, emacs.csh, gnudepend.pl, hexl.c,
insert-data-in-exec.c, installexe.sh, leditcfns.c, make-msgfile.c,
make-po.c, rcs-checkin, sorted-doc.c, vcdiff, wakeup.c, and yow.c.
9) The following files refer to the GPL but do not specify a version and do
not contain the "or later" clause (i.e., they're probably GPLv1):
lib-src/gnuslib.c, lib-src/gnuserv.c, lib-src/gnuserv.h, src/malloc.c,
src/m/luna88k.h.
10) Many of the test files contain no license information. In fact, so many of
them are lacking that information that I'm not going to list them all here.
11) Stephen Turnbull: etc/bundled-packages/test.sh has no license info
12) A number of etc files are lacking license information: editclient.sh,
Emacs.ad, emacskeys.sco nor the uuencoded emap.c it contains,
emacsstrs.sco, gnuserv.1, gnuserv.README which should be chucked, gtkrc,
idd/drop, idd/dropmsk, InstallGuide, sample.Xresources,
tests/external-widget/* (and there is a broken reference to copyright info
in test-ew-xlib.c), and VEGETABLES.
13) The files in etc/unicode/ibm are copyright IBM, all rights reserved, with no
explicit information about a license.
14) The file etc/xemacs.1 needs an update (it refers to a versionless GPL).
15) We should probably replace the top-level install.sh with the autotools
version.
16) Lisp files lacking license information: cus-face.el, dumped-lisp.el,
gnome.el, gtk.el, gtk-compose.el, gtk-marshal.el, gtk-package.el,
gtk-widget-accessors.el, mule/mule-locale.txt, site-load.el (Steve Baur
wrote this), term/bobcat.el, term/vt102.el, term/vt125.el, term/vt200.el,
term/vt201.el, term/vt220.el, term/vt240.el, term/vt300.el, term/vt320.el,
term/vt400.el, term/vt420.el
17) A typo in lisp/mule/canna-leim.el ("... either versions 2...") prevented
the
script from recognizing that it is GPLv2 or later.
18) The top-level move-if-change script has no license info.
19) Some files in netinstall are lacking license info (we probably need to
resync with Cygwin anyway): iniparse.h, mklink2.c, reginfo.h,
resource.h, and version.pl.
20) Source files lacking license information: dgif_lib.c, gif_io.c, gifrlib.h,
glade.c, gtk-glue.c, gtk-xemacs.c, gtk-xemacs.h, hftctl.c, libsst.c,
libsst.h, libst.h, m/alliant1.h, m/alliant4.h, m/gould-np1.h, m/ibm370aix.h,
m/is386.h, m/mips4.h, m/ncr386.h, m/news-risc.h, m/paragon.h, m/pmax.h,
m/pyrmips.h, m/sgi3000.h, m/sun3.h, m/sun3-68881.h, m/sun3-fpa.h,
m/sun3-soft.h, m/tandem-s2.h, offix-cursors.h, paths.h.in,
ppc.ldscript, most
(but not all) of the files in the s directory, toolbar-common.h,
tooltalk.doc,
ui-byhand.c, ui-gtk.c, ui-gtk.h, unexencap.c
21) Lazy me. I never put the usual header where the comment says to in
src/xemacs.def.in.in. We'll just fix that right up in a jiffy....
--
Jerry James
http://loganjerry.googlepages.com/
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta