CeCILL

French Free Software Licenses

Frequently Asked Questions

This FAQ is a work in progress, especially with regard to the CeCILL-B and CeCILL-C licenses. Do not hesitate to send us comments and questions to improve it (see the Contacts page for the relevant e-mail addresses).

The CeCILL familly

What are the differences between CeCILL, CeCILL-B and CeCILL-C ?

If you just use a program distrubuted under one of these licenses, there is no difference for you.

If you modify a program under CeCILL, CeCILL-B or CeCILL-C for your own needs, of if you reuse it in another program, without distributing the result, there is still no difference.

If you distribute a program that is a modification of a program under one of the licenses in the CeCILL family, or that incorporates such a program,totally or partially, that is where the differences are. if the initial program is under CeCILL-B, you can distribute your program under any license that you want (without the need to distribute the source code) provided you properly mention the use that you did of the intial program. If the program is under CeCILL-C, you can also distribute your program under any license but you have to distribute under CeCILL the possible modifications you did to the original source code (and mention the use you made of the initial program). If the initial program is under CeCILL, you can only distribute your program under CeCILL (and you will have to distribute its source code if someone asks for it).

Please see the texts of the licenses and the other questions of this FAQ for more accurate differences.

In what sense are CeCILL, CeCILL-B and CeCILL-C a family ?

The three licenses share most of their text and their compatibility is stated in ad-hoc clauses (in CeCILL-B for the compatibility with CeCILL and CeCILL-C and in CeCILL-C for the compatibility with CeCILL).

Using the CeCILL licenses

How to release my program under one of the license in the CeCILL family ?

To distribute your program under one of these licenses, we advise you to follow the instructions given on this page.

There is no formalism with respect to the authors of the license. Nevertheless we always appreciate to receive a message when a new program is under CeCILL, CeCILL-B or CeCILL-C.

My program is currently distributed under license X. Can I now release it under one of these licenses ?

Yes, you can. Although you should check whether X tells anything about such a case. It is always better to change licenses when a new release of the software is distributed so as to minimize possible misunderstandings (situations where the same software is distributed under two different licenses).

Note that it is necessary to obtain the consent of all the authors (or more precisely the owner of the relevant rights) to change licenses, except if the original license is very permissive (authorizing redistribution under a difference license; BSD or W3C licenses allow that).

Should I join the two versions (English and French) of the CeCILL licence text with my software ?

If you use version 1 of CeCILL it is absolutely necessary to always join the French version, as it is the reference one, the only one that has a legal value. If you are using version 2 of CeCILL, both the French and the English ones are equally valid (in legal terms both are deemed authentic). It is thus possible to use indifferently one or the other. If you speak French or intend to distribute your software to a French speaking country, we advise to include the French version, together with the English one.

What should I put as a header in my source files ?

It is advised to put a header in your source files stating that your software is subject to the CeCILL licence. See our model English header and our model French header.

How can I make sure of the acceptance of the license ?

Although article 3 of the licenses does not impose any formalism to accept the license, we advise you, whenever this is possible, to set up an explicit procedure. Our recommendations are described here.

The CeCILL family internationally

The CeCILL licenses are governed by French law. Does it mean that it can be used only in France ?

No, not at all. They are worldwide licenses. They grant rights for all countries. This is neither incompatible with mentioning an applicable law nor indicating competent courts. It can be used by people all over the world, especially for international projects.

What would prevent an Hong Kong court to decide that the Paris Courts do not have jurisdiction ?

The Parties did agree on the French jurisdiction. Hence an Hong Kong court should recognize this, according to the rules of international law. Nevertheless a court could decide that it is competent for special reasons.

Should disagreements always be referred to the Paris Courts ?

The Parties are free to decide otherwise within the given delay of two months form the occurrence of the disagreement. If they don't agree on another court, the Paris courts will have to be chosen. Note that whatever court (and country) they choose, the license will be interpreted according to French law.

Do you plan other translations ?

Not by ourselves. We will be happy to receive translations in other languages but we are not equipped to check that they are really accurate. If your are interested in contributing a new translation, please contact us.

What could be the future in a European setting ?

The creators of the CeCILL family and the French Government are interested in lifting the CeCILL initiative to the European level. We will keep you posted on that.

CeCILL

Using CeCILL

Is CeCILL the right license for my program ?

CeCILL has the following characteristics:

  • Like the GNU GPL, it guarantees access to the source code of a program with the freedom to use it for all purpose, to modify it and to redistribute all modifications
  • The CeCILL licence is hereditary: the redistribution of the software, whether modified or not, must be done under the conditions stated in this licence with a copy of it provided. CeCILL makes the distinction internal modules and external modules in the case of a redistribution: whereas external modules can be distributed with a different licence, internal modules must be distributed under CeCILL
  • CeCILL is contaminating: when a software under CeCILL is integrated or integrates a software under a different licence, the result of this integration must be distributed under CeCILL
  • CeCILL is nevertheless compatible with the GNU GPL: when a software under CeCILL is integrated with a software under the GPL, the resulting work can be distributed under the GNU GPL
  • CeCILL is conformant with French law, it incorporates obligatory mentions from the French Intellectual Property Code and has valid liability and warranty clauses.
