Moving to the Apache v2.0 License

Good news everyone! By popular demand, we intend to change the Scala license
from the 3-clause BSD License to the Apache License v2.0.

You have until 10 August 2018 to raise any objections (see below for contact info).

Is any of this legal advice?

No.

Why change the license?

A number of contributors have expressed reservations about the asymmetry between our CLA (Apache v2) and our license (BSD-3).
This change aligns our license with our CLA.

How is the license different?

Backed by the Apache Software Foundation, the Apache license is essentially a more carefully worded version of the BSD license, with the addition of a patent grant.
There are a few other smaller differences, discussed below.

When will the license change take effect?

Unless valid objections are raised by the deadline, we will immediately begin updating the licensing terms of all applicable files in the
GitHub repositories of the Scala organization that are currently licensed under the 3-clause BSD License,
so that subsequent releases will be governed by the Apache License v2.0.

How does the license change affect me, as a Scala user or contributor?

Practically speaking, we are not aware of any way in which the change would affect you negatively.
In fact, the patent grant clause should help alleviate any concerns you or your employer may have around patent litigation.

How does the change affect a creator of a derived work?

Please note clause 4b of the Apache 2 license, governing redistribution:
“You must cause any modified files to carry prominent notices stating that You changed the files;”

How about the CLA?

We will continue to require signing the same CLA, which was already derived from
the Apache individual contributor license agreement.

Why?

In principle, clause 5 of the license already covers licensing of contributions.
However, if any disputes were ever to arise around past contributions, it helps the project to have a record that each contributor
explicitly intended to contribute and that they declared to have the right to do so.

A few good reads on this topic: https://julien.ponge.org/blog/in-defense-of-contributor-license-agreements/, http://apetro.ghost.io/apache-contributors-no-cla/.

Anything else?

Please do read the full license. It may not sound like fun, but it will only take a few minutes.
Also, eat your veggies.

I Object! How do I let you know?

Let us know by the deadline, either via email ([email protected]) or by commenting on this thread.

No other means of communication will be considered on this topic. Please also see: https://xkcd.com/14/.

12 Likes

This is really great news, I’m so glad this was decided as there was only lukewarm discussion at the Scala Center meeting in 2016 August on this.

@adriaanm The news announcement has since been updated, you might want to sync the text.

1 Like

There is now a PR on this change https://github.com/scala/scala/pull/7306

The license change PR (https://github.com/scala/scala/pull/7306) is now merged onto 2.13.x.

The change has also been backported to 2.12.x and will be merged soon: https://github.com/scala/scala/pull/7314

This means all future Scala releases will be under the new license.

Also, Scala.js recently did their first Apache 2 licensed release (namely 1.0.0-M6).

1 Like