In AUI 8.0, the AUI repo was split in to multiple discrete packages, and the core AUI components are re-licensed under an Apache-2.0 license once more. Head to AUI 8.0 is released! for more details.
The remainder of this post applies to AUI 7.x.
Hi everybody, I’m @daz. I’m maintaining the AUI library at the moment.
I want to give you some advanced notice about changes to the AUI library license: From the next major version of AUI – as in, for AUI 7.x and onwards – AUI will be licensed under the Atlassian Developer Terms. This license replaces the Apache-2.0 license going forward.
In the spirit of Open Company, No Bullshit, I want to explain the reasoning behind this decision, and our plans for AUI going forward.
Why we’re making the change (and some history)
You may be aware that the AUI version present in Atlassian products is actually built from two separate repositories:
- the aui repo contains the core component definitions, and
- the aui-adg repo applies Atlassian’s Design Guidelines to the AUI components.
This repository split was originally made for licensing reasons: while “aui” has been licensed under Apache-2.0, the “aui-adg” variant has been licensed under Atlassian’s ADG license.
This repository split allowed the AUI component code to exist under a permissive open-source license, but also came with a number of downsides.
The most confusing part of AUI is how it is distributed and the license it is distributed under. Of the ways AUI currently ships – via the AUI CDN, a P2 plugin, the npmjs registry, and AUI’s own documentation – each ships a different variant, and the license is not always the open-source variant.
There are other problems with developing and maintaining the AUI library.
- Testing the aui-adg variant requires a lot of manual setup (a strange dance of
npm
andbower
linking). - Changes to component design (behavioural or aesthetic) often need to be made twice – once in aui, and again in the aui-adg variant.
- Structural changes are extremely difficult, as they must be made in lock-step across the two repositories.
To address these downsides, we decided to merge the aui and aui-adg repositories together again. While this allows us to simplify AUI’s distribution, build, and development problems, it necessitated a change in licensing to cover the design assets now bundled in AUI itself.
What the license change means for you
The Atlassian Developer Terms allows third party developers to use Atlassian’s SDKs to develop for the Atlassian marketplace.
Applying this license to AUI means:
- If you’re using AUI to build something for use within the Atlassian ecosystem, nothing changes for you. For example, if you are building a P2 plugin for a Server product, or building an Atlassian Connect app, you can continue to use AUI.
- For other usages, you may be unable to use the new version of AUI.
The licensing change to AUI will come in to effect in AUI 7.x and onwards. If you are using AUI 6.x or earlier, its license will continue to apply.
In short: if you’re using AUI to build something that is NOT for use within the Atlassian ecosystem, you cannot use AUI 7.x, but you can continue to use AUI 6.x.
What to expect of AUI in the future
Where the AtlasKit library provides an implementation of Atlassian’s Design Guidelines for Cloud, AUI will instead fit the design of Atlassian Server products.
The AUI library will be iteratively updated to improve upon aspects of its design, behaviour, and performance in Atlassian Server products.
First and foremost, we want AUI to ease the burden of building your UI. We know that this license change will disappoint some people, but we’re making it in order to help us deliver on that mission. The change allows us to move a bit faster, simplify AUI’s distribution, build, and development problems, and generally focus on the point of having a library like AUI in the first place: building the UI.
If you have questions or feedback for the AUI team or about building UI for Atlassian products, I’m listening.
Cheers,
@daz