diff --git a/HISTORY b/HISTORY index 8960531..40e0a42 100644 --- a/HISTORY +++ b/HISTORY @@ -104,6 +104,58 @@ See the help for the full list. urchin -h +### Copyrights +Some people had contributed to Urchin but had not been added to the copyright +notice. I have updated the copyright notice to include everyone whom I believe +to have contributed patches. + +### License +I, Thomas Levine, have switched the previous BSD-style license for the Afferro +Gnu Public License (AGPL) after determining that the added restrictions in the +AGPL shouldn't have any practical legal consequences for people who want to +use Urchin. I did not get approval from the other authors as I believe the +licenses to be compatible. Here are the considerations that I considered. + +#### History +ScraperWiki owns the original version of Urchin (Thomas Levine did the early +work as part of his work for ScraperWiki.) and originally licensed it under a +BSD-style license with the advertising clauses removed. (This makes it a +"2-clause BSD license", similar to the FreeBSD license.) We had the previous +license just because that's what ScraperWiki put on everything. + +Other people made changes after this original ScraperWiki version. As of +January 2016, they are just Thomas Levine (when he wasn't working for +ScraperWiki) and Michael Klement. + +The 2-clause BSD license grants pretty much all rights. It says that you need +to attribute when you redistribute source code, but you don't necessarily have +to redistribute source code. + +#### License compatibility +A copyleft license adds the restriction that modified versions of the code +need to be licensed under the same license. GNU licenses in particular require +that source code be released if non-source versions are released, and the +different GNU licenses differ in what how the non-source version is defined. +(The original, GPL, discusses compiled binaries, for example.) Copyleft +doesn't mean anything specific for commercial use. + +Code licensed under the 2-clause BSD license can be modified and then licensed +as AGPL, because the 2-clause BSD license license allows that, but AGPL code +can't be modified as 2-clause BSD, because AGPL doesn't allow that. + +Of course, if we get all of the authors to agree on it, we can always add +whatever crazy license we want, regardless of what we have already. + +#### Practical differences +The distinction between the permissive 2-clause BSD license and the AGPL seem +to matter quite little in the case of Urchin. + +1. Urchin is written in an interpreted language (shell), so it would be + hard to distribute usefully without providing the source code. +2. Urchin usually just runs tests; it doesn't get compiled with the rest of + the code (also because it's in shell). Thus, I think a GPL license on Urchin + wouldn't infect the code being tested. + ### Source setup and teardown setup, teardown, setup_dir, and teardown_dir are now sourced instead of executed; they are referenced a bit like this. diff --git a/TODO b/TODO index 2d1b1da..1e489c4 100644 --- a/TODO +++ b/TODO @@ -11,12 +11,6 @@ https://github.com/creationix/nvm/issues/589 Documenting that people should run "env" when their tests fail might be good enough. -Licensing and copyright ------------------------- -* Reference all owners and years in the Copyright file -* Consider copyleft licenses -* Add license notices to other files if necessary - Packaging ------------ Package for package managers. @@ -39,43 +33,3 @@ Try running Urchin in Windows somehow. Interpreters include * Git for Windows (https://git-scm.com/download/win) * win-bash (http://win-bash.sourceforge.net/) -Consider copyleft licenses ----------- -ScraperWiki owns the original version of Urchin (Thomas Levine did the early -work as part of his work for ScraperWiki.) and originally licensed it under an -MIT-style license. Other people made changes after this original ScraperWiki -version. As of January 2016, they are just Thomas Levine (when he wasn't -working for ScraperWiki) and Michael Klement. - -The original license was MIT just because that's what ScraperWiki put on -everything. Should we change the license? - -The MIT-style license grants pretty much all rights. It says that you need -to attribute when you redistribute source code, but you don't -necessarily have to redistribute source code. - -A copyleft license adds the restriction that modified versions of the -code need to be licensed under the same license. GNU licenses in -particular require that source code be released if non-source versions are -released, and the different GNU licenses differ in what how the -non-source version is defined. (The original, GPL, discusses compiled -binaries.) Copyleft doesn't mean anything specific for commercial use. - -MIT-licensed code can be modified and then licensed as GPL, because MIT -license allows that, but GPL code can't be modified as MIT, because MIT -doesn't allow that. And if we get all of the authors to agree on it, we -can always add whatever crazy license we want, regardless of what we -have already. - -The distinction between MIT-style and GNU-something might matter quite little -in the case of Urchin. - -1. Urchin is written in an interpreted language (shell), so it might be - hard to distribute usefully without providing the source code. -2. Urchin just runs tests; it doesn't get compiled with the rest of the - code (also because it's in shell). Thus, I think a GPL license on - Urchin wouldn't infect the code being tested. - -This is as far as I have gotten with contemplating license changes. For now -we're sticking with the original MIT-style license, but it's easy to change -licenses later.