This week, we made some changes to the LXD project and want to clarify what they mean for users. The changes pertain to the maintenance and hosting of the project: Canonical is now the main maintainer and the infrastructure is hosted by Canonical.
We are very proud that LXD has grown in both contributions and impact since its launch, with hundreds of contributors. This is a testament to the power of the community and we want to honour their contributions, which is why we will increase our investment in the project and continue to expand the team.
Over the years, Canonical has invested considerably in LXD, both in working with the community, as well as adding features for enterprise users and providing support. This commitment to the LXD project will remain the same going forward. Contributor guidelines and licensing will also remain the same.
This post answers the most common questions raised following the announcement.
LinuxContainers.org is an umbrella initiative covering several projects aimed at the development of Linux container technologies. Until now, these included: LXC, LXCFS, LXD, distrobuilder, libresource and lxcri.
While hosted under the LinuxContainers umbrella, Canonical was the creator and primary developer of LXD since its creation, and it has now decided to move the project to its own infrastructure.
This includes the following changes:
The LXD section on the Linux Containers forum will slowly be sunset in favour of a section on the Ubuntu Discourse.
Development, testing and CI/CD infrastructure that until now was hosted on the LXC community infrastructure, will now be hosted on Canonical infrastructure.
LXC, as well as other initiatives listed above, remain part of the Linux Containers project and will continue to receive contributions from Canonical. LinuxContainers.org, as well as its community forum, will remain available for all information and discussions regarding projects remaining under the LinuxContainers umbrella.
The LXD project is continuously evolving, and in order to align with other Canonical-sponsored projects, we believe that LXD would be better served by being hosted on Canonical’s infrastructure going forward.
Canonical can provide a highly scalable infrastructure for the LXD project to live and grow on, and ensure robustness for the future. We also believe that moving the LXD conversations to the Ubuntu Discourse allows for greater community visibility, discussion, collaboration and potential contributions from a wider community. The Canonical docs team is also working to improve and standardise our product documentation. The move to our infrastructure will enable more robust documentation and a better experience for LXD users.
No, LXD continues to be distro-independent, and developed and distributed in the same way as it was until now. While we consider snaps being the easiest way to install LXD, other installation options are, and will remain, available, as outlined in our documentation.
Canonical remains committed to developing and improving LXD going forward. We continue to have a team dedicated to maintaining and developing LXD, and we plan to further grow the team in the future.
The commitment to the current roadmap, as outlined in this video, remains unchanged.
Going forward we will continue to share our future roadmaps publicly, and as before, we welcome input from the community in their preparation.
LXD has two types of releases: monthly feature releases, and LTS releases every two years that follow the Ubuntu release cadence. This schedule will remain unchanged going forward.
Due to the infrastructure changes, we do expect this might potentially cause delays with the next monthly release. But going forward, we will stick to the same release cadence as before. The releases will be signed by Thomas Parrott, using this key.
In order to prevent spam, the Ubuntu Discourse has a limitation for new users - they can’t create topics until they’ve entered at least 5 topics, read 30 posts (replies) and spent 10 minutes reading posts. New users just need to browse a little, open a few posts or post a couple of replies, and their trust level will automatically be raised.
As part of the transition, communications around the LXD project from the LinuxContainers forums are being brought into the Ubuntu Discourse. This may include support-related questions which are typically directed to other community support platforms.
We are working on the best way to organize this in the long-term. Until this is completed, LXD support questions can be asked in the LXD - Support sub-category. This category is set up in a way that it does not interfere too much with regular usage of the Ubuntu Discourse.
We are considering all your feedback regarding this and will be doing our best to smooth out the process going forward.
Update from 10 January 2024 (also published here)
As stated in the LXD 5.20 release notes, LXD is now released under AGPL-3.0-only. All Canonical contributions have been relicenced and are now under AGPL-3.0-only. Community contributions remain under Apache-2.0 - this refers to all contributions made before December 12th, 2023.
Going forward, all contributions will be released as AGPL-3.0-only, unless specified otherwise in the commit message. In other words, all Apache-2.0 code will be identifiable by the commit messages or, where applicable, by the file header.
Reiterating what was stated in the release notes, the change in the licence does not prevent our users from using, modifying, or providing LXD-based software solutions, provided that they share the source code if they are modifying it and making it available to others. It is designed to encourage those looking to modify the software to contribute back to the project and the community.
Following the announcement, several community members voiced their concerns about the licence of the Go SDK client package (which is statically linked with users’ own software). We have no intention of hindering community usage or integrations, and the Go SDK client package will remain under Apache-2.0, we will shortly update the package to reflect that. The Python SDK client package also remains Apache-2.0 licensed.
The LinuxContainers project has decided to restrict access to the community image server for LXD users. We regret their decision and the disruption it will cause for the community.
We have no intention of restricting LXD only to Ubuntu users and will be providing a replacement image server serving images for other Linux distributions. The work is in progress and we’ll be providing an update on the initiative in the near future. In the meantime, we are happy to get feedback from our users in terms of what images we should prioritise.