Contribute to OpenDP

Contribute

The OpenDP project welcomes contributions and suggestions, including:

  • Development (see below), ranging from creating sample notebooks and working on the core library to integrating with data repositories and participating in initiatives such as federated learning.
  • Working Groups (forthcoming), participating in or forming groups focused on topics from differential privacy algorithm development and disciplinary use cases to public policy.
  • Education (forthcoming), promoting understanding of differential privacy to a wide variety of audiences, including students and professionals in technical, legal, and public policy domains.
  • Partner with the OpenDP project to build system solutions with differential privacy.  Please contact us.
  • Support the OpenDP project by giving to the OpenDP fund. Please contact us.

Please continue reading to learn more and feel free to reach out with any questions. Also make sure to read and respect our community’s Code of Conduct

 

Development

OpenDP development consists of several GitHub repositories. Please use the links below for bug reports, feature requests, install issues or to suggest ideas.

If you plan to contribute new features, please discuss the feature with us by using one of the links below or sending us an email. (We may be working on that feature already, or taking a different approach.)

SmartNoise Core - Implemented in Rust, the Core is a pluggable open source library of differentially private algorithms and mechanisms for releasing privacy preserving queries and statistics, as well as APIs for defining an analysis and a validator for evaluating these analyses and composing the total privacy loss on a dataset.

 

SmartNoise Core Python Bindings - Directly used by developers and data scientists alike, the Python bindings are available as a Python package ( PyPI ) or installable via GitHub, this library provides easy to use Python bindings to make use of SmartNoise Core and the underlying, memory-safe Rust components.

 

SmartNoise SDK - Also available as a Python package , the SmartNoise SDK builds upon the SmartNoise Core Python Bindings , adding functionality including the ability use SQL dialect to create differentially private results over tabular data stores; host a service to compose queries from heterogeneous differential privacy modules (including non-SQL) against shared privacy budget; and perform privacy algorithm stochastic testing against differential privacy modules.

 

Sample Notebooks - This repository contains sample notebooks showing the SmartNoise Core Python Bindings and SmartNoise SDK in action.