Apache MADlib
Copyright 2016-2023 The Apache Software Foundation.

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

Portions Copyright (c) 2014-2015, Pivotal Inc. All rights reserved.

Portions Copyright (c) 2010-2013 by EMC Corporation. All rights reserved.

Portions Copyright (c) 2010-2013 by Regents of the University of California. All rights reserved.
