Faq

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

  1. I’m funded by a variety of grants, some public, some
    private. What is the percentage cutoff for the definition of ‘Public Funding’?

  2. 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

  1. Why even consider Open Source? And why is Open Source for Scientific applications any different than for anything
    else?

  2. 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?

  3. Why Open Source, why not Free Software?

  4. Doesn’t OSS/FS require me to give my code away for free?

  5. 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?)

  6. I’m currently using OSS for my project but the license under which it is distributed is incompatible with other (alsoacceptable) OSS licenses. How will this be resolved?


General Questions

  1. Does the Scientific method really require making the source code available? Aren’t there other ways to verify an algorithm or claim?

  2. 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?

  3. Doesn’t OSS/FS violate Bayh-Dole?

  4. 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?

  5. 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, i 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?

  6. 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?

  7. Why not require something like a Government ‘SourceForge’ an ‘active repository’ of publicly funded codes?

  8. What if my research currently is based on or depends on Proprietary software which cannot be made Open Source?

  9. 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

  1. Why do some researchers oppose this petition?

  2. What are some of the downsides of this petition if it
    succeeds?


OpenInformatics.org Questions

  1. 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 Glassor 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 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:

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 OpenSource.


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