CeCILL

French Free Software Licenses

How to distribute my program under CeCILL

If you are the author of a program you want to distribute under a license of the CeCILL family, we recommend to follow the following steps further detailed in this page:
  1. determine who are the owners of the relevant rights on the program
  2. make the inventory of the pieces of code and libraries that you use
  3. make the inventory of the possible constraints arising from contracts involving the program
  4. prepare source code and documentation for distribution
  5. organize the distribution

Determining the owners of the relevant rights on the program

To be able to distribute a program that you wrote under a particular license it is necessary to have the consent of all the owners of the relevant intellectual property rights on this program. These owners are determined by the law or by contracts (for example when all or part of the development has been done on behalf of someone else as a work for hire, see there in the sequel). If you wrote the program in a professional setting, it is probable that your employer owns the relevant rights otherwise it is usually the authors (the programmers) themselves that own the rights. Once the owners have been determined it is necessary to have the consent of all of them. If one of them disagree, it may be sufficient to prevent the distribution under the chosen license. Note that the authorization has to be given by an official representative when the owner is not a real physical person but a company, a state, a university, ...

All of this may depend on the law of your country and you should always consult a person knowlegeable in these matters.

Inventory of the pieces of code and libraries that you use

It is necessary to make the inventory of all the libraries and pieces of code that you use in your program (whether you modified them or not) and that you did not write (or write under a different status), as well as to collect their licenses. It also applies to the possible translations (from another programming language) that you may have done. In the sequel we will call borrowings all these libraries and pieces of code.

To be able to distribute your software under a given license, it is necessary that the licenses of these borrowings be compatible with the chosen license i.e. they should not conflict with license. In the case of CeCILL, the licenses that are compatible with the GNU GPL (and that can be found on this page) are compatible with CeCILL. CeCILL is compatible with the GNU GPL in the sense that if one of the borrowing is under the GNU GPL, the result can only be distributed under the GNU GPL (provided all other borrowings have licenses compatible with the the GNU GPL). Some other licenses may be compatible with CeCILL, but this requires further case by case analysis that can be very complicated.

It should be noted that even if the license of a borrowing prevents the distribution under a given license of the whole, it is always possible to distribute the remainder (i.e the program without the borrowing that has a non compatible license) under the chosen license. It will be then with your licensee to carry out the building of the final software. This applies well to the case of a software which would use a library under a licence not compatible with CeCILL, CeCILL-B or CeCILL-C especially if the linking can be done dynamically. It is also possible to ask the owners of the relevant intellectual property rights on the borrowing for an exceptional authorization (although that can be difficult or even impossible in practice).

Inventory of the contractual constraints on the software

It may be that whole or part of the program (or of a former version of it) was developed within the framework of some contracts. Examples of such contracts are a partnership between a company and a research center or an R&D contract funded by the European Commission or by the state. These contracts (or their consortium agreements) can impose conditions on the way your program can be exploited and its possible licenses. It is thus advisable to make an inventory of these contracts and to analyze their clauses which can apply to the program. This may require advice from a specialized lawyer.

The most common obstructions can come from exclusivity clauses (which prohibit the exploitation, sometimes only on one particular field or in a certain area) or clauses which make the program a joint ownership even the property of some which did not develop it (transfer of rights).

If the program is the subject of existing commercial licenses (even in later versions) or has been distributed before under another license (open source or not) it is also necessary to collect the obligations that you may have with regard to these licenses.

In all these cases, it can be judicious even mandatory to ask a written authorization of the parties of these contracts before being able to distribute your program under CeCILL.

Preparing the source code and the documentation

To be sure that a person who obtains a copy of your program or a distribution of your program knows whose license it has and thus for that person to have the knowledge of the rights and obligations that it grants, some care must usefully be taken.

We recommend to place a header in each one of your source files, to indicate that they are covered by the selected license. We provide a standard model of header in French and English. If a file contains a borrowing, one should not forget to mention the intellectual property information related to the borrowing (typically the name of the authors and/or the intellectual property rights on the borrowing, the year of creation and the applicable license).

