DEVELOPMENT VERSION: This is an experimental DALICC environment. Features, data and APIs may change or be reset without notice. A stable version of this service, with a potentially different feature set, will be made available soon at dalicc.net.

Introduction


Last changed Markdown source

On this page

Part of the documentation index.

DALICC treats a license as data. Behind every entry in its library is a model of what a license actually says: the kinds of work it covers, what it lets you do, what it forbids, the duties that come with each permission, and the warranty and liability text quoted from the legal document itself. Because the licenses are models rather than prose, a machine can read them, compare them, and work out whether two of them can live in the same product.

DALICC is for anybody who has to answer a licensing question and would rather not answer it by reading twelve legal texts. That means researchers publishing data, developers picking a license for a repository, people assembling a work from parts that came with different terms, and anybody who needs a license of their own written down properly.

It is not legal advice. Every model is one reading of a legal text, and the compatibility checker answers from the rules it was given. Get legal advice before you rely on any of it.

The tools

License Library is the catalogue: 290 distinct licenses, with 289 further records that are ports or editions of them: the same license adapted to another legal system, or reissued by another body. Search it by keyword, or open a license directly by its identifier, including an SPDX one the SPDX license list has deprecated. Every license has a permanent address that works for a person as a page and for a machine as data.

Reading a license gives you the whole model on one page, with the disclaimers quoted rather than paraphrased and the history of the record. The page also writes your choice out for you: a small data file to keep beside your work, an attribution line where one is really required, and a badge.

License Search turns the question around. Instead of asking what a license is called, you say what you need to do with the work, and it returns the licenses that let you do it.

License Comparator puts several licenses side by side in one table and flags the rows where they disagree, so the differences are the first thing you see.

License Compatibility Checker answers the question most people come here with: may I combine these works, and what may I publish the result under? It names every conflict and says where it comes from, and it gives you a statement file to keep with the finished work.

License Composer writes a license of your own, from a guided form or from a tree of statements in its expert view, checks it for contradictions, publishes it at a permanent address, and can write the license text to keep with the model.

GitHub License Compatibility Checker takes a code repository, finds the license of every dependency, and runs the same compatibility check over all of them at once.

How reasoning works explains what the reasoner does and what a dependency graph is for, in five steps. A license is a list of rules over named actions. A dependency graph says how those actions relate to each other. A conflict follows from the two: one license forbids what another allows, or the graph relates the two actions for you.

Dependency Graph Viewer shows the rules the compatibility check reasons with. Every statement is listed under the relation it uses, drawn in a diagram and downloadable as Turtle, and each graph keeps its version history. The graphs that ship with DALICC are there for everybody.

Dependency Graph Editor is where you keep graphs of your own. Start from a core graph, from an empty table or from a Turtle file, then write the statements and share the graph with whoever should see it. The License Compatibility Checker, the Composer and the API will reason with your graph instead of the default one. It needs an account.

Text-to-License reads the text of a license and proposes the model for it, quoting the sentence each statement came from. It is a draft to correct, never an answer to accept, and nothing it produces is published.

License-to-Text goes the other way: give it a license of the library or a model of your own, and it writes the license out in plain English, section by section, naming anything the text left out. It changes nothing and publishes nothing.

My Bookmarks keeps a shortlist of licenses in your own browser. Nothing is sent to the server and no account is needed.

The words DALICC uses to describe a license, and what each of them means, are in the vocabulary.

Accounts

Everything above works without signing in, except the parts that are yours. Accounts come by invitation unless the administrators have opened sign-up; then you can create one yourself on the sign-up page and, where one is set up, sign in with your organisation's account (how that works).

An account gives you licenses of your own, kept as private drafts until you publish them and versioned afterwards, and dependency graphs of your own. You can offer either of them for the curated library, or report that a curated record is wrong, and the conversations that follow happen in your inbox. An account also carries the personal tokens for calling the API.

If you administer an installation, the pages you use are in ADMINISTRATION.md.

The API and the Python client

Everything the site does, the API does too, over the same data. Most of it needs no credentials at all: searching, reading a license, comparing licenses and checking whether they fit together are open to anybody. The full reference is API.md.

The parts that act for you, such as composing a license or running a translation, need a personal token that you create on your own account page (how). There is also a Python client that wraps the whole API, with a command line, described in SDK.md.

The API comes in two generations. Version 1.1 is the one the site has always had: its ten original operations answer exactly as they did, and everything added since sits beside them. Version 2, under /v2, reads every published version of a record, a dependency graph and the vocabulary with a content hash, and lists what changed since a date or a release (API.md).

How DALICC is licensed

The software is free software under the AGPL-3.0-only license. A separate commercial license is available for anybody who cannot meet its terms. The license data itself is published under CC BY 4.0. The details, and what each of those means for you, are in LICENSING.md.

Where to ask

Questions, corrections and anything the documentation does not answer: the contact page. If you found something wrong in a curated license record, the fastest route is Request a correction on the record itself (how).

The full manual is USERS.md, and it opens with a "How do I" index for the question you actually came with. A word the site uses in a sense of its own, such as port, variant or restriction, is explained in the glossary.