Close

Software Heritage API: Terms of use

Preamble

The core mission of Software Heritage is to collect, preserve and share all software that is publicly available in source code form. Our ambition is to build a long term common infrastructure, to support a variety of applications in the area of cultural heritage, industry and research. For this reason, Software Heritage is established as a non-profit initiative, preserving our software commons for the benefit of all.

Therefore, the following terms of use for accessing the archive contents through the public API is designed to be sufficiently permissive to comply with the approach and sense of our mission. The few usage restrictions are aimed at ensuring proper operation of the core infrastructure, and safeguarding from abusive behaviour the people that through their work and dedication created the very software commons we are preserving.

More precisely, usage restrictions are justified by:

  1. technical reasons

      The Software Heritage archive is a very big data set, comprising billions of individual files and tens of billions of relationships. The public API we provide is specifically designed to allow pointwise access to the data, and is not suitable for massive data extraction. Hence, if you need to obtain a significant subset of the archive data, please refrain from abusing the API, and contact us to explore alternative solutions.

  1. ethical and legal reasons, involving in particular the protection of personal data

     The Software Heritage archive collects publicly available source code, and its development history, from a variety of public sources. Any personal information that may be contained in the source code or in the development history, will hence be collected in the archive. The content of the archive being publicly accessible, you may get personal information from the archive too. We explicitly ask you to refrain from misusing any such personal information. Mass mailing software developers is a well known example of misuse that is clearly unacceptable, but there may be many other ones. We may update these terms to explicitly forbid some of these misuses, but you should not consider that whatever is not explicitly forbidden is implicitly blessed: as a rule of thumb, if you have in mind a particular use of personal information which would bother you as a developer, that is a good indicator that you should abandon the idea there and then.

The precise terms and conditions follow. If you are entering this agreement on behalf of a company or other legal entity, you represent that you have the authority to bind such entity to the following terms and conditions. If you do not have such authority or if you do not agree with the following terms and conditions, you are not entitled to use the Software Heritage API

1. Definitions

1.1 API

The Software Heritage’s Application Programming Interface, called simply “API” in the following, is the set of methods and protocols that allow to access the Archive and browse its content.

1.2 Archive

The Software Heritage archive, referred to simply as “Archive” in the following, contains all the source code collected by Software Heritage, as well as all related information collected or produced by Software Heritage, like revisions, releases, file contents and project metadata, as well as additional factual information that may include license information.

2. Accessing the archive

If you respect all the terms of the present agreement, you are granted free use of the public API to access the contents of the Archive, either directly, or through a program, with the following provisions.

2.1 No massive data extraction

Use of the public API to extract significant parts of the contents of the Archive is not authorized. If you need access to significant part of the Archive, please contact us to explore alternative ways to achieve your goals.

2.2 Quota and other technical limitations

Software Heritage may put in place at any time access quotas or other technical limitations on the API to ensure that the load on the infrastructure is acceptable and that available resources are fairly shared among the users of the API. Any attempt to circumvent these quotas or other limitations is considered a breach of these terms of use, and you may be permanently banned from accessing the API as a consequence. If you need higher throughput, please consider establishing a Software Heritage mirror.

3. Using the content of the archive

3.1 Personal data

Software in the Archive may contain personal information such as, but not limited to, developer names and email addresses.

Any systematic use of third party personal information that would cause unjustified prejudice to the very people that built the software commons that are preserved by the Archive is forbidden and will be considered a breach of this agreement. This includes, but is not limited to:

  • use of the information in a way that would violate people’s privacy or security, or to transmit and send any unsolicited requests, be them commercial material or not (or any other similar solicitation)

  • building developer profiles to be used without the developer’s consent

In addition, use of personal information may be subject to legal regulations that apply to you, independently of how you assembled it, and you are solely responsible of any violations that may result from your use of the information that you got from the Archive.

3.2 Metadata

The Archive contains a variety of metadata related to the source code, like provenance information and harvesting time, or computed information like file type, file length and programming language. This information may be returned as part of the results of a request through the API. Such metadata is considered factual, not covered by copyright, and may be freely used, as long as you comply with article 3.1 of the present terms and conditions.