The documentation of the program will have to mention the license, the authors and all owners of the intellectual property rights on the program as well as as information related to the intellectual property of the borrowing. These mentions should be included in the interface of the software as well as in a file of the distribution (with an evocative name such as LICENSE or COPYRIGHT), with a copy of the license (preferably both the French version and the English version).

The licenses of the borrowings can require the inclusion of certain files or mentions in the distribution.

Organizing the distribution

Although CeCILL states that the simple fact of loading or using the software is equivalent to accepting the license, we recommend that you set up a mechanism to explicity verify that the user read and accept the license every time it is possible and not too inconvenient.

That can take the form of an installation program which display the license and explicitly ask for approval before installing the software on the hard drive of the user or in the case of a distribution on a Web page, of a process in two stages, with a page that displays the text of the license with a button to accept it before accessing the page for downloading the program.

Header in French

Copyright ou © ou Copr. [nom de l'auteur personne physique ou nom de la
personne morale lorsque le logiciel est créé sous un lien de subordination
employé/employeur en ajoutant éventuellement en dessous "contributeur :
[nom de la ou des personne(s) physique(s)]"], ([date de création]) 

[Adresse électronique de l'auteur ou des auteurs]

Ce logiciel est un programme informatique servant à [rappeler les
caractéristiques techniques de votre logiciel]. 

Ce logiciel est régi par la licence CeCILL soumise au droit français et
respectant les principes de diffusion des logiciels libres. Vous pouvez
utiliser, modifier et/ou redistribuer ce programme sous les conditions
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA 
sur le site "http://www.cecill.info".

En contrepartie de l'accessibilité au code source et des droits de copie,
de modification et de redistribution accordés par cette licence, il n'est
offert aux utilisateurs qu'une garantie limitée.  Pour les mêmes raisons,
seule une responsabilité restreinte pèse sur l'auteur du programme,  le
titulaire des droits patrimoniaux et les concédants successifs.

A cet égard  l'attention de l'utilisateur est attirée sur les risques
associés au chargement,  à l'utilisation,  à la modification et/ou au
développement et à la reproduction du logiciel par l'utilisateur étant 
donné sa spécificité de logiciel libre, qui peut le rendre complexe à 
manipuler et qui le réserve donc à des développeurs et des professionnels
avertis possédant  des  connaissances  informatiques approfondies.  Les
utilisateurs sont donc invités à charger  et  tester  l'adéquation  du
logiciel à leurs besoins dans des conditions permettant d'assurer la
sécurité de leurs systèmes et ou de leurs données et, plus généralement, 
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. 

Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 
pris connaissance de la licence CeCILL, et que vous en avez accepté les
termes.

Header in English

Copyright or © or Copr. [name of the author when individual or of the
legal entity when the software has been created under wage-earning status
adding underneath, if so required :" contributor(s) : [name of the
individuals] ([date of creation]) 

[e-mail of the author(s)]

This software is a computer program whose purpose is to [describe
functionalities and technical features of your software].

This software is governed by the CeCILL  license under French law and
abiding by the rules of distribution of free software.  You can  use, 
modify and/ or redistribute the software under the terms of the CeCILL
license as circulated by CEA, CNRS and INRIA at the following URL
"http://www.cecill.info". 

As a counterpart to the access to the source code and  rights to copy,
modify and redistribute granted by the license, users are provided only
with a limited warranty  and the software's author,  the holder of the
economic rights,  and the successive licensors  have only  limited
liability. 

In this respect, the user's attention is drawn to the risks associated
with loading,  using,  modifying and/or developing or reproducing the
software by the user in light of its specific status of free software,
that may mean  that it is complicated to manipulate,  and  that  also
therefore means  that it is reserved for developers  and  experienced
professionals having in-depth computer knowledge. Users are therefore
encouraged to load and test the software's suitability as regards their
requirements in conditions enabling the security of their systems and/or 
data to be ensured and,  more generally, to use and operate it in the 
same conditions as regards security. 

The fact that you are presently reading this means that you have had
knowledge of the CeCILL license and that you accept its terms.