diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index f3be0402d..3f2e82ea2 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -55,3 +55,7 @@ We have tests to prevent regressions and validate functionality. For all new Pul - Tests only need to be present for issues that need to be verified by QA (for example, not tasks) - If there is a scenario that is far too hard to test there does not need to be a test for it. - "Too hard" is determined by the team as a whole, and should be considered extremely rare. + +## Governance + +This project is actively maintained and managed by Microsoft, with a primary goal of supporting the Windows OS. Therefore, Microsoft reserves the right to the final say in all decisions to ensure the success of this goal. diff --git a/README.md b/README.md index 6bd51599a..a76374f01 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,14 @@ MsQuic ====== MsQuic is a Microsoft implementation of the [IETF QUIC](https://datatracker.ietf.org/wg/quic/about/) -protocol. It is cross platform, written in C and designed to be a general purpose QUIC library. +protocol. It is cross-platform, written in C and designed to be a general purpose QUIC library. -IETF Drafts: [Transport](https://tools.ietf.org/html/draft-ietf-quic-transport), [TLS](https://tools.ietf.org/html/draft-ietf-quic-tls), [Recovery](https://tools.ietf.org/html/draft-ietf-quic-recovery), [Datagram](https://tools.ietf.org/html/draft-ietf-quic-datagram), [Load Balancing](https://tools.ietf.org/html/draft-ietf-quic-load-balancers), [Version Negotiation](https://tools.ietf.org/html/draft-ietf-quic-version-negotiation) - -[![Build Status](https://dev.azure.com/ms/msquic/_apis/build/status/CI?branchName=main)](https://dev.azure.com/ms/msquic/_build/latest?definitionId=347&branchName=main) [![Test Status](https://img.shields.io/azure-devops/tests/ms/msquic/347/main)](https://dev.azure.com/ms/msquic/_build/latest?definitionId=347&branchName=main) [![Perf Dashboard](https://img.shields.io/static/v1?label=Performance&message=Dashboard&color=blueviolet)](https://microsoft.github.io/msquic/) [![Code Coverage](https://img.shields.io/azure-devops/coverage/ms/msquic/347/main)](https://dev.azure.com/ms/msquic/_build/latest?definitionId=347&branchName=main) ![CodeQL](https://github.com/microsoft/msquic/workflows/CodeQL/badge.svg?branch=main) [![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/microsoft/msquic.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/microsoft/msquic/context:cpp) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4846/badge)](https://bestpractices.coreinfrastructure.org/projects/4846) [![Discord](https://img.shields.io/discord/827744285595271168?label=Discord&logo=discord&logoColor=white&color=7289DA)](https://discord.gg/YGAtCwTSsc) +[![Perf Dashboard](https://img.shields.io/static/v1?label=Performance&message=Dashboard&color=blue)](https://microsoft.github.io/msquic/) [![Test Status](https://img.shields.io/azure-devops/tests/ms/msquic/347/main)](https://dev.azure.com/ms/msquic/_build/latest?definitionId=347&branchName=main) [![Code Coverage](https://img.shields.io/azure-devops/coverage/ms/msquic/347/main)](https://dev.azure.com/ms/msquic/_build/latest?definitionId=347&branchName=main) ![CodeQL](https://github.com/microsoft/msquic/workflows/CodeQL/badge.svg?branch=main) [![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/microsoft/msquic.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/microsoft/msquic/context:cpp) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4846/badge)](https://bestpractices.coreinfrastructure.org/projects/4846) [![Discord](https://img.shields.io/discord/827744285595271168?label=Discord&logo=discord&logoColor=white&color=7289DA)](https://discord.gg/YGAtCwTSsc) ## Protocol Features +**RFC**: [9000](https://datatracker.ietf.org/doc/html/rfc9000), [9001](https://datatracker.ietf.org/doc/html/rfc9001), [9002](https://datatracker.ietf.org/doc/html/rfc9002) **Draft**: [Datagram](https://tools.ietf.org/html/draft-ietf-quic-datagram), [Version Negotiation](https://tools.ietf.org/html/draft-ietf-quic-version-negotiation), [Load Balancing](https://tools.ietf.org/html/draft-ietf-quic-load-balancers) + QUIC has many benefits when compared to existing "TLS over TCP" scenarios: * All packets are encrypted and handshake is authenticated with TLS 1.3. @@ -32,7 +32,6 @@ MsQuic has several features that differentiates it from other QUIC implementatio # Documentation - * For frequently asked questions, see the [FAQs](./docs/FAQ.md). * For platform support details, see the [Platforms docs](./docs/Platforms.md). * For release details, see the [Release docs](./docs/Release.md). * For performance data, see the [Performance dashboard](https://aka.ms/msquicperformance). @@ -41,6 +40,7 @@ MsQuic has several features that differentiates it from other QUIC implementatio * For using the MsQuic API, see the [API docs](./docs/API.md) or the [Sample](./src/tools/sample/sample.cpp). * For deploying with MsQuic, see the [Deployment docs](./docs/Deployment.md). * For diagnosing MsQuic, see the [Diagnostics docs](./docs/Diagnostics.md) and the [Trouble Shooting Guide](./docs/TSG.md). + * For other frequently asked questions, see the [FAQs](./docs/FAQ.md). # Contributing diff --git a/docs/FAQ.md b/docs/FAQ.md index ee8ccf19d..608478a35 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -6,7 +6,7 @@ At this time there is no plan to open source the rest of Windows. > When is this shipping with Windows? -The kernel mode version, msquic.sys, will ship in future Windows releases. For more details see our [support and release documentation](Release.md). +The kernel mode version, msquic.sys, ships in Windows. For more details see our [support and release documentation](Release.md). > Why isn’t there an HTTP/3 implementation along with MsQuic? @@ -14,19 +14,11 @@ MsQuic is designed as a generic QUIC transport for any application protocol. Sev > Do you plan to support other platforms? -MsQuic currently supports Windows and Linux. In the future support for other platforms may be added. +MsQuic currently supports Windows, Linux and macOS. In the future support for other platforms may be added. > Isn’t QUIC a Google product? -QUIC was started by Google, but then was picked up by the IETF to be standardized (see [here](https://datatracker.ietf.org/wg/quic/about/)). MsQuic is an implementation of that upcoming standard. - -> When is the standard going to be finalized? - -The final date depends on the IETF process but the Internet-Drafts have already started to stabilize. We are already experimenting with using MsQuic in our internal services and we will continue updating MsQuic as the standard evolves. - -> Do you have any performance data? - -You can find more data on MsQuic performance [here](https://github.com/microsoft/msquic/wiki/Performance). +QUIC was started by Google, but then was picked up by the IETF to be standardized (see [here](https://datatracker.ietf.org/wg/quic/about/)). MsQuic is an implementation of that standard. > Does this mean Microsoft will stop investing in TCP?