3.3 No endorsement

You may not publicly represent or imply that we participated in, supported, or approved the way you use the content of the Archive, in particular when such a use is unlawful.

4. Rights and regulations

4.1 Third party’s rights

We do not expressly or tacitly warrant that use of the API does not infringe any third party’s intellectual property rights and we disclaim any and all liability.

4.2 Software licenses

All software components present in the Archive may be covered by copyright, or other rights like patents or trademarks. Software Heritage may provide automatically derived information on the software license(s) that may apply to a given software component, but it makes no claim of correctness and the license information provided does not constitute legal advice. You are solely responsible for determining the license, or other rights that apply to any software component in the Archive, and you must abide by its terms.

4.3 Take down notices

Software Heritage collects publicly available source code, and its development history, from a variety of public sources. In accordance with applicable French Law on confidence in the digital economy (LCEN), dated June 21st, 2004, Software Heritage shall not be held liable for information stored illegally in the Archive if it was not aware of the illegal nature thereof or if, upon being aware thereof, it promptly withdrew such information or prohibited access such information. In order to request the removal of a content from the Software Heritage archive, you must follow the procedure detailed in the legal section of the Software Heritage website.

5. No warranty, liability or damages

We disclaim to the full extent authorized by applicable law all warranty of any kind, express or implied, on the use of the API. In particular, we attract your attention to the following points.

5.1 Quality of service

The Software Heritage API and its corresponding services are provided “as is” and “as available”.

Software Heritage reserves the right, including but not limited to corrective, evolutionary or maintenance reasons, to temporarily suspend access to the Software Heritage API or any part thereof.

We will do our best efforts to keep the service and the API up and running, but we do not commit to any specified level of service. Integrating the Software Heritage public API in an application or a process is at your own risk, and you will solely responsible for any damages resulting from the use of the API.

If you need a service level agreement, please contact us to explore the possible options.

5.2 Fitness for purpose

We do not give any warranty that the API and the corresponding services are fit for any particular purpose.

5.3 Accuracy

We are making our best efforts to ensure that the contents stored in the Archive, be them source code or any kind of additional data or metadata, are preserved for the long term, traceable, and faithful.

However, should such information be incomplete or inaccurate, we shall not be held liable for it.

6. Material used to produce the service

6.1 Licenses

All software developed specifically by Software Heritage to provide the services accessible via our API is Free and Open Source Software. You can access the source code and contribute to their development through our public development forge.

6.2 Third parties

In order to prevent information loss and make sharing easier, Software Heritage will progressively build a distributed infrastructure in collaboration with its partners and sponsors. Hence, you may access the services offered by the Software Heritage API through infrastructures belonging to and/or operated by third parties, which may specify additional restrictions, and you should refer to their own terms of use in such cases.

7. Breach terms of use

In the event of a breach of the terms and conditions stated herein, the present agreement will be terminated automatically. You shall no longer be authorized to use the API.

You may continue to use the material you downloaded from the Archive before the agreement’s termination, under the terms of each software component own license, provided you abide to the obligations set forth in Sections 3, 4 and 5 of these terms of use.

8. Applicable law / jurisdiction

The present terms and conditions shall be governed by the laws of the French Republic and interpreted accordingly. Any dispute relating to the application, interpretation, or termination of these terms and conditions shall be exclusively settled by the French courts.

9. Miscellaneous

We reserve the right, at our sole discretion, to amend these terms and conditions at any time and to change the characteristics (including technical characteristics) of the tools provided on the API at any time. We will notify these changes by posting a notice on our Website.

Terms and conditions may be assigned by us and will be binding upon and benefit to our assignee.

Any provision of the terms and conditions that may be declared invalid or illegal by a competent judge shall be without effect, but its invalidity shall not affect other provisions of the terms and conditions or affect the validity of the terms and conditions as a whole or in its legal effects.

If you have any question concerning the present terms and conditions, please contact legal@softwareheritage.org