S
i
t
e

m
a
p
Main Page
Downloads
Contributions
Documents
Change Logs
Reporting bugs
Bruce's homepage

I
F
E
F
F
I
T
IFEFFIT Homepage
IFEFFIT Wiki
Bruce's Wiki page
IFEFFIT mailing list
IFEFFIT FAQ
xafs.org

X
A
S

S
o
f
t
w
a
r
e
ATHENA
ARTEMIS
HEPHAESTUS
DEMETER
ATOMS
SixPack
WebATOMS
ATOMS database
XAS File Format
EASE
SourceForge

Q
&
A
How is IFEFFIT used by ATHENA and ARTEMIS?
What is IFEFFIT worth to you?
Do you have a question about using WinXAS?

R
e
f
e
r
e
n
c
e
s

ATHENA, ARTEMIS, HEPHAESTUS: B. Ravel & M. Newville J. Synchrotron Rad. (2005), 12:4, pp. 537-541.

IFEFFIT: M. Newville J. Synchrotron Rad. (2001) 8, 322-324

ATOMS: B. Ravel J. Synchrotron Rad. (2001) 8, 314-316

FEFF: J.J. Rehr & R.C. Albers, Rev. Mod. Phys. (2000) 72, 621-654

What is the HORAE package worth?

This page is a silly exercise in estimating the worth of the HORAE package. Presented below is the output of David Wheeler's SLOCcount package. SLOCcount counts the number of Source lines of code in a package and, using heuristics, assigns a monetary value to it. Obviously this should all be taken with a grain of salt, but it does give you a sense of what it would cost to replicate this stuff from scratch by paying a programmer.

Here is the output of SLOCcount. Note that I removed the `0CPAN/' and `ExtUtils' directories, as well as the `ifeffit.h' and `ifeffit_wrap.c' files, so this is a measure of stuff that I have written.



SLOC    Directory       SLOC-by-Language (Sorted)
12440   athena_parts    perl=12440
11390   artemis_parts   perl=11390
6689    scripts         perl=6689
5733    Xtal            perl=5733
4444    Ifeffit         perl=4444
2414    Absorption      perl=2414
2121    Atoms           perl=2121
2099    Tk              perl=2099
1348    hephaestus_parts perl=1348
1046    top_dir         perl=1014,sh=32
742     atp             lisp=742
670     Chemistry       perl=652,sh=18
147     CromerMann      perl=147
129     language        perl=129
65      t               perl=65
0       examples        (none)


Totals grouped by language (dominant language first):
perl:         50685 (98.46%)
lisp:           742 (1.44%)
sh:              50 (0.10%)




Total Physical Source Lines of Code (SLOC)                = 51,477
Development Effort Estimate, Person-Years (Person-Months) = 12.54 (150.45)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 1.40 (16.80)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 8.95
Total Estimated Cost to Develop                           = $ 1,693,696
 (average salary = $56,286/year, overhead = 2.40).
SLOCCount is Open Source Software/Free Software, licensed under the FSF GPL.
Please credit this data as "generated using David A. Wheeler's 'SLOCCount'."

	    

For the sake of completeness, here is the SLOCcount report of the `ifeffit-1.2.6/' directory (which includes FEFF6 and stuff like `minpack' and `fftpack', which Matt did not write):


SLOC    Directory       SLOC-by-Language (Sorted)
26612   readline        ansic=19123,perl=4105,sh=3384
19248   src_lib         fortran=18461,ansic=573,perl=175,python=39
8787    wrappers        ansic=4850,python=3128,perl=692,tcl=95,sh=22
6973    src_feff6       fortran=6836,ansic=137
5155    src_feffit      fortran=5002,ansic=153
2621    top_dir         sh=2468,perl=145,ansic=8
1979    doc             perl=1955,python=24
1757    src_autobk      fortran=1348,ansic=409
1717    src_win32       ansic=1609,fortran=108
1240    src_diffkk      fortran=1240
574     src_cmdline     ansic=574
243     src_test        fortran=171,ansic=72
229     examples        python=130,perl=91,fortran=8
168     src_pgstub      fortran=168
114     src_macosx      sh=114
0       CVS             (none)
0       src_CVS         (none)
0       src_cldata      (none)
0       src_fefftab     (none)
0       src_top_dir     (none)


Totals grouped by language (dominant language first):
fortran:      33342 (43.07%)
ansic:        27508 (35.53%)
perl:          7163 (9.25%)
sh:            5988 (7.73%)
python:        3321 (4.29%)
tcl:             95 (0.12%)




Total Physical Source Lines of Code (SLOC)                = 77,417
Development Effort Estimate, Person-Years (Person-Months) = 19.24 (230.93)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 1.65 (19.77)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 11.68
Total Estimated Cost to Develop                           = $ 2,599,679
 (average salary = $56,286/year, overhead = 2.40).
SLOCCount is Open Source Software/Free Software, licensed under the FSF GPL.
Please credit this data as "generated using David A. Wheeler's 'SLOCCount'."

	    

SLOCcount evaluated the `0CPAN/' directory as being worth $1,178,315. With HORAE costing $1,693,696 and IFEFFIT at $2,599,679, a full IFEFFIT installation is $5,471,690 worth of kick-ass code.

As a point of reference, FEFF6 evaluates to $207,602 and FEFF8.2 to $819,253. Clearly SLOCcount does not take scientific complexity into account.

All monetary values are in US dollars. The version of HORAE is soon after the 038 release (i.e. there are some changes to HEPHAESTUS and a few bug fixes in ARTEMIS but it is essentially the same). Version 1.2.6 of IFEFFIT was used. This was written on 30 July, 2004.



Some people decided to make knowledge into property. That wasn't capitalism speaking; that was a greedy scam. There wasn't anything normatively acceptable about it. It contravened the freedom of speech and ideas. We [don't] engage in it because it [excludes] people from ideas.

Eban Moglan, General Counsel, Free Software Foundation

Creative Commons License
This web site is licensed under
a Creative Commons License.

Tools used to create this site include:
[Created by XEmacs!]     [Created with the Template Toolkit!]
Time-stamp: <01 October, 2005>
This page copyright © 2008 Bruce Ravel

Support Amnesty International
*Support the American Civil Liberties Union
Support The Electronic Frontier Foundation

BoingBoing guide to defeating censorware