Oracle Solaris contains a lot of Free and Open Source Software (FOSS). For our recent 11.4 SRU 90 release, we tracked 1021 individually licensed pieces of FOSS included in our full package repository, and we provide the source code for nearly all of it, via two primary channels.
For a bit over 90% of the FOSS components, those which are mostly built and packaged separately, we provide our build recipes, patches, added files, and package manifests in the GitHub repo for our “Userland” consolidation at https://github.com/oracle/solaris-userland/. This repo only contains our development branch, from which we make a new sustaining branch once a quarter to build our SRU releases from, so doesn’t correspond exactly to any SRU release, and is usually showing changes that haven’t yet made it into an SRU, but are in testing for inclusion in the next sustaining branch point. It also doesn’t contain the original upstream source code, but a URL from where we originally downloaded it.
A few open source components are directly integrated into the source code for the Image Packaging System (IPS), which is provided in the GitHub repo at https://github.com/oracle/solaris-ips. Like the Userland repo, this is the development branch and may not match exactly what is in any given SRU release, but for the included third-party FOSS, usually does, given those components in IPS rarely change.
To get the source code for almost all of the FOSS components, including the components not included in the GitHub repos, the original sources for the Userland consolidation, and the exact versions we ship in each SRU or CBE release, you can download the full open source releases from Source Code for Open Source Software Components: Oracle Solaris. These downloads are currently split into 5 zip files of around 2 gigabytes in size, each containing a portion of a tar file, which when combined with the other portions can be unpacked to get the full open source code releases. The first zip file also includes a README file with directions on assembling and unpacking the tarballs.
Once you’ve unpacked the source tarballs, you’ll find 3 directories. The ips and userland directories correspond to the code in the GitHub repos described above. The osnet directory contains the FOSS software included in our core operating system packages, some of it as individual files imported from various FOSS sources, especially the BSD OS’es, others as complete components, such as the GRUB boot loader or the HAL service for abstracting hardware discovery & access.
Things that are not included in these source tarballs include the FOSS that comes from other Oracle products we bundle such as the JDK and Oracle Cloud Agent. Information about those can be found in the Oracle Technology Notices and Licenses section of Licensing Information User Manual for Oracle Solaris 11.4. The Third-Party Notices and/or Licenses for Oracle Solaris 11.4 section of that manual also contains a list of all the FOSS software in the native Solaris packages, along with which IPS package it’s included in and a link to the license information for it, as of the most recent CBE release to be published at any given time.
