Why contribute
From FinMath
Contents |
[edit] Productivity
[edit] Save your own time using public domain toolboxes
How often have you wanted to use a single function from some toolbox or another, only to discover that you (and anyone else using you code subsequently) must download, unzip, set paths for the toolbox and configure environment variables. This process must be repeated for every other toolbox it depends on, and every computer you or your users happen to use.
[edit] Save other peoples time
The old way puts quite a burden on the end user.
Dear Homer, To use runMyDemo.m please go to the following web site: http://www.myTool.springfield.de/projects/bowling/ver1/code/install and unzip the toolbox. Run the authors' addPaths routine but note that they forgot to add the /src/lib/util directory. You'll also need to get the cooking toolbox (google it, I can't remember the URL). Please find the attached file myToolbox.zip also. In the /otherStuff/blah directory there is a demo called runMyDemo.m. I'm going to change it in two weeks though when the cooking toolbox gets updated. Regards, Marg
Instead, we recommend this:
Dear Homer,
Please cut and paste the following at the Matlab prompt:
mkdir(prefdir,'fin_math');
urlwrite('http://www.financialmathematics.com/code/fin_math/fmgrow.m',fullfile (prefdir,'fin_math','fmgrow.m'));
addpath(fullfile(prefdir,'fin_math'));
fmgrow;
fmuse('/myToolbox');
runMyDemo
Love,
Marg
Subsequently, or if Homer has visited Quick start:
Dear Homer,
Please cut and paste the following at the Matlab prompt:
fmuse('/myOtherToolbox');
runMyDemo
Love,
Marg
[edit] Obviate bug fix requests
Let them fix it themselves on the wiki. You can always roll back.
[edit] Work in the open
You can create lecture notes, problem sets, working papers and whatever you like here. You never know who might help.
[edit] Organize your work
Organize your work and others in as many ways as you see fit. There is no tree structured hierarchy here (a restrictive concept at the best of times) beyond the mapping of pages to subdirectories at www.financialmathematics.com/code. Any user may create a wiki page and organize code and theory as they see fit.
[edit] Make it look nice
Well, we think so. Integrated latex is a lot easier to read than mathematical comments in code. This helps others understand your work and helps you remember where you left off. You can also click through to Mathworks documentation on any function.
[edit] Use only what you need
Avoid massive bloated libraries whose dependency structure you will quickly forget.
[edit] Package only what others need
Even wanted to send someone a subset of your work but not the whole shebang? This site obviates sending anything really, but should you wish to do so the explicit dependencies make this easy. You can clobber your prefdir/urlpath/www_financialmathematics_com subdirectory at any time and re-download the latest versions of files in your urlpath with fmuse('-refresh') or urlpath('-refresh').
[edit] Work on multiple machines
Automatic on-the-fly file downloads make it easy to work on multiple machines and multiple operating systems. More convenient at times that remotely hosted source control.
[edit] Scientific and Academic Motivations
In a broad sense the case for open collaboration has been made elsewhere. See for example "WaveLab and Reproducible Research" (pdf) Jonathan B. Buckheit and David L. Donoho, and a more recent opinion piece by Joyner and Stein in notices of the AMS (2007).
More specifically, the science of credit derivative modeling promotes market transparency and other site objectives.
[edit] Get Cited
Implement the method in software, place examples of the software's use in the paper, make the software of broad functionality, and give the software away for free
-From David Donoho's essay on how to be a well cited author in statistics.
[edit] Get feedback
Experts in statistics, finance, mathematics and other fields visit this site.
[edit] Defend yourself against spurious IP suits & intellectual theft
Your contribution is timestamped.
[edit] Work on larger problems
Better organization, ease of collaboration and availability of building blocks frees one to work on more difficult, ambitious and important open problems.
[edit] Commercial and other motivations
There are other commercial motivations for contributing which we hope are shared by private companies as well as academics. This site was established by employees of Julius Finance to assist with academic collaboration, keep in touch with developments in the field, and establish a body of documentation not necessarily conforming to Wikipedia's rules (forward looking articles, commercial references and things of note to very few people). We felt that something was needed in the grey area between source control - which few can be convinced to actually use - and code posting sites, and we created it here. We think contributing to high level public domain code has specific commercial benefits over and above the scientific and productivity gains described below.
[edit] Code quality
All software contains bugs, period. Given enough exposure to sunlight however, the more serious mistakes will be found.
[edit] Validation
As a research company we rely on experts to verify new advances of an algorithmic, financial or mathematical nature. This is most easily done when building blocks are readily available, code can be run on the fly instantly without fuss, and easily readable documentation accompanies the work.
[edit] Talent identification
We are always seeking uniquely talented individuals interested in solving problems quickly and getting their hands dirty. Conventional means of finding them are expensive and inefficient.
[edit] External Links
- CreativeCommons.org
- OpenSource.org
- The ten golden rules of contributing to an open source project
