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.
What is changing?
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 code that is currently hosted on https://github.com/lxc/lxd will now be available at https://github.com/canonical/lxd.
-
The LXD section on https://linuxcontainers.org/ will be removed, and the information is now available at https://ubuntu.com/lxd.
-
Documentation will move from https://linuxcontainers.org/lxd/docs/latest/ to https://documentation.ubuntu.com/lxd/.
-
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.
Why has Canonical made this decision?
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.
Does this move mean that LXD is now becoming Ubuntu-specific and purely reliant on snaps?
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.
How does this affect the future of LXD and the current roadmap?
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.
What does this mean for the LXD release schedule?
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.
Iâve joined the Ubuntu Discourse, but I am unable to post a new topic
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.
Regarding using the Ubuntu Discourse
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)
Change to AGPL-3.0-only
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.
What about the Go SDK client package?
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.
Iâm concerned about losing access to the community image server
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.