diff --git a/website/blog/agentic-scancode-port-case-study/2026-06-23-agentic-rust-port-case-study.md b/website/blog/agentic-scancode-port-case-study/2026-05-23-agentic-rust-port-case-study.md similarity index 100% rename from website/blog/agentic-scancode-port-case-study/2026-06-23-agentic-rust-port-case-study.md rename to website/blog/agentic-scancode-port-case-study/2026-05-23-agentic-rust-port-case-study.md diff --git a/website/blog/clearlydefined-three-year-roadmap/2026-04-15-clearlydefined-three-year-roadmap.md b/website/blog/clearlydefined-three-year-roadmap/2026-04-15-clearlydefined-three-year-roadmap.md new file mode 100644 index 0000000..9f4e0a9 --- /dev/null +++ b/website/blog/clearlydefined-three-year-roadmap/2026-04-15-clearlydefined-three-year-roadmap.md @@ -0,0 +1,30 @@ +--- +slug: clearlydefined-three-year-roadmap +title: A three-year roadmap for ClearlyDefined +authors: [pombredanne] +tags: [license compliance, license detection] +hide_table_of_contents: false +--- + +ClearlyDefined has published a three-year roadmap covering sustainability, +technical investment, and adoption. AboutCode developed the roadmap together +with the ClearlyDefined community following the OSI and AboutCode +[Memorandum of Understanding](/blog/osi-aboutcode-clearlydefined-mou/) +signed in February. + + + +The roadmap is organized around three themes: + +- **Sustainability**: stable funding and governance so the service and its + curated data remain available without interruption. +- **Technical foundations**: modernizing the harvest/import, curation UX, and + pipelines, and aligning ClearlyDefined data with PURL, ScanCode, and the + rest of the AboutCode project for efficiency gains. +- **Adoption and reach**: lowering the barrier to entry for new contributors, + growing the curator base, and expanding integrations with downstream adopters. + +The full plan, including milestones, is in the +[ClearlyDefined roadmap](https://docs.clearlydefined.io/docs/resources/roadmap) +and is summarized in the +[OSI announcement](https://opensource.org/blog/clearlydefined-a-three-year-roadmap-for-sustainability-and-growth). diff --git a/website/blog/osi-aboutcode-clearlydefined-mou/2026-02-03-osi-aboutcode-clearlydefined-mou.md b/website/blog/osi-aboutcode-clearlydefined-mou/2026-02-03-osi-aboutcode-clearlydefined-mou.md new file mode 100644 index 0000000..fc601fa --- /dev/null +++ b/website/blog/osi-aboutcode-clearlydefined-mou/2026-02-03-osi-aboutcode-clearlydefined-mou.md @@ -0,0 +1,33 @@ +--- +slug: osi-aboutcode-clearlydefined-mou +title: OSI and AboutCode partner to sustain ClearlyDefined +authors: [pombredanne] +tags: [license compliance, license detection] +hide_table_of_contents: false +--- + +The Open Source Initiative (OSI) and AboutCode have signed a Memorandum of +Understanding to put ClearlyDefined on a sustainable path. ClearlyDefined +is a community-run database project of license, copyright, and package metadata +for open source components, and it has been a widely cited reference for +software composition analysis since 2017. It makes heavy usage of ScanCode. + + + +Under the MoU, OSI continues as the project's organizational steward while +AboutCode takes on responsibility for the technical foundations: the data +pipeline, the curation workflow, and integration with the broader AboutCode +toolchain (ScanCode, PurlDB, VulnerableCode). The goal is to keep +ClearlyDefined data current, improve its accuracy, and grow contributor +participation. + +For ClearlyDefined users there is no changes, just continuity: the data +and APIs remain available and open, and the curation process stays open. +For the AboutCode community it means a new project to maintain and support +and a clearer path for license data to flow between ClearlyDefined and +the rest of AboutCode. + +Background on the agreement is in the +[OSI announcement](https://opensource.org/blog/ensuring-the-long-term-sustainability-of-clearlydefined-osi-and-aboutcode-sign-mou) +and the signed +[Memorandum of Understanding](https://opensource.org/wp-content/uploads/2026/02/MoU-AboutCode-OSI-ClearlyDefined.pdf). diff --git a/website/blog/tags.yml b/website/blog/tags.yml index 12fc951..4ec4004 100644 --- a/website/blog/tags.yml +++ b/website/blog/tags.yml @@ -1,104 +1,104 @@ advisories: label: advisories permalink: /advisories - description: advisories tag description + description: Posts about security advisories, related data, import in AboutCode. agent: label: agent permalink: /agent - description: agent tag description + description: Posts about AI agents and agentic workflows. api: label: api permalink: /api - description: api tag description + description: Posts about APIs and endpoints. atom: label: atom permalink: /atom - description: atom tag description + description: Posts about atom, a code analysis tool. chen: label: chen permalink: /chen - description: chen tag description + description: Posts about chen, a code analysis tool. copyleft: label: copyleft permalink: /copyleft - description: copyleft tag description + description: Posts about copyleft licenses. dependencies: label: dependencies permalink: /dependencies - description: dependencies tag description + description: Posts about software dependencies, resolution, and graphs. dual license: label: dual license - permalink: /dual license - description: dual license tag description + permalink: /dual-license + description: Posts about software released choices of licenses. java: label: java permalink: /java - description: java tag description + description: Posts about Java(tm) software. genai: label: GenAI permalink: /genai - description: GenAI tag description + description: Posts about generative AI. license clarity scoring: label: license clarity scoring - permalink: /license clarity scoring - description: license clarity scoring tag description + permalink: /license-clarity-scoring + description: Posts about license clarity scoring to measure license documentation quality. license compliance: label: license compliance - permalink: /license compliance - description: license compliance tag description + permalink: /license-compliance + description: Posts about open source license compliance processes and tooling. license detection: label: license detection - permalink: /license detection - description: license detection tag description + permalink: /license-detection + description: Posts about license detection. purl: label: PURL - permalink: /PURL - description: PURL tag description + permalink: /purl + description: Posts about Package URL (PURL), the standard identifier for software packages. SCA automation: label: SCA automation - permalink: /SCA automation - description: SCA automation tag description + permalink: /sca-automation + description: Posts about Software Composition Analysis workflows, and automation. rust: label: Rust permalink: /rust - description: Rust tag description + description: Posts about the Rust programming language or ecoystem. scancode: label: ScanCode permalink: /scancode - description: ScanCode tag description + description: Posts about ScanCode Toolkit and ScanCode.io. vcio: label: vcio permalink: /vcio - description: vcio tag description + description: Posts about VulnerableCode.io. vers: label: VERS - permalink: /VERS - description: VERS tag description + permalink: /vers + description: Posts about VERS, the version range specification used alongside PURL. version control: label: version control - permalink: /version control - description: version control tag description + permalink: /version-control + description: Posts about version control. vulnerabilities: label: vulnerabilities permalink: /vulnerabilities - description: vulnerabilities tag description + description: Posts about software vulnerabilities. diff --git a/website/src/components/EcosystemGrid/index.js b/website/src/components/EcosystemGrid/index.js index 029d801..f147f79 100644 --- a/website/src/components/EcosystemGrid/index.js +++ b/website/src/components/EcosystemGrid/index.js @@ -26,10 +26,53 @@ const licenses = [ { label: 'Zlib', logo: 'img/logos/lic-zlib.svg', url: 'https://scancode-licensedb.aboutcode.org/zlib.html' }, ]; -const ecosystems = [ - { label: 'Alpine', logo: 'img/logos/apk.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/apk-definition.md' }, +const programming_languages = [ + { label: 'Bash/Shell', logo: 'img/logos/bash.svg', url: 'https://www.gnu.org/software/bash/' }, + { label: 'C', logo: 'img/logos/c-lang.svg', url: 'https://en.cppreference.com/w/c' }, + { label: 'C#', logo: 'img/logos/csharp.svg', url: 'https://learn.microsoft.com/en-us/dotnet/csharp/' }, + { label: 'C++', logo: 'img/logos/cpp.svg', url: 'https://isocpp.org' }, + { label: 'Dart', logo: 'img/logos/dart.png', url: 'https://dart.dev' }, + { label: '.NET', logo: 'img/logos/dotnet.svg', url: 'https://dotnet.microsoft.com' }, + { label: 'Go', logo: 'img/logos/golang.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/golang-definition.md' }, + { label: 'Haxe', logo: 'img/logos/haxe.svg', url: 'https://lib.haxe.org' }, + { label: 'HTML/CSS', logo: 'img/logos/html-css.svg', url: 'https://developer.mozilla.org/en-US/docs/Web', logoClass: 'logoWideLarge' }, + { label: 'Java', logo: 'img/logos/java.svg', url: 'https://www.java.com' }, + { label: 'JavaScript', logo: 'img/logos/javascript.png', url: 'https://developer.mozilla.org/en-US/docs/Web/JavaScript' }, + { label: 'Kotlin', logo: 'img/logos/kotlin.svg', url: 'https://kotlinlang.org' }, + { label: 'PHP', logo: 'img/logos/php.svg', url: 'https://www.php.net', logoClass: 'logoWideLarge' }, + { label: 'Python', logo: 'img/logos/python.svg', url: 'https://www.python.org' }, + { label: 'R', logo: 'img/logos/r-lang.svg', url: 'https://www.r-project.org' }, + { label: 'Raku', logo: 'img/logos/raku.svg', url: 'https://raku.org' }, + { label: 'Ruby', logo: 'img/logos/ruby.svg', url: 'https://www.ruby-lang.org' }, + { label: 'Rust', logo: 'img/logos/rust.svg', url: 'https://www.rust-lang.org' }, + { label: 'Scala', logo: 'img/logos/scala.svg', url: 'https://www.scala-lang.org', logoClass: 'logoWideLarge' }, + { label: 'Swift', logo: 'img/logos/swift.svg', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/swift-definition.md' }, + { label: 'TypeScript', logo: 'img/logos/typescript.svg', url: 'https://www.typescriptlang.org' }, + { label: 'Visual Basic', logo: 'img/logos/vb.svg', url: 'https://learn.microsoft.com/en-us/dotnet/visual-basic/' }, +]; + +const operating_systems = [ + { label: 'Alpine', logo: 'img/logos/apk.png', url: 'https://alpinelinux.org' }, { label: 'Android', logo: 'img/logos/android.svg', url: 'https://developer.android.com' }, - { label: 'Arch Linux', logo: 'img/logos/alpm.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/alpm-definition.md', logoClass: 'logoXL' }, + { label: 'Arch Linux', logo: 'img/logos/alpm.png', url: 'https://archlinux.org', logoClass: 'logoXL' }, + { label: 'Debian', logo: 'img/logos/deb.png', url: 'https://www.debian.org' }, + { label: 'Fedora', logo: 'img/logos/fedora.svg', url: 'https://fedoraproject.org' }, + { label: 'FreeBSD', logo: 'img/logos/freebsd.png', url: 'https://www.freebsd.org', logoClass: 'logoLarge' }, + { label: 'Gentoo', logo: 'img/logos/gentoo.png', url: 'https://www.gentoo.org' }, + { label: 'iOS', logo: 'img/logos/ios.svg', url: 'https://developer.apple.com/ios/' }, + { label: 'Linux', logo: 'img/logos/linux.png', url: 'https://www.kernel.org' }, + { label: 'macOS', logo: 'img/logos/macos.svg', url: 'https://developer.apple.com/macos/' }, + { label: 'openSUSE', logo: 'img/logos/suse.svg', url: 'https://www.opensuse.org', logoClass: 'logoXL' }, + { label: 'OpenWrt', logo: 'img/logos/openwrt.png', url: 'https://openwrt.org', logoClass: 'logoLarge' }, + { label: 'QNX', logo: 'img/logos/qnap.svg', url: 'https://blackberry.qnx.com', logoClass: 'logoWideLarge' }, + { label: 'Red Hat', logo: 'img/logos/redhat.png', url: 'https://www.redhat.com' }, + { label: 'Ubuntu', logo: 'img/logos/ubuntu.svg', url: 'https://ubuntu.com', logoClass: 'ubuntuLogo' }, + { label: 'Windows', logo: 'img/logos/windows.svg', url: 'https://www.microsoft.com/windows' }, + { label: 'Yocto', logo: 'img/logos/yocto.png', url: 'https://www.yoctoproject.org', logoClass: 'logoWideLarge' }, +]; + +const package_ecosystems = [ + { label: 'Autotools', logo: 'img/logos/autotools.svg', url: 'https://www.gnu.org/software/automake/' }, { label: 'Bazel', logo: 'img/logos/bazel.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/bazel-definition.md' }, { label: 'Bitbucket', logo: 'img/logos/bitbucket.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/bitbucket-definition.md' }, { label: 'Bitnami', logo: 'img/logos/bitnami.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/bitnami-definition.md' }, @@ -43,12 +86,8 @@ const ecosystems = [ { label: 'Conda', logo: 'img/logos/conda.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/conda-definition.md' }, { label: 'CPAN', logo: 'img/logos/cpan.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/cpan-definition.md', logoClass: 'logoLarge' }, { label: 'CRAN', logo: 'img/logos/cran.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/cran-definition.md' }, - { label: 'Debian / Ubuntu', logo: 'img/logos/deb.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/deb-definition.md' }, { label: 'Docker', logo: 'img/logos/docker.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/docker-definition.md' }, { label: 'F-Droid', logo: 'img/logos/fdroid.png', url: 'https://f-droid.org' }, - { label: 'Fedora', logo: 'img/logos/fedora.svg', url: 'https://packages.fedoraproject.org' }, - { label: 'FreeBSD', logo: 'img/logos/freebsd.png', url: 'https://www.freebsd.org/ports/', logoClass: 'logoLarge' }, - { label: 'Gentoo', logo: 'img/logos/gentoo.png', url: 'https://packages.gentoo.org' }, { label: 'GitHub', logo: 'img/logos/github.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/github-definition.md' }, { label: 'GitLab', logo: 'img/logos/gitlab.png', url: 'https://gitlab.com', logoClass: 'logoLarge' }, { label: 'Hackage', logo: 'img/logos/hackage.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/hackage-definition.md' }, @@ -62,66 +101,76 @@ const ecosystems = [ { label: 'NuGet', logo: 'img/logos/nuget.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/nuget-definition.md' }, { label: 'OCI', logo: 'img/logos/oci.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/oci-definition.md' }, { label: 'opam', logo: 'img/logos/opam.svg', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/opam-definition.md', logoClass: 'logoLarge' }, - { label: 'OpenWrt', logo: 'img/logos/openwrt.png', url: 'https://openwrt.org', logoClass: 'logoLarge' }, { label: 'OTP', logo: 'img/logos/otp.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/otp-definition.md' }, { label: 'Pub', logo: 'img/logos/pub.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/pub-definition.md' }, { label: 'PyPI', logo: 'img/logos/pypi.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/pypi-definition.md' }, - { label: 'QNX QPKG', logo: 'img/logos/qnap.svg', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/qpkg-definition.md', logoClass: 'logoWideLarge' }, { label: 'RPM', logo: 'img/logos/rpm.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/rpm-definition.md', logoClass: 'logoLarge' }, { label: 'RubyGems', logo: 'img/logos/gem.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/gem-definition.md' }, - { label: 'Swift', logo: 'img/logos/swift.svg', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/swift-definition.md' }, { label: 'VS Code Extension', logo: 'img/logos/vscode.svg', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/vscode-extension-definition.md' }, - { label: 'Yocto', logo: 'img/logos/yocto.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/yocto-definition.md', logoClass: 'logoWideLarge' }, - { label: 'Autotools', logo: 'img/logos/autotools.svg', url: 'https://www.gnu.org/software/automake/' }, - { label: 'Bash/Shell', logo: 'img/logos/bash.svg', url: 'https://www.gnu.org/software/bash/' }, - { label: 'C', logo: 'img/logos/c-lang.svg', url: 'https://en.cppreference.com/w/c' }, - { label: 'C#', logo: 'img/logos/csharp.svg', url: 'https://learn.microsoft.com/en-us/dotnet/csharp/' }, - { label: 'C++', logo: 'img/logos/cpp.svg', url: 'https://isocpp.org' }, - { label: 'Dart', logo: 'img/logos/dart.png', url: 'https://dart.dev' }, - { label: '.NET', logo: 'img/logos/dotnet.svg', url: 'https://dotnet.microsoft.com' }, - { label: 'Go', logo: 'img/logos/golang.png', url: 'https://github.com/package-url/purl-spec/blob/main/types-doc/golang-definition.md' }, - { label: 'Haxe', logo: 'img/logos/haxe.svg', url: 'https://lib.haxe.org' }, - { label: 'HTML/CSS', logo: 'img/logos/html-css.svg', url: 'https://developer.mozilla.org/en-US/docs/Web', logoClass: 'logoWideLarge' }, - { label: 'iOS', logo: 'img/logos/ios.svg', url: 'https://developer.apple.com/ios/' }, - { label: 'Java', logo: 'img/logos/java.svg', url: 'https://www.java.com' }, - { label: 'JavaScript', logo: 'img/logos/javascript.png', url: 'https://developer.mozilla.org/en-US/docs/Web/JavaScript' }, - { label: 'Kotlin', logo: 'img/logos/kotlin.svg', url: 'https://kotlinlang.org' }, - { label: 'Linux', logo: 'img/logos/linux.png', url: 'https://www.kernel.org' }, - { label: 'macOS', logo: 'img/logos/macos.svg', url: 'https://developer.apple.com/macos/' }, - { label: 'PHP', logo: 'img/logos/php.svg', url: 'https://www.php.net', logoClass: 'logoWideLarge' }, - { label: 'Python', logo: 'img/logos/python.svg', url: 'https://www.python.org' }, - { label: 'R', logo: 'img/logos/r-lang.svg', url: 'https://www.r-project.org' }, - { label: 'Raku', logo: 'img/logos/raku.svg', url: 'https://raku.org' }, - { label: 'Ruby', logo: 'img/logos/ruby.svg', url: 'https://www.ruby-lang.org' }, - { label: 'Rust', logo: 'img/logos/rust.svg', url: 'https://www.rust-lang.org' }, - { label: 'Scala', logo: 'img/logos/scala.svg', url: 'https://www.scala-lang.org', logoClass: 'logoWideLarge' }, - { label: 'TypeScript', logo: 'img/logos/typescript.svg', url: 'https://www.typescriptlang.org' }, - { label: 'Visual Basic', logo: 'img/logos/vb.svg', url: 'https://learn.microsoft.com/en-us/dotnet/visual-basic/' }, - { label: 'Windows', logo: 'img/logos/windows.svg', url: 'https://www.microsoft.com/windows' }, ]; -const vulnSources = [ +const binary_formats = [ + { label: 'Windows PE', logo: 'img/logos/windows.svg', url: 'https://en.wikipedia.org/wiki/Portable_Executable' }, + { label: 'ELF', color: '#4a6fa5', url: 'https://en.wikipedia.org/wiki/Executable_and_Linkable_Format' }, + { label: 'DWARF', color: '#6b4c9a', url: 'https://en.wikipedia.org/wiki/DWARF' }, + { label: 'Mach-O', logo: 'img/logos/macos.svg', url: 'https://en.wikipedia.org/wiki/Mach-O' }, + { label: 'JVM bytecode', logo: 'img/logos/java.svg', url: 'https://en.wikipedia.org/wiki/Java_bytecode' }, + { label: '.NET assemblies', logo: 'img/logos/dotnet.svg', url: 'https://en.wikipedia.org/wiki/.NET_assembly' }, + { label: 'Rust binaries', logo: 'img/logos/rust.svg', url: 'https://en.wikipedia.org/wiki/Rust_(programming_language)' }, + { label: 'Go binaries', logo: 'img/logos/golang.png', url: 'https://en.wikipedia.org/wiki/Go_(programming_language)' }, + { label: 'Minimized JavaScript', logo: 'img/logos/javascript.png', url: 'https://en.wikipedia.org/wiki/Minification_(programming)' }, +]; + +const archive_formats = [ + { label: 'tar', color: '#2e7d32', url: 'https://en.wikipedia.org/wiki/Tar_(computing)' }, + { label: 'ZIP', color: '#1565c0', url: 'https://en.wikipedia.org/wiki/ZIP_(file_format)' }, + { label: 'RAR', color: '#6a1b9a', url: 'https://en.wikipedia.org/wiki/RAR_(file_format)' }, + { label: '7z', color: '#37474f', url: 'https://en.wikipedia.org/wiki/7z' }, + { label: 'gzip', color: '#d84315', url: 'https://en.wikipedia.org/wiki/Gzip' }, + { label: 'bzip2', color: '#4e342e', url: 'https://en.wikipedia.org/wiki/Bzip2' }, + { label: 'XZ', color: '#0277bd', url: 'https://en.wikipedia.org/wiki/XZ_Utils' }, + { label: 'LZMA', color: '#00695c', url: 'https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm' }, + { label: 'LZ4', color: '#558b2f', url: 'https://en.wikipedia.org/wiki/LZ4_(compression_algorithm)' }, + { label: 'Zstandard', color: '#e65100', url: 'https://en.wikipedia.org/wiki/Zstd' }, + { label: 'CPIO', color: '#5d4037', url: 'https://en.wikipedia.org/wiki/Cpio' }, + { label: 'AR', color: '#455a64', url: 'https://en.wikipedia.org/wiki/Ar_(Unix)' }, + { label: 'XAR', color: '#7b1fa2', url: 'https://en.wikipedia.org/wiki/Xar_(archiver)' }, + { label: 'ISO 9660', color: '#c62828', url: 'https://en.wikipedia.org/wiki/ISO_9660' }, + { label: 'QCOW2', color: '#ad1457', url: 'https://en.wikipedia.org/wiki/Qcow' }, + { label: 'VMDK', color: '#1a237e', url: 'https://en.wikipedia.org/wiki/VMDK' }, + { label: 'VDI', color: '#283593', url: 'https://en.wikipedia.org/wiki/VDI_(file_format)' }, + { label: 'CAB', logo: 'img/logos/windows.svg', url: 'https://en.wikipedia.org/wiki/Cabinet_(file_format)' }, + { label: 'MSI', logo: 'img/logos/windows.svg', url: 'https://en.wikipedia.org/wiki/Windows_Installer' }, + { label: 'DMG', logo: 'img/logos/macos.svg', url: 'https://en.wikipedia.org/wiki/Apple_Disk_Image' }, + { label: 'RPM', logo: 'img/logos/rpm.png', url: 'https://en.wikipedia.org/wiki/RPM_Package_Manager', logoClass: 'logoLarge' }, + { label: 'Debian .deb', logo: 'img/logos/deb.png', url: 'https://en.wikipedia.org/wiki/Deb_(file_format)' }, + { label: 'NuGet .nupkg', logo: 'img/logos/nuget.png', url: 'https://en.wikipedia.org/wiki/NuGet' }, + { label: 'Java JAR/WAR', logo: 'img/logos/java.svg', url: 'https://en.wikipedia.org/wiki/JAR_(file_format)' }, + { label: 'Python .whl/.egg', logo: 'img/logos/pypi.png', url: 'https://en.wikipedia.org/wiki/Pip_(package_manager)#Wheel' }, + { label: 'Ruby .gem', logo: 'img/logos/gem.png', url: 'https://en.wikipedia.org/wiki/RubyGems' }, + { label: 'InstallShield', color: '#bf360c', url: 'https://en.wikipedia.org/wiki/InstallShield' }, + { label: 'NSIS', color: '#33691e', url: 'https://en.wikipedia.org/wiki/Nullsoft_Scriptable_Install_System' }, + { label: 'EPUB', color: '#4527a0', url: 'https://en.wikipedia.org/wiki/EPUB' }, +]; + +const vulnerability_sources = [ { label: 'Alpine Security', logo: 'img/logos/apk.png', url: 'https://secdb.alpinelinux.org' }, { label: 'Apache HTTPD', logo: 'img/logos/apache.svg', url: 'https://httpd.apache.org/security/', logoClass: 'logoWideLarge' }, { label: 'Apache Kafka', logo: 'img/logos/apache.svg', url: 'https://kafka.apache.org/cve-list', logoClass: 'logoWideLarge' }, { label: 'Apache Tomcat', logo: 'img/logos/apache.svg', url: 'https://tomcat.apache.org/security.html', logoClass: 'logoWideLarge' }, { label: 'Arch Linux', logo: 'img/logos/alpm.png', url: 'https://security.archlinux.org', logoClass: 'logoXL' }, - { label: 'CPE', logo: 'img/logos/cpe.svg', url: 'https://nvd.nist.gov/products/cpe', logoClass: 'logoWideLarge' }, { label: 'CVE', logo: 'img/logos/cve.svg', url: 'https://www.cve.org/', logoClass: 'logoWideLarge' }, - { label: 'CVSS', logo: 'img/logos/cvss.svg', url: 'https://www.first.org/cvss/', logoClass: 'logoWideLarge' }, - { label: 'CWE', logo: 'img/logos/cwe.svg', url: 'https://cwe.mitre.org/', logoClass: 'logoWideLarge' }, { label: 'curl', logo: 'img/logos/curl.svg', url: 'https://curl.se/docs/security.html', logoClass: 'logoWideLarge' }, { label: 'Debian Security', logo: 'img/logos/deb.png', url: 'https://security-tracker.debian.org' }, { label: '.NET Advisories', logo: 'img/logos/dotnet.svg', url: 'https://github.com/dotnet/announcements' }, { label: 'Elixir Advisories', logo: 'img/logos/elixir.png', url: 'https://github.com/dependabot/elixir-security-advisories', logoClass: 'logoLarge' }, - { label: 'EPSS', logo: 'img/logos/epss.png', url: 'https://www.first.org/epss/', logoClass: 'logoXL' }, { label: 'ExploitDB', logo: 'img/logos/exploitdb.svg', url: 'https://www.exploit-db.com', logoClass: 'logoWideLarge' }, { label: 'Gentoo GLSA', logo: 'img/logos/gentoo.png', url: 'https://security.gentoo.org' }, { label: 'GitHub Advisories', logo: 'img/logos/github.png', url: 'https://github.com/advisories' }, { label: 'GitLab Advisories', logo: 'img/logos/gitlab.png', url: 'https://advisories.gitlab.com', logoClass: 'logoLarge' }, { label: 'glibc', logo: 'img/logos/glibc.svg', url: 'https://sourceware.org/glibc/wiki/Security' }, { label: 'Istio', logo: 'img/logos/istio.png', url: 'https://istio.io/latest/news/security/' }, - { label: 'Linux Kernel', logo: 'img/logos/linux-kernel.svg', url: 'https://www.kernel.org' }, + { label: 'Linux Kernel', logo: 'img/logos/linux.png', url: 'https://www.kernel.org' }, { label: 'Mattermost', logo: 'img/logos/mattermost.png', url: 'https://mattermost.com/security-updates/' }, { label: 'Metasploit', logo: 'img/logos/metasploit.svg', url: 'https://www.metasploit.com', logoClass: 'logoWideLarge' }, { label: 'Mozilla', logo: 'img/logos/mozilla.svg', url: 'https://www.mozilla.org/en-US/security/advisories/', logoClass: 'logoWideLarge' }, @@ -136,7 +185,6 @@ const vulnSources = [ { label: 'Red Hat', logo: 'img/logos/redhat.png', url: 'https://access.redhat.com/security/security-updates/' }, { label: 'Ruby Advisory DB', logo: 'img/logos/gem.png', url: 'https://github.com/rubysec/ruby-advisory-db' }, { label: 'Rust Advisory DB', logo: 'img/logos/cargo.png', url: 'https://github.com/rustsec/advisory-db' }, - { label: 'SSVC', logo: 'img/logos/ssvc.svg', url: 'https://www.cisa.gov/stakeholder-specific-vulnerability-categorization-ssvc', logoClass: 'logoWideLarge' }, { label: 'openSUSE', logo: 'img/logos/suse.svg', url: 'https://www.suse.com/security/', logoClass: 'logoXL' }, { label: 'Ubuntu USN', logo: 'img/logos/ubuntu.svg', url: 'https://ubuntu.com/security/notices', logoClass: 'ubuntuLogo' }, { label: 'Vulnrichment (CISA)', logo: 'img/logos/cisa.png', url: 'https://github.com/cisagov/vulnrichment', logoClass: 'logoLarge' }, @@ -144,9 +192,17 @@ const vulnSources = [ { label: 'Xen', logo: 'img/logos/xen.svg', url: 'https://xenbits.xen.org/xsa/', logoClass: 'logoLarge' }, ]; +const vulnerability_reference_data = [ + { label: 'CPE', logo: 'img/logos/cpe.svg', url: 'https://nvd.nist.gov/products/cpe', logoClass: 'logoWideLarge' }, + { label: 'CVSS', logo: 'img/logos/cvss.svg', url: 'https://www.first.org/cvss/', logoClass: 'logoWideLarge' }, + { label: 'CWE', logo: 'img/logos/cwe.svg', url: 'https://cwe.mitre.org/', logoClass: 'logoWideLarge' }, + { label: 'SSVC', logo: 'img/logos/ssvc.svg', url: 'https://www.cisa.gov/stakeholder-specific-vulnerability-categorization-ssvc', logoClass: 'logoWideLarge' }, + { label: 'EPSS', logo: 'img/logos/epss.png', url: 'https://www.first.org/epss/', logoClass: 'logoXL' }, +]; + function GridItem({ item }) { - const logoSrc = useBaseUrl(`/${item.logo}`); + const logoSrc = useBaseUrl(`/${item.logo || ''}`); return (
- {item.logo && ( + {item.logo ? ( {item.label} - )} + ) : item.color ? ( + + {item.label.slice(0, 2).toUpperCase()} + + ) : null}
{item.label}
@@ -194,24 +254,59 @@ export default function EcosystemGrid() {
The ScanCode LicenseDB contains 2,500+ curated licenses across 12 categories. Browse all 2,500+ licenses in the LicenseDB. Industry-leading license detection is backed by over 35,000 license notices used as detection rules.

} + header_link={{ label: 'Get started with compliance', url: '/docs/getting_started/license-compliance/' }} + intro={

AboutCode tracks over 2,500+ curated licenses across 12 categories. Browse all 2,500+ licenses in the LicenseDB. Industry-leading license detection is backed by over 35,000 license notices used as detection rules.

} + /> + AboutCode collects, correlates, and improves vulnerabilities from multiple advisory data sources, privileging upstream data.

} /> The AboutCode package database and scanners track million of packages over 70 package ecosystems and programming languages.

} + title="Package ecosystems" + items={package_ecosystems} + header_link={{ label: 'Get started with software identification', url: '/docs/getting_started/software-identification/' }} + intro={

The AboutCode package database and scanners track millions of packages from most package ecosystems.

} /> AboutCode collects, correlates, and improves vulnerabilities from over 50 data sources, privileging upstream data.

} + id="operating-systems" + title="Operating systems" + items={operating_systems} + header_link={{ label: 'Get started with software identification', url: '/docs/getting_started/software-identification/' }} + intro={

AboutCode tools support packages and distributions across major server, desktop, and mobile operating systems.

} + /> + AboutCode tools detect and analyze code across many programming languages.

} + /> + AboutCode tools analyze compiled binary, bytecode, and minified code file formats to identify origin, dependencies, and embedded components.

} + /> + AboutCode supports extraction of most archive, compressed, package, and disk image file formats.

} + /> + AboutCode imports vulnerability reference data in key industry formats, mapping these to PURL.

} />
); diff --git a/website/src/components/EcosystemGrid/styles.module.css b/website/src/components/EcosystemGrid/styles.module.css index ffd1d51..727c8fa 100644 --- a/website/src/components/EcosystemGrid/styles.module.css +++ b/website/src/components/EcosystemGrid/styles.module.css @@ -89,6 +89,19 @@ border-radius: 4px; } +.colorBadge { + width: 32px; + height: 32px; + border-radius: 6px; + display: flex; + align-items: center; + justify-content: center; + color: #fff; + font-size: 0.7rem; + font-weight: 700; + letter-spacing: 0.5px; +} + .logoLarge { width: 42px; height: 42px; diff --git a/website/src/components/HomepageContent/ProjectOverview.md b/website/src/components/HomepageContent/ProjectOverview.md index 16ae958..9b25954 100644 --- a/website/src/components/HomepageContent/ProjectOverview.md +++ b/website/src/components/HomepageContent/ProjectOverview.md @@ -1,8 +1,7 @@ AboutCode has been designed as a modular stack of applications, tools, -libraries and data. - -We maintain, support and contribute to key open source projects that support -healthy software supply chains. Some these key projects are listed below. +libraries and data. We maintain, support and contribute to key open source +projects that support healthy software supply chains. +Some of these key projects are listed below. All of the software is open source (primarily licensed under [Apache-2.0](https://scancode-licensedb.aboutcode.org/apache-2.0.html)) diff --git a/website/src/components/HomepageContent/StandardsOverview.mdx b/website/src/components/HomepageContent/StandardsOverview.mdx index 5151595..5fbcd95 100644 --- a/website/src/components/HomepageContent/StandardsOverview.mdx +++ b/website/src/components/HomepageContent/StandardsOverview.mdx @@ -1,5 +1,3 @@ -import Link from '@docusaurus/Link'; - AboutCode created Package-URL (PURL), the universal identifier for software packages now used across CycloneDX, SPDX, CSAF, OpenVEX, OSV, MITRE CVE, and many more standards. AboutCode also created VERS for version ranges and @@ -10,5 +8,3 @@ advisories, and attestations together. SPDX license expressions enable common, concise and accurate licensing identification across tools and SBOMs. - -See all supported standards diff --git a/website/src/components/HomepageContent/index.js b/website/src/components/HomepageContent/index.js index f05a844..a7946b9 100644 --- a/website/src/components/HomepageContent/index.js +++ b/website/src/components/HomepageContent/index.js @@ -10,13 +10,12 @@ import ValuePillars from '@site/src/components/ValuePillars'; import CapabilitiesGrid from '@site/src/components/CapabilitiesGrid'; import EcosystemGrid from '@site/src/components/EcosystemGrid'; import OpenDataSection from '@site/src/components/OpenDataSection'; -import ProjectGridTemplate from '@site/src/components/ProjectGridTemplate'; +import ProjectGrid from '@site/src/components/ProjectGrid'; import { featuredProjectSources } from '@site/src/data/projects-featured'; import styles from './styles.module.css'; export default function HomepageContent() { const meetingsUrl = useBaseUrl('/docs/about/meetings/'); - const gettingStartedUrl = useBaseUrl('/docs/getting_started/getting-started/'); return (
@@ -35,6 +34,16 @@ export default function HomepageContent() {
+
+

Main capabilities

+
+
+

AboutCode provides modular building blocks for software composition analysis, + from license detection to vulnerability management, that you can combine to match your workflow.

+
@@ -76,7 +85,7 @@ export default function HomepageContent() { className={styles.sectionHeader} style={{ marginBottom: '15px', marginTop: '15px' }} > -

Practical software supply chain standards

+

Practical software supply chain standards - See all supported standards

@@ -99,22 +108,17 @@ export default function HomepageContent() { className={styles.sectionHeader} style={{ marginBottom: '15px', marginTop: '15px' }} > -

Interoperable modular tools and projects we - support or maintain - Getting started...

+

Interoperable modular tools and projects we + support or maintain - See all projects

- -
- - See all supported projects - -
diff --git a/website/src/components/HomepageHeader/index.js b/website/src/components/HomepageHeader/index.js index ae8c9d6..f7fffbe 100644 --- a/website/src/components/HomepageHeader/index.js +++ b/website/src/components/HomepageHeader/index.js @@ -9,7 +9,7 @@ export default function HomepageHeader() { Healthy Software Supply Chains

- We build and maintain open software supply chains data with open source code and open standards. + With open data, open code, and open standards.

diff --git a/website/src/components/ProjectGridTemplate/index.js b/website/src/components/ProjectGrid/index.js similarity index 100% rename from website/src/components/ProjectGridTemplate/index.js rename to website/src/components/ProjectGrid/index.js diff --git a/website/src/components/ProjectGridTemplate/styles.module.css b/website/src/components/ProjectGrid/styles.module.css similarity index 99% rename from website/src/components/ProjectGridTemplate/styles.module.css rename to website/src/components/ProjectGrid/styles.module.css index 4b16ff0..4243c64 100644 --- a/website/src/components/ProjectGridTemplate/styles.module.css +++ b/website/src/components/ProjectGrid/styles.module.css @@ -544,8 +544,8 @@ } .gridSection { - margin-bottom: 30px; - padding-bottom: 30px; + margin-bottom: 0px; + padding-bottom: 0px; } [data-theme='dark'] .gridSection { border-bottom: solid 1px #505050; diff --git a/website/src/data/projects-featured.js b/website/src/data/projects-featured.js index 2487d10..1a52445 100644 --- a/website/src/data/projects-featured.js +++ b/website/src/data/projects-featured.js @@ -34,116 +34,123 @@ export const clearlyDefinedProject = { notes: 'Not applicable', }; +const scanCodeIoProject = { + group: 'application', + name: 'ScanCode.io', + description: [ + 'ScanCode.io provides a Web UI and API to run and review complex scans in rich scripted pipelines, on different kinds of containers, docker images, package archives, manifests etc, to get information on licenses, copyrights, sources, and vulnerabilities.', + ], + repository_url: 'https://github.com/aboutcode-org/scancode.io', + documentation_url: 'https://scancodeio.readthedocs.io/en/latest/', + package_download_url: ['https://pypi.org/project/scancodeio/'], + service_url: 'Not applicable', + languages: 'Python', + software_license: 'Apache-2.0', + data_license: 'Not applicable', + platform: 'Docker', + lead_maintainer: ['https://github.com/tdruez'], + notes: 'Not applicable', +}; + +const scanCodeToolkitProject = { + group: 'scancode', + name: 'ScanCode Toolkit', + description: [ + 'ScanCode Toolkit is a set of code scanning tools that detect the origin (copyrights), license and vulnerabilities of code, packages and dependencies in a codebase.', + ], + repository_url: 'https://github.com/aboutcode-org/scancode-toolkit', + documentation_url: 'https://scancode-toolkit.readthedocs.io/en/stable/', + package_download_url: [ + 'https://pypi.org/project/scancode-toolkit/', + 'https://pypi.org/project/scancode-toolkit-mini/', + ], + service_url: 'Not applicable', + languages: 'Python', + software_license: 'Apache-2.0', + data_license: 'CC-BY-4.0', + platform: 'Python', + lead_maintainer: ['https://github.com/AyanSinhaMahapatra'], + notes: 'Not applicable', +}; + +const purlDBProject = { + group: 'package-url', + name: 'PurlDB', + description: [ + 'PURLDB provides tools to create and update a database of package metadata keyed by PURL (Package URL) and an API for the PURL data.', + ], + repository_url: 'https://github.com/aboutcode-org/purldb', + documentation_url: 'https://purldb.readthedocs.io/en/stable/', + package_download_url: [ + 'https://pypi.org/project/minecode-pipelines/', + 'https://pypi.org/project/purl2vcs/', + ], + service_url: 'https://public.purldb.io/api/', + languages: 'Python', + software_license: 'Apache-2.0', + data_license: 'CC-BY-SA-4.0', + platform: 'Debian-based Linux distros', + lead_maintainer: ['https://github.com/JonoYang'], + notes: 'Not applicable', +}; + +const dejaCodeProject = { + group: 'application', + name: 'DejaCode', + description: [ + 'DejaCode provides an enterprise-level application to automate open source license compliance and ensure software supply chain integrity, powered by ScanCode.', + ], + repository_url: 'https://github.com/aboutcode-org/dejacode', + documentation_url: 'https://dejacode.readthedocs.io/en/stable/', + package_download_url: ['https://pypi.org/project/dejacode/'], + service_url: 'https://public.dejacode.com/account/register/', + languages: 'Python', + software_license: 'AGPL-3.0-only', + data_license: 'Not applicable', + platform: 'Docker, Debian-based Linux distros', + lead_maintainer: [ + 'https://github.com/tdruez', + 'https://github.com/DennisClark', + ], + notes: 'Not applicable', +}; + +const vulnerableCodeProject = { + group: 'application', + name: 'VulnerableCode', + description: [ + 'VulnerableCode provides a Web UI and API to access a database of known software package vulnerabilities with comprehensive information from upstream and downstream public sources including packages affected by a vulnerability and packages that fix a vulnerability. There is a public VulnerableCode database at: https://public.vulnerablecode.io/ and the project also provides the tools to build your own instance of the database.', + ], + repository_url: 'https://github.com/aboutcode-org/vulnerablecode', + documentation_url: 'https://vulnerablecode.readthedocs.io/en/stable/', + package_download_url: [ + 'https://pypi.org/project/vulnerablecode/', + 'https://pypi.org/project/aboutcode.federated/', + 'https://pypi.org/project/aboutcode.hashid/', + ], + service_url: 'https://public.vulnerablecode.io/', + languages: 'Python', + software_license: 'Apache-2.0', + data_license: 'CC-BY-SA-4.0', + platform: 'Docker, Debian-based Linux distros, MacOS', + lead_maintainer: [ + 'https://github.com/TG1999', + 'https://github.com/keshav-space', + ], + notes: 'Coming soon: https://public2.vulnerablecode.io/.', +}; + export const featuredProjectSources = [ { - id: 'featured-projects', - title: 'Featured projects', - data: [ - packageUrlProject, - { - group: 'scancode', - name: 'ScanCode Toolkit', - description: [ - 'ScanCode Toolkit is a set of code scanning tools that detect the origin (copyrights), license and vulnerabilities of code, packages and dependencies in a codebase.', - ], - repository_url: 'https://github.com/aboutcode-org/scancode-toolkit', - documentation_url: - 'https://scancode-toolkit.readthedocs.io/en/stable/', - package_download_url: [ - 'https://pypi.org/project/scancode-toolkit/', - 'https://pypi.org/project/scancode-toolkit-mini/', - ], - service_url: 'Not applicable', - languages: 'Python', - software_license: 'Apache-2.0', - data_license: 'CC-BY-4.0', - platform: 'Python', - lead_maintainer: ['https://github.com/AyanSinhaMahapatra'], - notes: 'Not applicable', - }, - { - group: 'application', - name: 'ScanCode.io', - description: [ - 'ScanCode.io provides a Web UI and API to run and review complex scans in rich scripted pipelines, on different kinds of containers, docker images, package archives, manifests etc, to get information on licenses, copyrights, sources, and vulnerabilities.', - ], - repository_url: 'https://github.com/aboutcode-org/scancode.io', - documentation_url: 'https://scancodeio.readthedocs.io/en/latest/', - package_download_url: ['https://pypi.org/project/scancodeio/'], - service_url: 'Not applicable', - languages: 'Python', - software_license: 'Apache-2.0', - data_license: 'Not applicable', - platform: 'Docker', - lead_maintainer: ['https://github.com/tdruez'], - notes: 'Not applicable', - }, - { - group: 'package-url', - name: 'PurlDB', - description: [ - 'PURLDB provides tools to create and update a database of package metadata keyed by PURL (Package URL) and an API for the PURL data.', - ], - repository_url: 'https://github.com/aboutcode-org/purldb', - documentation_url: 'https://purldb.readthedocs.io/en/stable/', - package_download_url: [ - 'https://pypi.org/project/minecode-pipelines/', - 'https://pypi.org/project/purl2vcs/', - ], - service_url: 'https://public.purldb.io/api/', - languages: 'Python', - software_license: 'Apache-2.0', - data_license: 'CC-BY-SA-4.0', - platform: 'Debian-based Linux distros', - lead_maintainer: ['https://github.com/JonoYang'], - notes: 'Not applicable', - }, - { - group: 'application', - name: 'DejaCode', - description: [ - 'DejaCode provides an enterprise-level application to automate open source license compliance and ensure software supply chain integrity, powered by ScanCode.', - ], - repository_url: 'https://github.com/aboutcode-org/dejacode', - documentation_url: 'https://dejacode.readthedocs.io/en/stable/', - package_download_url: ['https://pypi.org/project/dejacode/'], - service_url: 'https://public.dejacode.com/account/register/', - languages: 'Python', - software_license: 'AGPL-3.0-only', - data_license: 'Not applicable', - platform: 'Docker, Debian-based Linux distros', - lead_maintainer: [ - 'https://github.com/tdruez', - 'https://github.com/DennisClark', - ], - notes: 'Not applicable', - }, - { - group: 'application', - name: 'VulnerableCode', - description: [ - 'VulnerableCode provides a Web UI and API to access a database of known software package vulnerabilities with comprehensive information from upstream and downstream public sources including packages affected by a vulnerability and packages that fix a vulnerability. There is a public VulnerableCode database at: https://public.vulnerablecode.io/ and the project also provides the tools to build your own instance of the database.', - ], - repository_url: 'https://github.com/aboutcode-org/vulnerablecode', - documentation_url: - 'https://vulnerablecode.readthedocs.io/en/stable/', - package_download_url: [ - 'https://pypi.org/project/vulnerablecode/', - 'https://pypi.org/project/aboutcode.federated/', - 'https://pypi.org/project/aboutcode.hashid/', - ], - service_url: 'https://public.vulnerablecode.io/', - languages: 'Python', - software_license: 'Apache-2.0', - data_license: 'CC-BY-SA-4.0', - platform: 'Docker, Debian-based Linux distros, MacOS', - lead_maintainer: [ - 'https://github.com/TG1999', - 'https://github.com/keshav-space', - ], - notes: 'Coming soon: https://public2.vulnerablecode.io/.', - }, - clearlyDefinedProject, - ], + id: 'featured-row-1', + data: [scanCodeIoProject, scanCodeToolkitProject], + }, + { + id: 'featured-row-2', + data: [purlDBProject, dejaCodeProject, vulnerableCodeProject], + }, + { + id: 'featured-row-3', + data: [packageUrlProject, clearlyDefinedProject], }, ]; diff --git a/website/src/data/projects-package-url.json b/website/src/data/projects-package-url.json index bc5ad08..2361e0a 100644 --- a/website/src/data/projects-package-url.json +++ b/website/src/data/projects-package-url.json @@ -34,7 +34,7 @@ "name": "purl-validator", "description": ["Decentralized PURL validator so that libraries can use it offline and help them create better PURLs."], "repository_url": "https://github.com/aboutcode-org/purl-validator", - "documentation_url": "https://github.com/aboutcode-org/purl-validator/blob/main/README.rst", + "documentation_url": "https://github.com/aboutcode-org/purl-validator/blob/main/README.md", "package_download_url": ["https://pypi.org/project/purl-validator/"], "service_url": "Not applicable", "languages": "Python", diff --git a/website/src/data/projects-scancode.json b/website/src/data/projects-scancode.json index 4c088cd..7b3fb96 100644 --- a/website/src/data/projects-scancode.json +++ b/website/src/data/projects-scancode.json @@ -34,7 +34,7 @@ "name": "scancode-workbench", "description": ["ScanCode Workbench is an application to visualize and review scan results from ScanCode Toolkit scans. You can install and use the Workbench on a Linux, MacOS or Windows desktop."], "repository_url": "https://github.com/aboutcode-org/scancode-workbench", - "documentation_url": "https://scancode-workbench.readthedocs.io/latest", + "documentation_url": "https://scancode-workbench.readthedocs.io/en/latest/", "package_download_url": ["https://github.com/aboutcode-org/scancode-workbench/releases/"], "service_url": "Not applicable", "languages": "Electron", diff --git a/website/src/pages/projects.js b/website/src/pages/projects.js index 26df2dd..968edcb 100644 --- a/website/src/pages/projects.js +++ b/website/src/pages/projects.js @@ -1,7 +1,7 @@ import React from 'react'; import Layout from '@theme/Layout'; import ProjectOverview from '@site/src/components/HomepageContent/ProjectOverview.md'; -import ProjectGridTemplate from '@site/src/components/ProjectGridTemplate'; +import ProjectGrid from '@site/src/components/ProjectGrid'; import { allProjectSources } from '@site/src/data/projects-all'; import styles from '@site/src/components/HomepageContent/styles.module.css'; @@ -22,7 +22,7 @@ export default function Projects() {
- +
diff --git a/website/static/releases.json b/website/static/releases.json index 85a0487..c8e1b43 100644 --- a/website/static/releases.json +++ b/website/static/releases.json @@ -124,7 +124,7 @@ "tag_url": "https://github.com/aboutcode-org/fetchcode/releases/tag/v0.8.2", "published_at": "2026-03-18T13:03:02Z", "releases_page_url": "https://github.com/aboutcode-org/fetchcode/releases", - "compare_url": "https://github.com/aboutcode-org/fetchcode/compare/v0.8.2...main", + "compare_url": "https://github.com/aboutcode-org/fetchcode/compare/v0.8.2...master", "commits_since": 0, "prerelease": false, "author": "github-actions[bot]" @@ -150,7 +150,7 @@ "tag_url": "https://github.com/aboutcode-org/scancode-toolkit/releases/tag/v32.5.0", "published_at": "2026-01-15T23:39:20Z", "releases_page_url": "https://github.com/aboutcode-org/scancode-toolkit/releases", - "compare_url": "https://github.com/aboutcode-org/scancode-toolkit/compare/v32.5.0...main", + "compare_url": "https://github.com/aboutcode-org/scancode-toolkit/compare/v32.5.0...develop", "commits_since": 0, "prerelease": false, "author": "github-actions[bot]" @@ -267,7 +267,7 @@ "tag_url": "https://github.com/aboutcode-org/aboutcode-toolkit/releases/tag/v11.1.1", "published_at": "2025-03-31T04:29:41Z", "releases_page_url": "https://github.com/aboutcode-org/aboutcode-toolkit/releases", - "compare_url": "https://github.com/aboutcode-org/aboutcode-toolkit/compare/v11.1.1...main", + "compare_url": "https://github.com/aboutcode-org/aboutcode-toolkit/compare/v11.1.1...develop", "commits_since": 0, "prerelease": false, "author": "github-actions[bot]" @@ -384,7 +384,7 @@ "tag_url": "https://github.com/aboutcode-org/scancode-workbench/releases/tag/v4.0.3", "published_at": "2024-08-08T04:21:38Z", "releases_page_url": "https://github.com/aboutcode-org/scancode-workbench/releases", - "compare_url": "https://github.com/aboutcode-org/scancode-workbench/compare/v4.0.3...main", + "compare_url": "https://github.com/aboutcode-org/scancode-workbench/compare/v4.0.3...develop", "commits_since": 0, "prerelease": false, "author": "chinyeungli" @@ -423,7 +423,7 @@ "tag_url": "", "published_at": "", "releases_page_url": "https://github.com/aboutcode-org/www.aboutcode.org/releases", - "compare_url": "https://github.com/aboutcode-org/www.aboutcode.org/compare/...main", + "compare_url": "", "commits_since": 0, "prerelease": null, "author": ""