My software use the L library under the X license. Can I distribute it under CeCILL ?

It depends on X and the way L is included in your software. More information is available here.

I used some parts from another software. Can I distribute my software under CeCILL ?

Same situation as for the question above. But you should check in the license of the software you borrow from that it was indeed possible (look for the right to modify or create derivative works). It is of course necessary to duly credit the authors. The above is also true in the case of a translation (in a different programming language).

Interpreting and clarifying CeCILL

The word "Copyright" does not appear anywhere in the text of CeCILL. Is this right ?

Yes. CeCILL is governed by French law where software is protected by what we call droits d'auteur (the rights of the authors). With a good approximation droit d'auteur is what is called copyright in the anglo-saxon world. The English text uses "intellectual property rights" as it is a direct translation of the French version where it is customary to use this formulation (droits de propriété intellectuelle) instead of droits d'auteur. So for all practical and legal matter you can read copyright instead of intellectual property rights.

I modified a program under CeCILL and users access it through a Web site. Should I give the source code if one of them asks me so ?

Yes, you must. 5.3.2 talks about "distribution" but, as mentioned at the beginning of 5.3, it indeed covers "the right to publish, transmit and communicate the Software to the general public on any or all media and by any or all means". Using a Web site to make the program available to someone else is thus distribution, even if no copy of the program is shipped. Hence the obligation to provide the source code is effective.

Is there any relationship between library and module ?

A library, whether the linkage is done dynamically or statically, constitutes together with the program that calls it an Internal Module in the definition of CeCILL.

I wrote an interpreter for a new programming language that I would like to distribute under CeCILL. What consequences for the programs ?

One can wonder when an interpreter is under CeCILL what the status of the program it executes can be. There is of course no reason to constraint the license of a program that is distributed independently of the interpreter. When a program is distributed with the interpreter, it cannot be considered as an Internal Module in the sense of CeCILL as its address space is normally different from the one of the interpreter. There is still the case where one can consider that the program modifies the interpreter, correct a problem or add a functionality to the interpreter. In these rather special cases there would be an obligation to distribute the program under CeCILL.

The version 2 of CeCILL

Why a version 2 ?

Version 2 is an evolution of version 1 with the aims of clarifying certain points as well as taking into account feedback form the Open Source community on the first version. The English translation was tremendously improved and it now has the same legal value as the French one (both are deemed authentic). That is the major change that we hope will ease the adoption of CeCILL for international projects.

What are the differences between version 1 and version 2 ?

There are no fundamental differences between the two versions. The terms Static Module and Dynamic Module have been changed to Internal Module and External Module because of the possible confusion with questions of link edition and libraries.

CeCILL and the GNU GPL

Why CeCILL as the GNU GPL already exists ?

The GNU GPL has some problems with respect to French law:

  • Article L.131-3 of the French Intellectual Property Code requires among other things that the field of exploitation of the assigned rights be defined
  • The No Warranty clauses of the GNU GPL are not valid with respect to
    • article L.132-1 of the French Consumer Code stating that this kind of clause is null and void when the licensee is a consumer or a non professional
    • article 1386-15 of the French Civil Code forbidding these clauses in case of damages caused by a defective computer program to a consumer or a non professional

Moreover the GNU GPL, by choosing not to mention any applicable rights, introduces some legal uncertainties. This was exemplified by the judgement of a Munich court in 2004 where the judges were not able to determine whether some clauses of the GPL were valid according to German law. CeCILL, by mentioning the French law as the applicable law and the respect of the various European directives is more robust from a legal point of view.

From a technical point of view, the definition of Internal Module in CeCILL brings clearer bounds compared to the GNU GPL to the contamination (the copyleft character) of the license.

Is CeCILL compatible with the GNU GPL ? And in what sense ?

The 5.3.4 clause in the CeCILL licence states that it is the case. In the sense of compatibility that the FSF gives. For the version 2 of CeCILL we submitted the clause to the approval of the FSF and took into account their proposal for modifications.

CeCILL-B

Which differences between CeCILL-B and of the licences like licence BSD, Apache or W3C?

The principal difference is in the strong obligation of citation which is in CeCILL-B (article 5.3.4).

CeCILL-C

I only modified only the Makefile of a software under CeCILL-C, or I did nothing but rename one function. Must I really redistribute that?

The spirit of the licence is that the modifications that should be given back are the ones that could be useful for the community. The text of CeCILL-C indicates "such that such modifications may be carried over in a subsequent version of the Software".