Length of Open Source licenses

I have been choosing a license for my ficticious programming language, Pepper. One consideration is the complexity of the (combination of) license(s) used. Complexity may be related to length, so for your enjoyment, here are the lengths of some popular licenses:

Length of Open Source Licenses

Is it a coincidence I’ve decided to use the MIT License?

Here’s how I made it (on my Ubuntu Linux 12.04 system):

#!/bin/bash

declare -A LICENSES

LICENSES[Apache]=file:///usr/share/common-licenses/Apache-2.0
LICENSES[GPL2]=file:///usr/share/common-licenses/GPL-2
LICENSES[GPL3]=file:///usr/share/common-licenses/GPL-3
LICENSES[BSD]=file:///usr/share/common-licenses/BSD
LICENSES[Artistic]=file:///usr/share/common-licenses/Artistic

LICENSES[MIT]=http://www.jclark.com/xml/copying.txt
LICENSES[Mozilla]=http://www.mozilla.org/MPL/2.0/index.txt
LICENSES[Python]=http://hg.python.org/cpython/raw-file/tip/LICENSE
LICENSES[Eclipse]=http://www.eclipse.org/legal/epl-v10.html

function wordcounts()
{
	for K in "${!LICENSES[@]}"; do
	{
		echo `lynx -dump ${LICENSES[$K]} | wc -w` $K
	}; done
}

wordcounts | sort -n | awk '{print $2 " " $1}' > data.txt

gnuplot <<END
set terminal png large enhanced font "Helvetica,11"
set output 'license-length.png'
unset key
set style fill solid
set title "Number of words in common Free and Open Source licenses"
plot 'data.txt' using (column(0)):2:(0.5):(\$0):xtic(1) with boxes lc variable;
END

rm data.txt

2 thoughts on “Length of Open Source licenses”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.