non-free in moonbase

Auke Kok sofar at foo-projects.org
Thu Oct 20 19:16:58 UTC 2005


I've been too silent about this issue for a long time (blame me). Here's 
  my POV on this - partially based on the general trend of the 
discussion until now.

* There is a requirement for non-free modules for many users

* Having a module which describes how to _install_ a non-free-ly 
available package does not violate any vendor's EULA or license

* Having a module which describes how to _download_ () *might* violate 
this however

* Having a central cache (distribution location) for () *does* violate a 
vendor's EULA or license

This is the -state- we are currently in. You might discuss these items 
but this is the safe side of the facts, and we should stay clear on any 
legal issues just for the sake of it.


Concluding, we have several solutions to this issue:

o completely remove non-free modules alltogether

o allow all non-free modules, and disallow caching of non-free modules

o allow all non-free modules, and allow caching of non-free modules


Discussing these options:

o completely remove non-free modules alltogether
Will result in frustration, departing lusers, frustrated developers. Not 
a smart idea

o allow all non-free modules, and disallow caching of non-free modules
Makes legal action against us highly unlikely as we are not violating 
any licenses, staying clear of the re-distribution issue, but still 
providing users a comfortable way of installing packages.

o allow all non-free modules, and allow caching of non-free modules
Will put us in an awkward spot with vendors, unlikely that this results 
in legal action against us, but chance exists. Not a smart idea.


I don't think I need to elaborate on that, it is obvious that the issue 
has a clean solution to it. However, this will require some code work.


If we want to disable caching of non-free modules we can go two ways;

1- disable caching of packages on a per-module basis

2- group all non-free packages into a specific section, and disallow 
caching for all those


technically, (1) is very simple, and (2) more complex. I'm a fan of 
simple solutions.


Additionally, tagging modules as non-free (1) per module, allows us to 
"filter" packages for the user (you can see this as a general "exile" 
rule - as you can see this will be pretty easy to implement already). We 
can set a default for the user to install/not install non-free modules 
which the user can override (`lunar set NON_FREE on` etc.) and provide 
proper warnings and messages to direct the user to this choice he has to 
make at some point.


I move to implement (1).

Auke



More information about the Lunar mailing list