Software Licensing Process
[draft]
I Abstract
Participants in the NHIN Direct project seek to collaboratively author reference software implementations of the NHIN Direct specifications, so as to serve the needs of the pilot projects, and to accelerate adoption in the Health IT marketplace. Participants to date have been contributing content, ideas, and specifications under a Creative Commons Attribution-only license, and the software policy should emulate that. To serve these needs, the authorship and provenance of the software must be unambiguous, and the claims credible and dependable. All authors retain original copyright to their contributions, but agree to license it publicly in the following way.
II License on Original Work
1. Software built from scratch by this community shall be licensed under "The BSD License", as defined at the following link:
[1]
That page provides a license template to insert the owner, organization, and year of publication. The <OWNER> shall be the individual names of the authors except as noted below. The <ORGANIZATION> content shall be "the NHIN Direct Project (nhindirect.org)."
This license text MUST be placed in a LICENSE file at any "top level directory", the directory that serves as the top directory for any distribution of the software, so that new developers see it first. It should also be applied to every individual text file of original authorship in the code tree, so that excerpts retain that notice. This license should also be noted in the install-time interface or documentation of any distribution of this software.
2. This BSD license is the totality of the legal agreement between contributors and the public; no other terms or grants may be expressed or implied. By releasing code to the project under this license, a contributor is warranting that all related intellectual property rights held by that contributor necessary to exercise the rights granted in the license (including patent and trademark) are also granted.
3. When making a modification of an existing body of code within the NHIN Direct project software repositories (see below), and thus creating a derivative work, the license statement shall be modified to incorporate notice of additional contributors. As a convenience, when the number of authors grows to more than three, the "Owner" be changed to the fictitious "NHIN Direct Project" title, with individual contributors listed below the license in the files in which their contributions appear. This modification to the license should be made concurrent to making a change.
4. The source code repository history shall serve as the history of record for determining authorship and provenance. Committers attest to the provenance of the code they commit; unless otherwise noted, it is a work of personal authorship for which all necessary rights have been obtained.
5. A file named AUTHORS shall be maintained at the same "top level directory" as the LICENSE file; in that file shall be each username as known to the source code repository history, a full email address for further contact, kept up to date.
6. Code may be committed by a developer on behalf of a second developer (for example, when the second developer does not have commit rights to the source code repository). In a case where such contributions are non-trivial (e.g., more than 10 lines of source code), the committing developer shall ensure the appropriate license statement and AUTHORS file contains the name and contact of the second developer.
III Incorporating Third-Party Code
1. Third-party code may be incorporated into an NHIN Direct project directly if it is also licensed under the same terms, or terms that place no extra restrictions or requirements upon downstream users than the terms already in place. All original copyright statements on third-party code must be preserved. If that third-party code is modified, then the original copyright file shall be put to the side and described as applying to the original import of code, and a new copyright file following the above standard license shall be put in its place, noting the original author of the third-party code as a contributor to the new combined work. Also, a mention of that third party code, and its original license, shall be added to a file named NOTICE, also maintained (like AUTHORS and LICENSE) in the top level directory of a code tree.
2. Third-party code of any license may also be incorporated by reference into an NHIN Direct project, and included in a distribution of the NHIN Direct software, so as simplify the installation and deployment of NHIN Direct-based solutions. It is acceptable to require that this third-party software be present during development and build of the NHIN Direct software. Whenever possible, dependencies should be made optionable, so that developers and distributors can select from different approaches to meeting those dependencies. When unavoidable, those dependencies should be available with as few additional licensing terms as possible.
IV Project Software Repositories
1. The NHIN Direct project shall designate one or more software source code repositories as official NHIN Direct repositories. For the purposes of this project, a "nhin-d" project shall be created at code.google.com, to act as the top-level project for all efforts. Sub-system efforts may spin out, such as the "nhin-d-agent" project already begun during the earlier concrete implementation research phase.