From 0ae6064f35d0ad2920b3f6ccec65c59c93f92247 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Fri, 13 Jan 2023 15:01:40 -0500 Subject: [PATCH 1/4] Edit pass from the product team --- styleguide/3rdPartyDependencies.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/styleguide/3rdPartyDependencies.md b/styleguide/3rdPartyDependencies.md index 57a820758e51c..aecec1b947018 100644 --- a/styleguide/3rdPartyDependencies.md +++ b/styleguide/3rdPartyDependencies.md @@ -1,10 +1,12 @@ # Third-party dependencies -When code samples take dependencies, our goal is that readers can use the material without additional research. This requires restricting dependencies to licenses that are well established and understood for both open-source and commercial offerings. We categorize dependencies according to the licensing schemes here: +When code samples take dependencies, readers should be able to use the material without significant license burden or research on terms. This goal requires restricting dependencies to certain types of open source or commercial licenses. -- **Open-source** : Rely on the [Open Source Initiative (OSI)](https://opensource.org/) to provide definitions for us. Offerings must meet the [definition](https://opensource.org/osd) provided by OSI, including using an [OSI approved license](https://opensource.org/licenses). Any component whose license is not an OSI approved license is considered a commercial offering. Prefer OSS projects that are members of any of the [OSS foundations that Microsoft is part of](https://opensource.microsoft.com/ecosystem/). Prefer permissive licenses for libraries. GPL or similar licenses are allowed for tools, OSs, and similar components. -- **Commercial**: Samples may take dependencies on commercial offerings if readers can learn from our content without unnecessary additional costs. Typically, this means a community edition or free trial sufficient for its use in content is available. A commercial license scheme may be a form of dual license or tiered license. -- **Dual licensed**: Readers choose either of two licenses based on their needs. For example, if the offering has an OSS and commercial license, readers can choose between them. -- **Tiered licensed**: Readers are expected to use the license tier that corresponds to their characteristics. For example, tiers may be available for students, hobbyists, or companies with defined revenue thresholds. For offerings with tiered licenses, we strive to limit our use in tutorials to the features available in the lowest tier. This enables the widest audience for the article. [Visual Studio](https://visualstudio.com) and [IdentityServer](https://www.identityserver.com/) are examples of this license type used in dotnet docs. +Samples may take the following categories of dependencies: + +- **Open-source** : Open source offerings that use an [Open Source Initiative (OSI) approved license](https://opensource.org/licenses). Any component whose license isn't an OSI-approved is considered a commercial offering. Prefer OSS projects that are members of any of the [OSS foundations that Microsoft is part of](https://opensource.microsoft.com/ecosystem/). Prefer permissive licenses for libraries. GPL or similar licenses are acceptable for tools, OSs, and similar components. Kubernetes Linux and Newtonsoft.Json are examples of this license type. +- **Commercial**: Commercial offerings that enable readers to learn from our content without unnecessary extra costs. Typically, the offering has some form of a community edition, or a free trial sufficient for its use in content. A commercial license may be a form of dual-license, or tiered license. +- **Dual licensed**: Commercial offerings that enable readers to choose either license based on their needs. For example, if the offering has an OSS and commercial license, readers can choose between them. Oracle MySql is an example of this license type. +- **Tiered licensed**: Offerings that enable readers to use the license tier that corresponds to their characteristics. For example, tiers may be available for students, hobbyists, or companies with defined revenue thresholds. For offerings with tiered licenses, strive to limit our use in tutorials to the features available in the lowest tier. This policy enables the widest audience for the article. Docker, IdentityServer, ImageSharp, and Visual Studio are examples of this license type. In general, we prefer taking dependencies on licensed components in the order of the listed categories. In cases where the category may not be well known, we'll document the category so that readers understand the choice that they're making by using that dependency. From d1b73f69988b721a0483b2c43251c733e70e4297 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Fri, 13 Jan 2023 15:16:15 -0500 Subject: [PATCH 2/4] respond to feedback. --- styleguide/3rdPartyDependencies.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/styleguide/3rdPartyDependencies.md b/styleguide/3rdPartyDependencies.md index aecec1b947018..4dc44f10ba8cb 100644 --- a/styleguide/3rdPartyDependencies.md +++ b/styleguide/3rdPartyDependencies.md @@ -4,9 +4,9 @@ When code samples take dependencies, readers should be able to use the material Samples may take the following categories of dependencies: -- **Open-source** : Open source offerings that use an [Open Source Initiative (OSI) approved license](https://opensource.org/licenses). Any component whose license isn't an OSI-approved is considered a commercial offering. Prefer OSS projects that are members of any of the [OSS foundations that Microsoft is part of](https://opensource.microsoft.com/ecosystem/). Prefer permissive licenses for libraries. GPL or similar licenses are acceptable for tools, OSs, and similar components. Kubernetes Linux and Newtonsoft.Json are examples of this license type. +- **Open-source** : Open source offerings that use an [Open Source Initiative (OSI) approved license](https://opensource.org/licenses). Any component whose license isn't an OSI-approved is considered a commercial offering. Prefer OSS projects that are members of any of the [OSS foundations that Microsoft is part of](https://opensource.microsoft.com/ecosystem/). Prefer permissive licenses for libraries. GPL or similar licenses are acceptable for tools, OSs, and similar components. Kubernetes, Linux, and Newtonsoft.Json are examples of this license type. - **Commercial**: Commercial offerings that enable readers to learn from our content without unnecessary extra costs. Typically, the offering has some form of a community edition, or a free trial sufficient for its use in content. A commercial license may be a form of dual-license, or tiered license. - **Dual licensed**: Commercial offerings that enable readers to choose either license based on their needs. For example, if the offering has an OSS and commercial license, readers can choose between them. Oracle MySql is an example of this license type. -- **Tiered licensed**: Offerings that enable readers to use the license tier that corresponds to their characteristics. For example, tiers may be available for students, hobbyists, or companies with defined revenue thresholds. For offerings with tiered licenses, strive to limit our use in tutorials to the features available in the lowest tier. This policy enables the widest audience for the article. Docker, IdentityServer, ImageSharp, and Visual Studio are examples of this license type. +- **Tiered licensed**: Offerings that enable readers to use the license tier that corresponds to their characteristics. For example, tiers may be available for students, hobbyists, or companies with defined revenue thresholds. For offerings with tiered licenses, strive to limit our use in tutorials to the features available in the lowest tier. This policy enables the widest audience for the article. [Docker](https://www.docker.com/), [IdentityServer](https://www.identityserver.com/), [ImageSharp](https://sixlabors.com/products/imagesharp/), and [Visual Studio](https://visualstudio.com) are examples of this license type. In general, we prefer taking dependencies on licensed components in the order of the listed categories. In cases where the category may not be well known, we'll document the category so that readers understand the choice that they're making by using that dependency. From 5da2295a10cb5f6f186c6f9f38b759806ae32cb8 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Fri, 13 Jan 2023 16:16:33 -0500 Subject: [PATCH 3/4] Apply suggestions from code review Co-authored-by: Rich Lander --- styleguide/3rdPartyDependencies.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/styleguide/3rdPartyDependencies.md b/styleguide/3rdPartyDependencies.md index 4dc44f10ba8cb..072470ec44df5 100644 --- a/styleguide/3rdPartyDependencies.md +++ b/styleguide/3rdPartyDependencies.md @@ -4,9 +4,9 @@ When code samples take dependencies, readers should be able to use the material Samples may take the following categories of dependencies: -- **Open-source** : Open source offerings that use an [Open Source Initiative (OSI) approved license](https://opensource.org/licenses). Any component whose license isn't an OSI-approved is considered a commercial offering. Prefer OSS projects that are members of any of the [OSS foundations that Microsoft is part of](https://opensource.microsoft.com/ecosystem/). Prefer permissive licenses for libraries. GPL or similar licenses are acceptable for tools, OSs, and similar components. Kubernetes, Linux, and Newtonsoft.Json are examples of this license type. +- **Open-source** : Open source offerings that use an [Open Source Initiative (OSI) approved license](https://opensource.org/licenses). Any component whose license isn't an OSI-approved is considered a commercial offering. Prefer OSS projects that are members of any of the [OSS foundations that Microsoft is part of](https://opensource.microsoft.com/ecosystem/). Prefer permissive licenses for libraries, like [MIT](https://opensource.org/licenses/MIT) and [Apache 2](https://opensource.org/licenses/Apache-2.0). Copy-left licenses like [GPL](https://opensource.org/licenses/gpl-license) are acceptable for tools, and OSes. [Kubernetes](https://github.com/kubernetes/kubernetes), [Linux](https://github.com/torvalds/linux), and [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) are examples of this license type. - **Commercial**: Commercial offerings that enable readers to learn from our content without unnecessary extra costs. Typically, the offering has some form of a community edition, or a free trial sufficient for its use in content. A commercial license may be a form of dual-license, or tiered license. -- **Dual licensed**: Commercial offerings that enable readers to choose either license based on their needs. For example, if the offering has an OSS and commercial license, readers can choose between them. Oracle MySql is an example of this license type. +- **Dual licensed**: Commercial offerings that enable readers to choose either license based on their needs. For example, if the offering has an OSS and commercial license, readers can choose between them. [MySql](https://github.com/mysql/mysql-server) is an example of this license type. - **Tiered licensed**: Offerings that enable readers to use the license tier that corresponds to their characteristics. For example, tiers may be available for students, hobbyists, or companies with defined revenue thresholds. For offerings with tiered licenses, strive to limit our use in tutorials to the features available in the lowest tier. This policy enables the widest audience for the article. [Docker](https://www.docker.com/), [IdentityServer](https://www.identityserver.com/), [ImageSharp](https://sixlabors.com/products/imagesharp/), and [Visual Studio](https://visualstudio.com) are examples of this license type. In general, we prefer taking dependencies on licensed components in the order of the listed categories. In cases where the category may not be well known, we'll document the category so that readers understand the choice that they're making by using that dependency. From d92c3a543f60c9831af12c7f2771339a8b25b72b Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Fri, 13 Jan 2023 16:20:13 -0500 Subject: [PATCH 4/4] OSes => OSs --- styleguide/3rdPartyDependencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/styleguide/3rdPartyDependencies.md b/styleguide/3rdPartyDependencies.md index 072470ec44df5..d431df29c0c87 100644 --- a/styleguide/3rdPartyDependencies.md +++ b/styleguide/3rdPartyDependencies.md @@ -4,7 +4,7 @@ When code samples take dependencies, readers should be able to use the material Samples may take the following categories of dependencies: -- **Open-source** : Open source offerings that use an [Open Source Initiative (OSI) approved license](https://opensource.org/licenses). Any component whose license isn't an OSI-approved is considered a commercial offering. Prefer OSS projects that are members of any of the [OSS foundations that Microsoft is part of](https://opensource.microsoft.com/ecosystem/). Prefer permissive licenses for libraries, like [MIT](https://opensource.org/licenses/MIT) and [Apache 2](https://opensource.org/licenses/Apache-2.0). Copy-left licenses like [GPL](https://opensource.org/licenses/gpl-license) are acceptable for tools, and OSes. [Kubernetes](https://github.com/kubernetes/kubernetes), [Linux](https://github.com/torvalds/linux), and [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) are examples of this license type. +- **Open-source** : Open source offerings that use an [Open Source Initiative (OSI) approved license](https://opensource.org/licenses). Any component whose license isn't an OSI-approved is considered a commercial offering. Prefer OSS projects that are members of any of the [OSS foundations that Microsoft is part of](https://opensource.microsoft.com/ecosystem/). Prefer permissive licenses for libraries, like [MIT](https://opensource.org/licenses/MIT) and [Apache 2](https://opensource.org/licenses/Apache-2.0). Copy-left licenses like [GPL](https://opensource.org/licenses/gpl-license) are acceptable for tools, and OSs. [Kubernetes](https://github.com/kubernetes/kubernetes), [Linux](https://github.com/torvalds/linux), and [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) are examples of this license type. - **Commercial**: Commercial offerings that enable readers to learn from our content without unnecessary extra costs. Typically, the offering has some form of a community edition, or a free trial sufficient for its use in content. A commercial license may be a form of dual-license, or tiered license. - **Dual licensed**: Commercial offerings that enable readers to choose either license based on their needs. For example, if the offering has an OSS and commercial license, readers can choose between them. [MySql](https://github.com/mysql/mysql-server) is an example of this license type. - **Tiered licensed**: Offerings that enable readers to use the license tier that corresponds to their characteristics. For example, tiers may be available for students, hobbyists, or companies with defined revenue thresholds. For offerings with tiered licenses, strive to limit our use in tutorials to the features available in the lowest tier. This policy enables the widest audience for the article. [Docker](https://www.docker.com/), [IdentityServer](https://www.identityserver.com/), [ImageSharp](https://sixlabors.com/products/imagesharp/), and [Visual Studio](https://visualstudio.com) are examples of this license type.