Did you know that using Nim's import keyword supposedly constitutes entering 
into a contract? Are you aware of all the legalese imposed on you by the 
modules you use (as well as their dependencies, and their dependencies' 
dependencies, etc)? Here are a few examples:

  * The [libravatar](https://nimble.directory/pkg/libravatar) module uses the 
PPL / "[Peer Production 
License](https://raw.githubusercontent.com/juancarlospaco/nim-libravatar/master/LICENSE)",
 self-described as "copyFARleft". It includes language like: "Any use by a 
business that is privately owned and managed, and that seeks to generate profit 
from the labor of employees paid by salary or other wages, is not permitted 
under this license." Even professional lawyers would disagree on what that 
license actually means exactly. You might need a special permission slip signed 
by the ghost of Karl Marx...
  * The license for the [nimwc](https://nimble.directory/pkg/nimwc) module is 
incorrectly identified as "GPLv3" in nimble metadata, but it's 
[actually](https://github.com/ThomasTJdev/nim_websitecreator/blob/master/nimwc.nimble)
 the 
[PPL](https://raw.githubusercontent.com/ThomasTJdev/nim_websitecreator/master/LICENSE)
 as well. So it's not enough to look in the nimble directory, you have to look 
at the actual package code to know what "contracts" you've supposedly just 
agreed to...
  * The ["anti-fascist" 
license](https://github.com/jamiebuilds/anti-fascist-mit-license/blob/master/LICENSE)
 bans use by Trump supporters (and, judging from how many leftists misuse this 
term, anyone to the right of Bernie Sanders). This hasn't reached the Nim 
ecosystem yet (as far as I know - I didn't check every single package), but 
it's only a matter of time...



I have been observing the state of Nim ecosystem's [license 
freedom](https://copyfree.org) for quite some time. I once thought that the 
relative lack of legal encumberedness could be [a unique selling 
point](https://voat.co/v/programming/2853775) for Nim. It's been very 
disappointing to watch Nimble copyfree package percentage fall from [89.2% in 
Aug 2016](https://archive.fo/zz9t6), [88.1% in Sep 
2017](https://archive.fo/YShGX#selection-825.0-825.4), to 85.7% today. Nim's 
biggest competitor, Dlang, has been moving in the favorable direction instead...

Things I recommend:

  * Checking that the Nimble license metadata matches the license claims in the 
code.
  * Limiting the official Nimble module list to just the code with acceptable 
licenses. I think most people will disagree with me on where this line should 
be drawn, but it needs to be drawn somewhere...
  * Politely 
[nagging](https://archive.fo/7jzCs/3c8f7fb0cb40574f48e753972f0e055c61281839.png)
 module authors to encourage using the same legal terms as Nim itself: [the 
good 'ol MIT 
license](https://writing.kemitchell.com/2016/09/21/MIT-License-Line-by-Line.html),
 or [equivalent](http://copyfree.org/standard/licenses).


Reply via email to