[Ifeffit] FEFF and liberal licensing
ravel at phys.washington.edu
Sat Mar 8 18:06:11 CST 2003
Last week we had a short but somewhat impassioned exchange on our
mailing list between Matt, John, and longtime FEFF and IFEFFIT user
Sher Alam. Matt made a claim (one with which I agree) that the
license for FEFF is insufficiently liberal and that this has served to
hinder certain developments over the years.
Dr. Alam responded with this interesting comment:
sa> Perhaps Matt you don't appreciate how liberal! Prof. Rehr is in
sa> distributing FEFF....A recent experience convinced me that it so!
sa> Thus I personally appreciate Prof. Rehr to distribute ... the
sa> code so that others can benefit.
I worry that people seeing the public side of this ongoing debate
between Matt, John, and I may conflate criticism of FEFF's license
with criticism of FEFF or of its authors. That would be an incorrect
assessment and I would hasten to dissuade anyone of adopting it.
I am currently hard at work on the document for Artemis. I refer to
FEFF on virtually every page. This is because Artemis and FEFF are
inextricably linked. My little greek goddess could not exist without
FEFF. Indeed, virtually everything I have done as a professional has
involved FEFF in some capacity. Obviously FEFF is something that I
value and whose value I fully appreciate.
Nonetheless I have a long standing complaint about its license.
In last week's exchange, John said:
jjr> Also various modules of FEFF are now redistributable in order to
jjr> facilitate user developments in response to previous suggestions
jjr> from Matt and Bruce.
It takes some searching to find the license in the source code for
tarball for FEFF8.28 (look for the file license.h -- there are several
copies of it). You can find a copy in PDF and Word form at
http://feff.phys.washington.edu/feff/html/obtain.html. The only
clause in that license that, by my reading, relates to redistribution
is section III.4:
The End-user shall take reasonable precautions to ensure that
neither the System nor its components are copied, or transferred
out side [sic] of his/her current academic or government affiliated
laboratory or disclosed to parties other than the End-user.
That very clearly forbids redistribution either of FEFF8 in its
entirety or of its modules. There is a legally confusing aspect to
this due to the version of FEFF6 which is distributed with IFEFFIT and
which is redistributable. That version of FEFF6 and the current
version of FEFF8 do share some common code. I presume that, for
common code, the more liberal FEFF6-with-IFEFFIT license trumps the
highly controlling FEFF8 license. And there is the problem of no
clear mechanism for rolling an improvement to FEFF6 back into the
FEFF8 source code.
As for the prospect of outside development, section III.2 is clearly
chilling for anyone with an idea for how to use FEFF in a way not
encompassed by its current functionality.
Modification of the System is permitted, e.g., to facilitate its
performance by the End-user. Use of the System or any of its
components for any purpose other than that specified in this
Agreement requires prior approval in writing from the University of
As I read this, should I wish to modify FEFF to deal with, say XPS
data, I would be in violation of the license because XPS is a new
spectroscopy and not simply a matter of performance. I am fully aware
that it is ridiculous to assume that either the FEFF developers or the
University of Washington will *really* come after me if I do use FEFF
to analyze my XPS data, but that's beside the point. The license, as
written, forbids it.
Another alarming clause in the license is the final one, VII.2. It
This Agreement contains the entire agreement between UW and
LICENSEE, and supersedes all prior written or oral representations
with respect to FEFF Software.
This means that if you have a FEFF license, you may not redistribute
or modify FEFF outside of the restrictions of clause III.2 even if
John or Alex have told you that you have their permission to do so.
Surprising, but apparently true.
I presume that I have been quoting from the current license. Since it
is the only license that can be found, that makes it the de facto
John went on to say
jjr> It doesn't seem desirable to me to freely distribute more recent
jjr> parts that are less well developed.
The implicit assumption here is that only the developers of FEFF
should be touching the cutting edge portions of the code.
I dispute this assumption. I dispute it NOT because it might be
false, but because it is unproven. We do not know if smart scientists
who are not in intimate contact with the FEFF developers could
plausibly contribute significantly to the hairy, bleeding edge parts
of FEFF because no one is currently doing so. Matt's suggestion in
his email was that the chilling nature of the FEFF license is an
impediment to anyone who wishes to try.
Now, it may turn out to be true that the FEFF developers are
singularly capable of being the stewards of the hairy, edgy parts of
FEFF. That is entirely believable because John and Alex are
singularly brilliant scientists. (I mean that plainly and without the
vaguest hint of irony. I know them both very well, have shared both
physics and beer extensively with both and will do so extensively in
the future, and can attest to their brilliance with sincerity.)
However, the singularity of their stewardship is not proven. Indeed, I
suspect that the FEFF developers do themselves as well as their
community a disservice by not allowing that assumption to be tested.
After all, there are lots of clever people in this world who may have
some profound ideas.
I acknowledge that it is not for me to say how FEFF should be
licensed. Its not mine, after all. (Well, some of the code in the
FMS directory is mine, I suppose, but I am not at this time coding for
FEFF itself.) I do not, therefore, dispute the right of the FEFF
project to choose the current license.
It is, however, most definitely within my bailiwick to express my
opinion for what license *I* think would be best for FEFF and its user
community. I agree with Dr. Alam that the FEFF community is well
served by FEFF as it is. But I agree with Matt that it would be much
better served by a very liberal, uncontrolling license.
I feel compelled, in closing, to state something that I hope would be
obvious. FEFF, the tools which use it, and XAFS in general are all
things that I am most passionate about. I would not bother to form
the opinions I have expressed here were FEFF not the object of my
professional passions. I would not spend an hour and half on a
Saturday afternoon putting this opinion into words were FEFF not the
object of my professional passions. I debate with John because I
Bruce Ravel ----------------------------------- ravel at phys.washington.edu
Code 6134, Building 3, Room 222
Naval Research Laboratory phone: (1) 202 767 5947
Washington DC 20375, USA fax: (1) 202 767 1697
NRL Synchrotron Radiation Consortium (NRL-SRC)
Beamlines X11a, X11b, X23b, X24c, U4b
National Synchrotron Light Source
Brookhaven National Laboratory, Upton, NY 11973
My homepage: http://feff.phys.washington.edu/~ravel
EXAFS software: http://feff.phys.washington.edu/~ravel/software/exafs/
More information about the Ifeffit