Why does uPortal use Apache 2 license?


I’d be interested to hear what licenses other projects were using, and why?

What license does uPortal use?

The easy part of the question: uPortal is using Apache License 2.0.

Why did uPortal license away from New BSD, its original license?

The hard part of the question: why?

In the beginning (in the JA-SIG, or JASIG, or Jasig days), uPortal used the BSD 3-Clause aka New BSD license.

In the run up to merging with the Sakai Foundation to become the Apereo Foundation, Jasig adopted the position that New BSD is not good enough, which is now Apereo’s documented position.

This license simply does not provide enough protection for either contributors or adopters to really understand the terms under which the software is being shared.

(I don’t agree with this statement. New BSD meets the Open Source Definition, and it thoroughly disclaims warranties and liabilities. Good enough is good enough. I’d have no qualms about contributing to or adopting a New BSD licensed software product.)

GNU says this about 3-clause BSD:

The modified BSD license is not bad, as lax permissive licenses go, though the Apache 2.0 license is preferable. … the Apache 2.0 license is better for substantial programs, since it prevents patent treachery.

Maybe how badly you want to re-license away from New BSD hinges on how worried you are about patent treachery.

Some people worried. So Jasig required uPortal to re-license.

So that’s why not New BSD.

Why did uPortal re-license to Apache2, its current license?

I don’t recall just how Apache2 was selected, who did the selecting, what alternatives were considered. I don’t even recall if this is something I once knew and have forgotten.

A 2008 document in the Jasig wiki, Open Source Licensing, (by Unicon / John Lewis) recommends Apache2 for the non-copyleft case and might have been influential.

Guessing at what might have happened:

Do what the Apache Software Foundation does.

Apache2 is widely adopted, widely understood, well documented, the practices around it are well documented and honed by the Apache Software Foundation. It’s not just a viable license, it’s a viable license ecosystem.

Nobody has to apologize for adopting Apache2, it’s one of those default, acceptable, generally recognized as safe licenses?

ECLv2 would also be fine, it’s just less mainstream. uPortal’s adopters and communities weren’t already worked up about Apache2’s patent language so there wasn’t enough reason to start getting worked up about that.

- Andrew Petro

wearing individual contributor hat.

The views expressed herein are not necessarily those of Apereo, nor of uPortal, nor of my employer, nor of…

Related Posts

CAS 6.1.0 RC2 Feature Release

...in which I present an overview of CAS 6.1.0 RC2 release.

Apereo CAS as an OAuth2 Authorization Server

Learn how to configure CAS as an OAuth2 Authorization Server and configure Spring Boot client app to work with it

Apereo CAS - SAML2 Identity Provider Integration w/ Gitlab (also staring HAProxy and LDAP)

Learn how Apereo CAS may act as a SAML2 identity provider for Gitlab and run everything locally on a workstation with Docker and Java.

Apereo CAS - Keeping Healthy with Spring Boot

Learn how you may keep your Apereo CAS deployment healthy, monitoring its status using Spring Boot actuator endpoints and health indicators.

CAS 6.1.0 RC1 Feature Release

...in which I present an overview of CAS 6.1.0 RC1 release.

Apereo CAS - SAML2 Identity Provider Integration w/ InCommon

Learn how Apereo CAS may act as a SAML2 identity provider to integrate with service providers from metadata aggregates such as InCommon with various attribute release policies for research and scholarship, etc.

CAS 6.1.x Deployment - WAR Overlays

Learn how to configure and build your own CAS deployment via the WAR overlay method, get rich quickly, stay healthy indefinitely and respect family and friends in a few very easy steps.

Apereo CAS - Have you been pawned?

Learn how Apereo CAS may be configured to check for pawned passwords and warn the user, using the haveibeenpawned.com service

Apereo CAS - OohLala Mobile SAML2 Integration

Learn how to integrate OohLala Mobile with Apereo CAS running as a SAML2 identity provider.

Apereo CAS - Cranium Cafe SAML2 Integration

Learn how to integrate Cranium Cafe with Apereo CAS running as a SAML2 identity provider.