Adam Langley | 6a2c512 | 2015-09-02 17:04:22 -0700 | [diff] [blame] | 1 | # BoringSSL |
| 2 | |
| 3 | BoringSSL is a fork of OpenSSL that is designed to meet Google's needs. |
| 4 | |
| 5 | Although BoringSSL is an open source project, it is not intended for general |
| 6 | use, as OpenSSL is. We don't recommend that third parties depend upon it. Doing |
| 7 | so is likely to be frustrating because there are no guarantees of API or ABI |
| 8 | stability. |
| 9 | |
| 10 | Programs ship their own copies of BoringSSL when they use it and we update |
| 11 | everything as needed when deciding to make API changes. This allows us to |
| 12 | mostly avoid compromises in the name of compatibility. It works for us, but it |
| 13 | may not work for you. |
| 14 | |
| 15 | BoringSSL arose because Google used OpenSSL for many years in various ways and, |
| 16 | over time, built up a large number of patches that were maintained while |
| 17 | tracking upstream OpenSSL. As Google's product portfolio became more complex, |
| 18 | more copies of OpenSSL sprung up and the effort involved in maintaining all |
| 19 | these patches in multiple places was growing steadily. |
| 20 | |
| 21 | Currently BoringSSL is the SSL library in Chrome/Chromium, Android (but it's |
| 22 | not part of the NDK) and a number of other apps/programs. |
| 23 | |
David Benjamin | 57de2c3 | 2019-07-29 16:04:51 -0400 | [diff] [blame] | 24 | Project links: |
| 25 | |
| 26 | * [API documentation](https://commondatastorage.googleapis.com/chromium-boringssl-docs/headers.html) |
| 27 | * [Bug tracker](https://bugs.chromium.org/p/boringssl/issues/list) |
| 28 | * [CI](https://ci.chromium.org/p/boringssl/g/main/console) |
| 29 | * [Code review](https://boringssl-review.googlesource.com) |
| 30 | |
Adam Langley | 6a2c512 | 2015-09-02 17:04:22 -0700 | [diff] [blame] | 31 | There are other files in this directory which might be helpful: |
| 32 | |
Adam Langley | 7cb90e0 | 2022-12-08 18:09:32 +0000 | [diff] [blame] | 33 | * [PORTING.md](./PORTING.md): how to port OpenSSL-using code to BoringSSL. |
| 34 | * [BUILDING.md](./BUILDING.md): how to build BoringSSL |
| 35 | * [INCORPORATING.md](./INCORPORATING.md): how to incorporate BoringSSL into a project. |
| 36 | * [API-CONVENTIONS.md](./API-CONVENTIONS.md): general API conventions for BoringSSL consumers and developers. |
| 37 | * [STYLE.md](./STYLE.md): rules and guidelines for coding style. |
Adam Langley | 6a2c512 | 2015-09-02 17:04:22 -0700 | [diff] [blame] | 38 | * include/openssl: public headers with API documentation in comments. Also [available online](https://commondatastorage.googleapis.com/chromium-boringssl-docs/headers.html). |
Adam Langley | 7cb90e0 | 2022-12-08 18:09:32 +0000 | [diff] [blame] | 39 | * [FUZZING.md](./FUZZING.md): information about fuzzing BoringSSL. |
| 40 | * [CONTRIBUTING.md](./CONTRIBUTING.md): how to contribute to BoringSSL. |
| 41 | * [BREAKING-CHANGES.md](./BREAKING-CHANGES.md): notes on potentially-breaking changes. |
| 42 | * [SANDBOXING.md](./SANDBOXING.md): notes on using BoringSSL in a sandboxed environment. |