Mark Bainter
2003-06-28 20:25:41 UTC
If we care at all about usability, we need something better than just writing
down a long list of all the licenses that one (does not)accept. I respect
some people are careful and want that sort of control, but I would prefer to
be able just to set a level of openness. Now this will specifically be
something for those who are not so picky. So if I feel like a purist, I only
get the cream, and if I feel utilitarian, I get the lot, and then there
should be a few levels between. The problem unfortunately remains but to a
smaller scale. Some stuck-up is going to go down fighting about how to class
the licenses, but in then he/she can manually write down all licenses he/she
finds acceptable, and be happy.
Freedom it was, and that includes the freedom to be ignorant. If you argue
this last point, be sure you are covered, because that is deep water.
I won't argue that you have the freedom to be ignorant. But that freedomdown a long list of all the licenses that one (does not)accept. I respect
some people are careful and want that sort of control, but I would prefer to
be able just to set a level of openness. Now this will specifically be
something for those who are not so picky. So if I feel like a purist, I only
get the cream, and if I feel utilitarian, I get the lot, and then there
should be a few levels between. The problem unfortunately remains but to a
smaller scale. Some stuck-up is going to go down fighting about how to class
the licenses, but in then he/she can manually write down all licenses he/she
finds acceptable, and be happy.
Freedom it was, and that includes the freedom to be ignorant. If you argue
this last point, be sure you are covered, because that is deep water.
does not put responsibility on everyone else to put out safeguards for you.
If you choose to be ignorant, then you also choose to accept the potential
consequences of that ignorance.
I was however, thinking that it should be possible to have certain basic
groupings for licenses. I would suggest at least four provided groups,
which could be extended by the user if they wanted to customize these,
or add their own groups to the mix.
FREE: Only OSI-Approved Licenses
SOURCE_AVAILABLE: Anything the source is provided for
NON_COMMERCIAL: Anything freely available. Source might be closed, or
require special hoops to obtain.
ANYTHING_GOES: All licenses.
With this, you could have settings like:
VALID_LICENSES="FREE -GPL2" to get all FREE licenses, except gpl2
I'd personally suggest a default of SOURCE_AVAILABLE, from a usability
perspective, but wouldn't object too strongly to a default setting of
FREE, so that those who want to claim the moral high ground, but not have
to put in any of the intellectual effort could still do so.
Along these lines, I think it might not be a bad idea to have similar
options for USE. So people can specify a common group that has a
default set of parameters for common applications. The obvious
examples being SERVER and WORKSTATION, where something like server
would have more workstation oriented settings (like X, GTK, GTK2, etc)
turned off by default.
Since these would probably require the parser to be able to make
certain assumptions to keep things from getting ugly, I'd suggest
that there might need to be a seperate variable for the group.
Or, we could just require that the first entry in the var be the
group, and if you want to start from scratch and customize the
whole thing you can just put None in the first entry.