Policies/Uploading and Downloading from Eclipse Software Policy
This policy is concerned with Eclipse Foundation project code "calling home" or otherwise connecting from software distributed by the Eclipse Foundation to remote services.
This policy applies for software that:
- checks for updates;
- pulls information from websites;
- provides a heartbeat;
- gathers usage statistics;
- gathers data from a user's workstation; or
- otherwise collects information from user installations.
When it is clear from context that information will be sent and/or received, user initiated activity--for example, a user-initiated build downloads artifacts from Maven central, or a user-initiated file transfer sends a file to a remote server via SFTP--are acceptable without formal approval.
Processes that fetch data only (i.e. no data is sent from the user's workstation) from Eclipse Foundation servers--for example, pulling items from a news feed--are acceptable without formal approval. PMC approval is required for a project to implement a process that fetches data from a third-party source.
Processes that upload data--for example, a list of all currently installed bundles and/or JVM version, or usage patterns--require PMC and EMO(ED) approval. The default configuration for software produced by a project must target Eclipse Foundation-managed servers only for uploads. Exceptions to this rule can only be granted by the EMO(ED). Projects can (and should) implement extensible frameworks that permit adopters to upload data to different targets.
Any service that uploads data must be "opt-in". That is, a user must agree to participate (agreement may be implicit due to the nature of the service).
If the nature of the data being collected changes, the user must be informed of the changes and be given the opportunity to explicitly agree to continue participation.
The user must be able to review any data before it is uploaded.
Services that get/pull data only do not require "opt-in". The server components for these services must not attempt to persist any information related to a get/pull data service (server logs, with access restricted to administration staff only, are exempted from this requirement).
Raw data, which may include non-obvious potentially private information, must be transferred securely.
Raw data must be stored securely and access to the data needs to be strictly controlled. To access the raw data stored on an Eclipse Foundation Server, an individual must be a committer. Access to raw data that may include personally-identifiable information must sign a non-disclosure agreement (NDA) with The Eclipse Foundation.
Obvious means of identifying a specific individual or organization (e.g. IP address) must not be persisted. Server logs that are accessible only by Eclipse Foundation Webmasters are exempt.
Reasonable effort must be taken to avoid persisting or disseminating information that can inadvertently be used to identify an individual or organization.
The target for data collected by content distributed from an Eclipse Foundation-managed server must also be an Eclipse Foundation-managed server (e.g. the Eclipse packages must be configured to send data to an eclipse.org server). This can be configurable by adopters to send to an alternate server.
Information that may be used to identify individuals or organizations must not be made publicly available.
The retention policy for publicly accessible data must be documented.
Auditing and Approval
Documentation, including a full description of the nature of all information captured by a call-home service, must be publicly accessible.
The implementation of a service that uploads data must be reviewed and approved by the implementing project's Project Management Committee (PMC).
The implementation of a service that uploads potentially private data must be reviewed and approved by the EMO(ED).
Reasonable effort must be undertaken to leverage existing mechanisms rather than create new ones.