The CiviCRM 1.x codebase is licensed under the Affero General Public License (AGPL). The CiviCRM 2.x and later codebase is licensed under the GNU Affero General Public License 3 (GNU AGPL 3) and the CiviCRM Licensing Exception.
This CiviCRM Licensing Exception is an additional permission under section 7 of the GNU Affero General Public License, version 3. It applies to a given file that bears a notice stating that the file is governed by that license along with this exception. Permission is hereby granted to combine the Program with works licensed under the PHP License versions 2.01, 2.02, 3.0 and 3.01. Permission is hereby granted to license modified versions of the Program to CiviCRM LLC under the Academic Free License version 3.
The following guidelines cover project guidelines for licensing and copyright for patches and code contributions to be accepted into the core codebase. They were developed for us by Lawrence Rosen – our project attorney – who specializes in Open Source Software licensing.
While there is no bright line test for this, “minor software patches” and “code snippets” aren’t usually copyrightable subject matter. Copyright law requires some minimal level of expressive creativity, rather than just a brief description (even in source code form) of the solution to a technical software problem. CiviCRM accepts minor software patches and code snippets from community members through our wiki and issue tracker without any formal agreements AS LONG AS YOU DO NOT CLAIM A COPYRIGHT INTEREST IN THEM. DO NOT PLACE COPYRIGHT NOTICES IN SUCH CONTRIBUTIONS if you do not claim a copyright interest in them. Larger contributions are assumed to be copyrightable and we require that you place your copyright notice in the source code so that we have a clear record of claimed authorship. If you place a copyright notice in anything you contribute to CiviCRM, you will also need to license those works (under the Academic Free License version 3.0) to CiviCRM before they will be acceptable for distribution to our users and customers. To do so, place the following notice in the source code of every contributed file at the top:
/* * Copyright (C) 20xx author(s)-names * Licensed to CiviCRM under the Academic Free License version 3.0. * */
Replace “20xx” with the year you wrote the contribution, and list the name(s) of the contributor(s) or your company’s name (whichever is appropriate) in the copyright notice.