Skip to Content.
Sympa Menu

cc-devel - Re: [cc-devel] License Compatibility Checker using ccREL

cc-devel AT lists.ibiblio.org

Subject: Developer discussion for Creative Commons technology and tools

List archive

Chronological Thread  
  • From: Mike Linksvayer <ml AT creativecommons.org>
  • To: Vítor Baptista <vitor AT vitorbaptista.com>
  • Cc: cc-devel AT lists.ibiblio.org
  • Subject: Re: [cc-devel] License Compatibility Checker using ccREL
  • Date: Sat, 18 Sep 2010 12:16:00 -0700

On Fri, Sep 17, 2010 at 5:37 PM, Vítor Baptista <vitor AT vitorbaptista.com> wrote:
Hi,

My name is Vitor, I am a brazilian CompSci student. I'm in my bachelor's last semester, and I'm building a free license compatibility checker as my thesis. I would like to ask some questions, any help will be greatly appreciated. Sorry for the long e-mail.

* If I were to describe the "default" copyright schema (as in "I made something but haven't made any explicit license"), I should simply use ccREL with no permissions, no requirements and no prohibitions? With all attributes unset?

Yes, starts from default, so no permissions = default.

 
* I'm thinking about how I could, using ccREL, check if two licenses are compatible.

You can check for incompatibility (but even then an edge case/limited circumstances potential for compatibility could be missed, eg imagine if FDL 1.3 were so modeled; it would appear incompatible with BY-SA, but under circumstances and for a limited time, it was), but can't be certain of compatibility based on CCREL-level permissions/requirements/prohibitions. Licenses could be incompatible for reasons not modeled. For example, BY-SA 1.0 is not upwards compatible with later versions. (Perhaps this indicates we should add another assertion to the description of BY-SA 1.0 and look for other such cases to allow more reasoning with just CCREL level descriptions.)

It's also important to realize that "compatible" (or "interoperable") often is too imprecise to be useful without specifying up/down, donor/recipient (or whatever your preferred term is); two-way compatibility is usually only among very similar licenses, eg among any version/jurisdiction of BY or among jurisdiction ports of a single version of BY-SA.

 
At a first glance it seems that I could simply:
1. You can't give more permissions than those that were given to you (but you can give less);
2. You can't remove prohibitions (but you can add);
3. You must comply to the requirements of each and every part of your software (and might add some more);

These seems to work for the simple case (no copyleft/sharealike parts). But, before I go into that, there're two attributes that I find confusing.
1. High Income Nation Use -- If I don't this permission, what does it means? That I can't distribute the work in the USA, for example? I couldn't find any licenses that uses this (not CC licenses, at least);

Uh oh, you found a bug in our schema -- this is a prohibition developed for the ill-fated http://creativecommons.org/licenses/devnations/2.0/ -- glad you couldn't find it. :-) If you find this prohibition, you don't have permission to distribute in the USA, for example.

Bug: http://code.creativecommons.org/issues/issue663
Schema, for those following along described at http://creativecommons.org/ns#
 
2. Sharing -- Also, couldn't find no licenses using it. It means that I may create a derivative work and sell it, but can't sell the unmodified program?

Right. Associated with another ill-fated license I'm happy you couldn't find -- http://creativecommons.org/licenses/sampling/1.0/

Devnations and sampling received almost no use and were retired 3 years ago, see http://creativecommons.org/weblog/entry/7520 and my mini-celebration http://gondwanaland.com/mlog/2007/06/04/eol/ :-)
 

These attributes seems more prohibitions than permissions to me. I don't think I'm understanding them fully.

* For compatibility between copyleft licenses, there're x rules:
1. Is it the same license? If so, they're compatible; if not, use rule 2;
2. Are they explicitly compatible? For this, I have to use a pre-calculated database like "GPLv2+ is compatible with GPLv2 or any later version", etc. (maybe it'll be nice to have an extension to ccREL to support this? (Thanks RDF))

If there's a Lesser Copyleft license, my program (as I think of it) cannot decide, so just tell the user to contact a lawyer. If there's a ShareAlike, use:
1. Compatible if it's just a newer version of the license;
2. Compatible if it's the same version but for a different jurisdiction;
3. Incompatible if not.

Those rules sound right to me, but need a test suite. As above, it might be useful to extend CCREL to support more compatibility reasoning.
 
Any thoughts or ideas about this? Does these rules makes sense?

 Really appreciate that you're doing this work/research! Where can one find your code?

Mike

--
http://creativecommons.org/about/people/#ml



Archive powered by MHonArc 2.6.24.

Top of Page