|
|
We hope that this FAQ proves useful in answering your questions
about the petition. If you'd like to see something added,
please let
us
know.
Jason E. Stewart
Harry Mangalam
Jiaye Zhou
Funding Questions
-
I'm funded by a variety of grants, some public, some
private. What is the percentage cutoff for the definition of
'Public Funding'?
-
I'm currently funded by a private foundation that has
no such OSS requirement, but I want to publish in a reputable
journal. Will this petition reflect badly on my NOT publishing
the Source Code?
License Questions
-
Why even consider Open Source? And why is Open
Source for Scientific applications any different than for anything
else?
-
Which Open Source license do you require? I don't
like that one. Why don't you use license Y, which is much more
intelligently phrased and acceptable to all clear-thinking
people?
-
Why Open Source, why not Free Software?
-
Doesn't OSS/FS require me to give my code away for
free?
-
What about existing software that has multiple sources
including some that are non-OSS or that have conflicting
licenses? For example, software that includes commercial
libraries (Rogue Wave's 'tools.h', Numerical Recipe's
implementation of standard algorithms?)
-
I'm currently using OSS for my project but the license
under which it is distributed is incompatible with other (also
acceptable) OSS licenses. How will this be resolved?
General Questions
-
Does the Scientific method really require
making the source code available? Aren't there other ways to
verify an algorithm or claim?
-
Why Open Source as opposed to Source Code Availability
(Source Under Glass) where you can view and modify
the source code but not redistribute it? Wouldn't this enable
people to evaluate the code to the extent required for scientific
validation without the overbearing requirement for Open Source
release?
-
Doesn't OSS/FS violate Bayh-Dole?
-
Does this require that certain coding standards are
met? Who ensures that the code is readable and not the result of
running it through an obfuscater?
-
How do you handle support issues
under this petition? A lot of scientific software is poorly
written, has limited input validation, obscure compilation
requirements, etc. In practice this means that some form of
support is needed for successful use. Even if the authors disclaim
all warranties and publicly announce a "no support" policy, they
will occasionally receive requests for help, bug reports,
improvement suggestions, etc. It is human to respond to these, in
some cases spending hours or days tracking down someone else's
problem. In the end this consumes a lot of these public resources
which should be used to do new research. How should this be
handled?
-
If it succeeds, who will oversee that the requirements
are met? Who will ensure that groups so funded do in fact make
their source code available?
-
Why not require something like a Government
'SourceForge' an 'active repository' of publicly funded codes?
-
What if my research currently is based on or depends
on Proprietary software which cannot be made Open Source?
-
Will such software be OSS in perpetuity or will it
'lapse' to Public Domain in X years? Define and justify X.
Criticism of the Petition
-
Why do some researchers oppose this petition?
-
What are some of the downsides of this petition if it
succeeds?
OpenInformatics.org Questions
-
How can I add resources to the site?
Funding Questions
F1:
I'm funded by a variety of grants, some public, some
private. What is the percentage cutoff for the definition of
'Public Funding'?
Answer: There are two categories of software that fall
within the constraints of this petition:
-
Software explicitly mentioned as a deliverable in a
public grant.
-
Software, not explicitly mentioned as a deliverable in
the grant, but whose development is funded by the money
from the grant.
So the issue isn't what types of funding you have, but
how you spend that funding. We believe that
any amount of public funding makes something
publicly funded. This means that if you use any money
from a public grant to fund development of a piece of
software, that software falls within the constraints of this
petition.
If your goal is to license all your software
proprietarily, then seek all the public funding you want:
just don't use it to develop software, use private funding
instead.
Back to Top
F2:
I'm currently funded by a private foundation that has
no such OSS requirement, but I want to publish in a reputable
journal. Will this petition reflect badly on my NOT publishing
the Source Code?
Answer: We have nothing to say about software funded by
private foundations or groups. It largely depends on the
funding agency and your preferences. If you cannot make the
source code Open Source because of restrictions on the
funding or administration of the grant, you can still make
the code available for review by releasing it in a variety
of other ways, such as
Source Under Glass
or under
other no-redistribution policies.
Back to Top
License Questions
L1:
Why even consider Open Source? And why is Open
Source for Scientific applications any different than for anything
else?
Answer: We liken Open Source as peer review. In a
scientific endeavor, we make a hypothesis and provide
evidence to support or discredit the hypothesis. In
reporting the evidence, we publish the data in as raw a form
as possible so that others can examine and critique it.
This is how Science tends to move forward. We submit that
like other forms of materials and methods, the source code
of software involved in arriving at a decision should also
be published.
-
This peer review of software allows bugs or
exceptions that the original authors did not account for
to be found and fixed by others.
-
It provides for a mechanism by which original features can be
incrementally improved and additional features can be
added without the underlying infrastructure
(initialization, input/output, data structures, help and
documentation files) being rebuilt from scratch.
-
Because of the wider use, it encourages more
standardization of more efficient file or exchange
formats, decreasing the time spent on converting one
format to another.
-
It increases the speed of code development thru the
methods noted above, can make research cheaper, and
therefore increase the return on investment in research,
especially important these days as public support for
research is under pressure.
Back to Top
L2:
Which Open Source license do you require? I don't
like that one. Why don't you use license Y, which is much more
intelligently phrased and acceptable to all clear-thinking
people?
Answer: We are not proposing a specific license; only that
whatever license is used provides certain minimal rights to
the users of the software:
-
The Right to View the Source Code:
electronic access to the source code, without
royalty.
-
The Right to Redistribution:
anyone may redistribute the work.
-
The Right to Create Derivative Works:
anyone may create (and redistribute) a derivative of the
work.
-
The Right of Ownership:
the originating author or organization may retain the
Copyright for commercial licensing purposes.
The first three are the primary rights missing
from most current 'Free-For-Non-Profit' licenses, and
without these rights further development of the software
governed by those licenses is severely restricted. Since we
have no opposition to ownership, the last right is critical
as well.
These are rights are presented as guidelines and are not
intended to be an exclusive list (for example
The Open Source Definition version 1.9
gives an excellent listing of rights for software
licenses). Again the primary goal of this petition is to get
the researchers, universities, and funding agencies to
discuss this issue and to decide which rights the licenses
for scientific software should provide.
Why don't we get more specific and chose a single license?
Licenses are legal documents, there are many legal
intricacies in choosing a license, and it's a very difficult
thing to get right. Again the primary goal of
the petition is to get researchers, universities, and
funding agencies talking with their lawyers to decide
which licenses are most appropriate for use with
scientific software. There are many possible outcomes:
-
Funding agencies may create their own licenses:
e.g. the NIH Public License.
-
A particular license may be chosen: e.g. the BSD
license
-
A set of licenses which are approved by a particular
organization: e.g. all licenses approved by the
Open Source Initiative as being Open Source licenses, or
all licenses approved by the Free Software Foundation as
being Free Software licenses and compatible with the
GPL, etc.
-
A set of guidelines which approved licenses
must satisfy. This is harder to do because who decides
whether any given license actually meets the
guidelines?
We also suggest a licensing mechanism that we believe
addresses the concerns of the inventor, copyright holder,
technology transfer office, and private companies that wish
to substantially increase the utility of such code and
charge money for such proprietary extensions.
Back to Top
L3:
Why Open Source, why not Free Software?
Answer: In the petition, we use the term Open Source
Software as a generic term for software that provides
these rights (mentioned above).
Yes, Open Source licenses and Free Software licenses all
provide this assurance, but it is not a goal of
this petition to prohibit anyone from selling their ideas
for a profit, so in order to avoid the negative connotations
that free evokes in the minds of many business
people, we use Open Source instead. For the rest of the FAQ
we will use the term OSS/FS to signify that we
intend both.
For more detailed information on the specific differences
of Open Source licenses and Free Software licenses, please
visit
the Open Source Initiative
, and
the Free Software Foundation
.
Back to Top
L4:
Doesn't OSS/FS require me to give my code away for
free?
Answer: Succinctly, no: see
The GPL
and the corresponding
FAQ
for a longer exposition. However, this is where the rubber
meets road. It is our opinion that if you take Public taxpayer
money to develop an idea at an organization (academic, non-profit,
or for-profit), you have a responsibility to allow the Public to
use it. (Note that as stated, this runs explicitly against some
government policies, such as some Small Business Administration
programs such as the SBIR program.)
'The Public' includes both for-profit companies (which also pay
taxes) as well as individuals who might be interested in the
results of the research. Note that we are strongly against the
exclusive privatization of public resources. If a private
corporation wants to use the code, they are bound by the same
requirements as an individual. The company should be able to use
and modify the code for internal purposes as would an individual.
Beyond this, things get less clear. Whether and how the company
should be able to redistribute the code is debatable although it
is our contention that the best way of addressing the competing
claims and requirements (especially the
Bayh-Dole Act
)
is a dual license:
The DUAL LICENSE approach
We suggest that the best way to satisfy both our request for
release of the software for public use and the requirement
for institutions to be able to license their intellectual
property (a la
Bayh-Dole
) is to use a dual license
approach. In this scheme, the code would be available to all
for Open Source use and iterative development, but companies
who required exemption from the covering Open Source license
could be granted it from the copyright holder or their
institution.
This arrangement would not only allow the code to be examined,
stressed, and debugged by the user community who would be getting
a return on their tax dollar, but that *improved* code could also
be licensed to external companies who needed to incorporate it
into their products without the requirement to make their changes
or adjunct code Open Source in return - essentially paying for
permission to privatize code developed with public funds. The
idea is that the code base itself would improve over time and
become more valuable to more companies.
This arrangement would require that developers who contributed to
this effort were aware of and agreed to the provision that their
efforts were being 'harvested' by the copyright holder.
Back to Top
L5:
What about existing software that has multiple sources
including some that are non-OSS or that have conflicting
licenses? For example, software that includes commercial
libraries (Rogue Wave's 'tools.h', Numerical Recipe's
implementation of standard algorithms?)
Answer: Good question. In some cases, there are Open Source
alternatives that can replace restricted code. For example, the
Gnu Scientific Library [ http://sources.redhat.com/gsl ] is a
collection of routines for numerical computing that contains much
of the utility of the Numerical Recipes and the GPL'ed R
statistical language is largely compatible with the commercial
S-Plus.
Back to Top
L6:
I'm currently using OSS for my project but the license
under which it is distributed is incompatible with other (also
acceptable) OSS licenses. How will this be resolved?
Answer: currently without answer
Back to Top
General Questions
G1:
Does the Scientific method really require
making the source code available? Aren't there other ways to
verify an algorithm or claim?
Answer: Formally, there are certainly other ways to validate
a claim based on an algorithm. In fact it has been argued
(with what we think was a straight face) that making the
source code available will actually decrease
innovation as researchers will be less likely to question or
improve an approach if an acceptable alternative is freely
available. We believe that a brief review of sorting
algorithms and line drawing routines will relieve that
worry.
However, we also believe that while it's possible to
validate an algorithm by means other than examining the
code, it is generally felt that having the code accelerates
this process, especially the validation of the approach.
Back to Top
G2:
Why Open Source as opposed to Source Code Availability
(Source Under Glass) where you can view and modify
the source code but not redistribute it? Wouldn't this enable
people to evaluate the code to the extent required for scientific
validation without the overbearing requirement for Open Source
release?
Answer: This would indeed allow the community to validate the
code, but would not allow that code to be further used or
improved in the usual way that Open Source Software evolves.
In order for software to be widely supported, the user
community has to believe that they have a stake in it, and
if they cannot redistribute their improvements or benefit
from someone else's improvements, then their tendency is to
support it less. This also ignores one of the central
points of the petition - that support with public funds
should result in public availability of the software
developed with that support.
'Source Under Glass' would be a fine way for validating
software that has been developed privately or that has other
restrictions on its further deployment.
Back to Top
G3:
Doesn't OSS/FS violate Bayh-Dole?
Answer: The Bayh-Dole act of 1980 (more precisely,
P.L. 96-517, The Patent and Trademark Law Amendments Act, with
further amendments described in P.L. 98-620) was a landmark law
that dramatically changed the way Intellectual Property was
handled. Rather than try to squeeze it into this FAQ, I refer you
to:
-
the text of the Bayh-Dole act (
35 USC 200-212
).
-
the federal patent and licensing policy implemented
by the Department of Commerce (
37 CFR 401
).
-
The Universities'
point of view
-
a generally supportive
series of articles
from Columbia University (one of the largest beneficiaries
of the Law)
-
an extremely harsh
criticism of the Law
-
a critical
piece
in the Atlantic describing the implications and history of
it.
Links to other descriptions are welcome.
We contend that our suggestion does not violate the Bayh-Dole Act,
and in fact may make it more remunerative to the
licensing agencies rather than less. We are not asking that
the Universities give away their Intellectual Property, but
that they make it available under different processes than
they do now. Remember 2 things: 1) we are talking only
about software and
2) software is an implementation of an idea or algorithm. Once an
algorithm is published, the implementation of the algorithm as
running code is less of an issue than the original research
leading up to the publication.
Back to Top
G4:
Does this require that certain coding standards are
met? Who ensures that the code is readable and not the result of
running it through an obfuscater?
Answer: I'm not sure that this is completely addressable.
I've had to read thru code that looked like it was run thru an
obfuscater that wasn't. Scientific coding is often very sloppy
and academics are notorious for not commenting code properly (said
the kettle). That said, language can be included in the Terms of
Acceptance of a grant that will require that the code is commented
appropriately. There will always be borderline cases and those
will have to be addressed by the funding agency. Over time, our
hope is that well-written, well-documented code will come to be
considered a formal publication and that code will obviously be
that which is further developed.
Back to Top
G5:
How do you handle support issues
under this petition? A lot of scientific software is poorly
written, has limited input validation, obscure compilation
requirements, etc. In practice this means that some form of
support is needed for successful use. Even if the authors disclaim
all warranties and publicly announce a "no support" policy, they
will occasionally receive requests for help, bug reports,
improvement suggestions, etc. It is human to respond to these, in
some cases spending hours or days tracking down someone else's
problem. In the end this consumes a lot of these public resources
which should be used to do new research. How should this be
handled?
Answer: There are a couple of ways in which this kind of
problem can be addressed. One is that you can offer support
contracts - support in return for $, or the hosting institution
might set up a small staff to specifically address this if it
licenses lots of software and has a lot of such problems. This is
allowed by ALL licenses. This approach takes up a considerable
money and effort to set up in the first place and if there are
only a few support requests coming, it obviously is not worth the
effort to address them in this way.
If the programming effort is ongoing, it's generally good to get
feedback, especially with bug reports, so any such requests are
sent to a listserv that includes all programming staff and users.
This is relatively cheap to set up, it often results in help
(there is a substantial amount of programmers pride involved), it
forms an archive of such help which can be searched by others, and
if the programmer is unavailable, it has been my experience (as
both a programmer side and a user) that others can suggest a patch
or a work-around. You can add also add a FAQ-o-matic or Wiki to
the support page with minimal effort.
These answers are only applicable if there is a substantial user
community. If you have only a single insistent user of a piece of
old software written by a grad student years ago, which no one
wants to support, then you will have to rely on the "NO WARRANTY"
terms of the distribution and the user has the choice of paying a
programmer to put it right or looking for another piece of
software.
Back to Top
G6:
If it succeeds, who will oversee that the requirements
are met? Who will ensure that groups so funded do in fact make
their source code available?
Answer: This is currently addressed in many of the Terms of
Acceptance of grant specifications. Investigators must formally
report their results to the funding agency on a periodic basis
and/or termination of the funding. The availability of the code
would be another condition of funding. Those groups that don't
comply will face sanction. (also see below)
Back to Top
G7:
Why not require something like a Government
'SourceForge' an 'active repository' of publicly funded codes?
Answer: I personally think this is a pretty good idea, but it
also places more administrative costs on the funding agencies.
Why not simply use the existing SourceForge, possibly requiring a
VERY small cut of the grant to go to the SourceForge maintainers
as a way of defraying expenses?
Back to Top
G8:
What if my research currently is based on or depends
on Proprietary software which cannot be made Open Source?
Answer: If this is the case, the Funding agency cannot request
that you do so, but it might require that you investigate
Open Source alternatives that provide similar functionality.
The granting agency COULD require that you release YOUR code
as Open Source and investigators wanting to use it would
have to obtain the proprietary code themselves, as some
research code is distributed currently. In the end, it will
be a tradeoff and I assume that Funding agencies will not be
unreasonable in granting such exceptions. Eventually, I
would expect that such exceptions would become rarer.
Back to Top
G9:
Will such software be OSS in perpetuity or will it
'lapse' to Public Domain in X years? Define and justify X.
Answer: Currently without answer
Back to Top
Criticism of the Petition
C1:
Why do some researchers oppose this petition?
Answer: There have been several objections to this petition by
people who are in the position to be impacted by it.
-
Phil Green (Washington University) has indicated that while
he thinks all research results should be open, he objects to
software being specifically singled out because of the perception
that when things are freely available, they are deemed to be
valued less. You can read the
entire thread
of the discussion with him.
-
Steve Brenner (UC Berkeley) has objected to the REQUIREMENT
that the code be made available as Open Source, indicating that
his feeling is that investigators should have the option to do
so and come to an amicable agreement with their home institution
and funding agencies. He also supports the dual licensing
approach. Here we have no problem with this except if the grant
was performed with public funds, the public has a right to be
able to use the results of that funding. If the funding was
private, then the funding agency has the right to insist on
whatever they consider correct. His comments are on
Slashdot.
-
This point of view has also been echoed by Nat Goodman, a columnist
with Genome Technology, who although signing the petition,
recently wrote (Genome Technology 16 Dec, 2001) that he was
'saddened by the coercive thrust of the Open Informatics
petition.'
-
Andrew Dalke, playing devil's advocate, brought up a number
of points in a long
discussion
on the O'Reilly Bioinformatics mailing list during
Nov. and Dec., 2001.
He believes that requiring open source can hinder
scientific development. He would rather have the funding sources
encourage open source but not mandate it. He points out that the
traditional definition of "open source" does not require
distribution nor does it prohibit charging for the code, meaning
the backers of this petition want more than open source. He
thinks there hasn't been enough experience or even discussion to
justify those additional requirements. He shows how it's possible
to construct an open source license which makes it difficult to
use the code in scientific research.
-
While there has been no official statement on this from any
of the federal funding agencies, many have unofficially been
enthusiastic about making more more research software Open
Source.
Back to Top
C2:
What are some of the downsides of this petition if it
succeeds?
Answer: We believe that it has few downsides, but others have
forwarded the following scenarios that they believe could be
possible. Some of these are addressed in related FAQs below but
here they are:
-
it will decrease the heterogeneity and quality of research by
preventing researchers from taking advantage of more advanced
proprietary software or databases. Since proprietary code is
often better maintained and readable, requiring OSS is a serious
detriment to good research.
-
relatedly, it will harm those doing current research with
proprietary software (see below).
-
source code is not required to validate an algorithm or
computational approach as long as it is well-described in a
publication and therefore may in fact decrease the quality of
publication and research.
-
even if source code is made available, there is so much
variability in hardware, compilers, libraries and
non-deterministic variables (especially in network operations)
that source code will not help that much anyway.
-
much of academic source code is so poorly written that it's
not worth looking at anyway. It's easier to write from
scratch.
-
much current academic software is a conglomeration of bits
from so many sources that it would be impossible to unravel the
ownership and enforce distribution under a particular
license.
-
seeing the source code will 'taint' researchers and decrease
innovation by encouraging tunnel vision. 'The way that was is
the only way.' Also, easy access to source code will lead to
lawsuits over re-implementations (at what point does
re-implementation/reverse engineering meld with copyright
infringement?)
-
making source code available without redistribution rights
(you can view, modify, and use the source code but you can't
redistribute the source code), addresses all valid concerns.
Why go further?
-
the definition of public funding is fuzzy. Who decides what
proportion of public funding triggers your requirement?
-
if your petition succeeds, who will verify that recipients
are complying with its requirements? And how? A law without
teeth hardly better than no law at all.
-
even supposedly OSS can come with such silly or onerous
requirements that it effectively ceases to be Open Source
(required notifications, pages of required header comments or
attribution, etc).
-
why Open Source? Why not require release of such software
into the Public Domain such as many government agencies already
do?
-
changing the 'funding ecology' this drastically will hurt
science. We should take more time and smaller steps.
-
the government already has too much influence on our lives;
this is yet another potentially intrusive and onerous
requirement to do research.
Back to Top
OpenInformatics.org Questions
O1:
How can I add resources to the site?
Answer: If you have an Open Source resource, or a resource
that's useful for developers of Open Source software (such as a
WWW site or an article), then you can add it to the
list of resources
You must first
register as a user
If you've already signed the petition, you are already
registered.
Back to Top
|
|
News Release
|
|
|
Jan 15 - Slashdot
notices
the O'Reilly articles.
|
|
|
Jan 14 - O'Reilly publishes a point counter-point
article
about the petition.
|
|
|
Dec 30 - The
FAQ
is now online.
|
|
|
Nov & Dec - The
O'Reilly Bioinformatics list
notices the petition.
|
|
|
Nov 25 -
Slashdot
notices the AP article.
|
|
|
Nov 24 - The AP writes
an article
about the petition.
|
|
|
Nov 1 - Our
OSS article
is accepted for publication.
|
|
|
Oct 5 -
Science
covers the petition.
|
|
|
Sep 24 - The OSS petition is now open for
signatures
|
|
|
Jun 27 - Our
OSS article
has been submitted to Briefings in Bioinformatics.
|
|
|