Which projects do you pay?
You only pay Maintenance Fees for the projects that are direct dependencies. So the first step is to catalog your direct dependencies. To be clear, you do NOT include transitive dependencies, which are brought in by your direct dependencies.
Fortunately, most programming ecosystems provide package managers that can map declared dependencies to the Open Source Project that produced them. However, do not forget to include any tools from Open Source Projects used by your developers or in your build and continuous integration processes which may not be referenced by a package manager.
Once you have the list of direct dependencies, you can check each project’s README file for instructions on how to pay the Maintenance Fee.
The following are examples of how to find your direct dependencies in popular programming ecosystems using their package managers.
.NET Example
Section titled “.NET Example”-
Open each
.csprojand collect the uniquePackageReferenceidentifiers. For example:<ItemGroup><PackageReference Include="WixToolset.Dtf" Version="6.0.0" /></ItemGroup> -
Search for that identifier on NuGet.org
-
Click the “Project website” link on the right to be taken to the project.
-
Follow the instructions in the project’s README file how to pay the Fee for a project
JS Example
Section titled “JS Example”-
Open each
package.jsonand collect the package identifiers listed independencies,devDependencies,optionalDependencies, andpeerDependencies.{..."dependencies": {"project1": "^0.0.1"},"devDependencies": {"project2": "^0.0.2"},...}If the project is a monorepo, check each
package.jsonfor the packages used by each project. -
Search for the package identifiers on NPM
-
Click the “Project website” link on the right to be taken to the project.
-
Follow the instructions in the project’s README file how to pay the Fee for a project