opendp / opendp

The core library of differential privacy algorithms powering the OpenDP Project.
https://opendp.org
MIT License
321 stars 49 forks source link

Explain why you should choose OpenDP #998

Closed mccalluc closed 6 months ago

mccalluc commented 10 months ago

There are multiple DP libraries out there. Near the top of the docs we should have a short argument for why someone should pick OpenDP, perhaps bullet points or a feature matrix. (And if other libraries do something well, acknowledge that, too! Having a presentation that is balanced can help people feel more confident that they've done their research.)

Some possible points:

On the other side:

Should also compare with:

Please add to the list!

SalilVadhan commented 10 months ago

Backed by and (eventually) governed by the community (as opposed to a single company)


Salil Vadhan (he/they)

On Wed, Nov 15, 2023 at 6:23 AM Chuck McCallum @.***> wrote:

There are multiple DP libraries out there. Near the top of the docs we should have a short argument for why someone should pick OpenDP, perhaps bullet points or a feature matrix. (And if other libraries do something well, acknowledge that, too! Having a presentation that is balanced can help people feel more confident that they've done their research.)

Some possible points:

  • Under active development.
  • Multiple language bindings give you the same functionality in the language of your choice.
  • Rigorous development process (Rust backend, algorithm reviews) has produced a codebase that performs well in independent security audits (ie Group and Attack: Auditing Differential Privacy https://www.sri.inf.ethz.ch/publications/lokna2023groupandattack)
  • Broad API supports a range of DP mechanisms
  • (when Context API is out) Relatively easy to use

Please add to the list!

— Reply to this email directly, view it on GitHub https://github.com/opendp/opendp/issues/998, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB4KIGO63YNS6HTO5CR26UDYETF6HAVCNFSM6AAAAAA7MSL366VHI2DSMVQWIX3LMV43ASLTON2WKOZRHE4TIOBXHE3DOMA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

mccalluc commented 10 months ago

Before making the case for OpenDP, we should make the case for DP in general:

mccalluc commented 10 months ago

Work has been done in #1065, but that's going to live in a feature branch for a while before we merge to main and close this issue.

mccalluc commented 6 months ago

The new docs on main cover this:

Why OpenDP?

  • OpenDP is based on a solid conceptual framework for expressing privacy-aware computations.
  • OpenDP is built on a Rust core for memory and thread safety and performance.
  • OpenDP has a process for independent review of algorithms and implementations.
  • OpenDP has performed well in independent security audits.
  • OpenDP supports a range of differential privacy algorithms.
  • OpenDP has bindings for Python and R, both built on the same Rust core for consistency and security.
  • OpenDP is a community effort and is not owned or directed by a single corporation.

    That said, OpenDP is not the best tool for every job. In particular, it is a fairly low-level interface: There are a number of other projects which try to make it easy to add differential privacy to existing SQL interfaces or ML frameworks. One such tool is SmartNoise SDK, which is built on the OpenDP library.

Don't need to wait for release to close.