Why
There are a number of reasons why this project came
into being, and why
it is structured the way it is. They relate to good
software design and
to good business. I will discuss each of them in more
detail below.
Software management rational
-
Open Source software has, at the least, the potential
of producing "better" software. The open source
debate is to complex to summarize here beyond
mentioning a few points.
- Peer review of complex algorythms reduces errors.
gnuPort will implement a number of complex financial
concepts. User's of this type of software may have
significant financial stakes dependent on the
reliability of the information provided. Confidence
in the that information is valuable, but difficult to
achieve with closed software.
- The basic components can be extended to suit a
particular implementation, and incorporated back into
the larger package, allowing a user to leverage
existing work, devlope new implementations that suit
there particular requirements, and realize the
benefits of peer review and evaluation.
Business rational
- The financial concepts underlying this software
are in the public domain. There is not advantage to
having proprietary implementations of those concepts
beyond the tradintional business reluctance to give
away something that costs money to produce. An open
implementation of these concepts can provide a
standard implementation which reduces cost and risk
(see the first point.)
- By using an open source library of financial
tools, a user can eliminate the cost and risk of
implementing basic functions, and instead focus on
implementing tools that differentiate them from their
competition. After all, implementing a price/yield
calculation adds not value to a system, but using that
function to price a new derivative does provide a
differentiator for a business.
Why the GNU Lesser General Public License?
The LGPL
was
chosen because it has two important attributes:
-
It ensures that the open-source components of the
library remain open-source
(with the hope that users continue to enhance
them)
-
It allows these components to be incorporated in
systems that are not open-source.
This is important for vendors who provide proprietary
services based on
systems that might incorporate these components.
In his essay Why
you shouldn't use the Lesser GPL for your next
library, Richard Stallman
describes a situation in which the use of the GPL, a
more restrictive license,
would not benefit a library: when there are reasonable
alternative.
In that case, users who feel the GPL is overly
restrictive coupld simply
use an alternative library. I believe that
situation applies here.
Since I want people to use gnuPort, I
have chosen the less
restrictive LGPL.