[1/2] Add script to remove advertising clause from BSD-licensed software

Message ID 20200128185453.360285-2-keithp@keithp.com
State New
Headers show
Series
  • [1/2] Add script to remove advertising clause from BSD-licensed software
Related show

Commit Message

Keith Packard Jan. 28, 2020, 6:54 p.m.
This script removes advertising requirements from three different BSD licenses:

 4-clause

	Copyright (c) <year>, <copyright holder>
	All rights reserved.

	Redistribution and use in source and binary forms, with or without
	modification, are permitted provided that the following conditions are met:
	1. Redistributions of source code must retain the above copyright
	   notice, this list of conditions and the following disclaimer.
	2. Redistributions in binary form must reproduce the above copyright
	   notice, this list of conditions and the following disclaimer in the
	   documentation and/or other materials provided with the distribution.
	3. All advertising materials mentioning features or use of this software
	   must display the following acknowledgement:
	   This product includes software developed by the <organization>.
	4. Neither the name of the <organization> nor the
	   names of its contributors may be used to endorse or promote products
	   derived from this software without specific prior written permission.

	THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY
	EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
	DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
	DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
	(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
	LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
	ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
	(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
	SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 2 clause 1987 version

	Copyright (c) 1987 Regents of the University of California.
	All rights reserved.

	Redistribution and use in source and binary forms are permitted
	provided that: (1) source distributions retain this entire copyright
	notice and comment, and (2) distributions including binaries display
	the following acknowledgement:  ``This product includes software
	developed by the University of California, Berkeley and its contributors''
	in the documentation or other materials provided with the distribution
	and in all advertising materials mentioning features or use of this
	software. Neither the name of the University nor the names of its
	contributors may be used to endorse or promote products derived
	from this software without specific prior written permission.
	THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
	IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

 Single clause 1990 version

	Copyright (c) 1990 The Regents of the University of California.
	All rights reserved.

	Redistribution and use in source and binary forms are permitted
	provided that the above copyright notice and this paragraph are
	duplicated in all such forms and that any documentation,
	advertising materials, and other materials related to such
	distribution and use acknowledge that the software was developed
	by the University of California, Berkeley.  The name of the
	University may not be used to endorse or promote products derived
	from this software without specific prior written permission.
	THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
	IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Signed-off-by: Keith Packard <keithp@keithp.com>

---
 remove-advertising-clause | 68 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)
 create mode 100755 remove-advertising-clause

-- 
2.25.0

Comments

Corinna Vinschen Jan. 29, 2020, 10:42 a.m. | #1
On Jan 28 10:54, Keith Packard wrote:
> This script removes advertising requirements from three different BSD licenses:

> [...]


Btw., git am complains about trailing whitespaces

> +	    -e '/4. Neither the name/s/4\./3./' -i "$i" 


here

> +done

> +

> +#

> +# Remove advertising phrase from 1987 version

> +#

> +

> +for i in `git grep -l 'and in all advertising materials mentioning features or use of this' | grep -v remove-advertising-clause`; do

> +	sed -e '/in the documentation or other materials provided with the distribution/s/distribution/distribution./' \

> +	    -e '/and in all advertising materials mentioning features or use of this/d' \

> +	    -e '/software. Neither the name of the University nor the names of its/s/software\. *//' -i "$i"

> +done	    


and here.

> +

> +#

> +# Remove advertising phrase from 1990 version

> +#

> +

> +for i in `git grep -l 'advertising materials, and other materials related to such' | grep -v remove-advertising-clause`; do

> +	sed -e '/advertising materials, and other materials related to such/s/advertising materials, and/and\/or/' -i "$i"

> +done

> -- 

> 2.25.0


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat

Patch

diff --git a/remove-advertising-clause b/remove-advertising-clause
new file mode 100755
index 000000000..c7b0b6df2
--- /dev/null
+++ b/remove-advertising-clause
@@ -0,0 +1,68 @@ 
+#!/bin/sh
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+# Copyright © 2019 Keith Packard
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above
+#    copyright notice, this list of conditions and the following
+#    disclaimer in the documentation and/or other materials provided
+#    with the distribution.
+#
+# 3. Neither the name of the copyright holder nor the names of its
+#    contributors may be used to endorse or promote products derived
+#    from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+# Remove advertising clause from BSD licenses
+
+#
+# 4-clause to 3-clause
+#
+for i in `git grep -l 'All advertising materials' | grep -v remove-advertising-clause`; do
+	sed -e '/3\. All advertising materials mentioning features or use of this software/d' \
+	    -e '/must display the following acknowledgement:/d' \
+	    -e '/This product includes software developed by the University of/d' \
+	    -e '/California, Berkeley and its contributors\./d' \
+	    -e '/This product includes software developed by the NetBSD/d' \
+	    -e '/Foundation, Inc. and its contributors./d' \
+	    -e '/4. Neither the name/s/4\./3./' -i "$i" 
+done
+
+#
+# Remove advertising phrase from 1987 version
+#
+
+for i in `git grep -l 'and in all advertising materials mentioning features or use of this' | grep -v remove-advertising-clause`; do
+	sed -e '/in the documentation or other materials provided with the distribution/s/distribution/distribution./' \
+	    -e '/and in all advertising materials mentioning features or use of this/d' \
+	    -e '/software. Neither the name of the University nor the names of its/s/software\. *//' -i "$i"
+done	    
+
+#
+# Remove advertising phrase from 1990 version
+#
+
+for i in `git grep -l 'advertising materials, and other materials related to such' | grep -v remove-advertising-clause`; do
+	sed -e '/advertising materials, and other materials related to such/s/advertising materials, and/and\/or/' -i "$i"
+done