The primary motivation to relicense is a desire to integrate with projects
that are licensed under the Apache License version 2.0. Although opinions
vary, there are some who argue the the LGPL-2.1 and Apache-2.0 licenses
are not fully compatible. We would like to avoid the ambiguity and
potential for controversy.
Projects we would like to consume that are Apache-2.0 licensed include
Seastar, OpenSSL (which is in the process of relicensing to Apache-2.0),
and Swagger (swagger.io). Note that some of these are dynamically linked
or consumed via a high-level language and may or may not require a change
to LGPL-3.0, but providing the option for LGPL-3.0 certainly avoids any
uncertainty.
A few other source files are already incorporated into Ceph that claim an
Apache-2.0 license:
src/common/deleter.h
src/common/sstring.h
src/include/cpp-btree
The Ceph developers would further like to provide a license option that is
more modern than the current LGPL-2.1. LGPL-3.0 includes updated,
clarified language around several issues and is widely considered
more modern, superior license.
Signed-off-by: Sage Weil <sage@redhat.com>
The C++ style was originally adopted in 2011. Most of the guidelines
have been followed but some have not. Drop the ones we haven't been
following.
Signed-off-by: Sage Weil <sage@redhat.com>
As we are rapidly expanding our code base beyond C++ and C, it is a good
idea to enforce coding styles for other languages.
Signed-off-by: Joao Eduardo Luis <joao@suse.de>
Back in commit 7469f26a33 when the COPYING
file was added to the repository and the project was "licensed," the
license file was
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
However, the license was abbreviated as LGPL2 in various places (pretty
much everywhere, actually), due to my own ignorance/carelessness. (I was
distinguishing it from shiny new version 3, released 6 months earlier.)
Version 2 of LGPL is the "Library General Public License," published in
June 1991: https://www.gnu.org/licenses/old-licenses/lgpl-2.0.html
Note that this ambiguity persists for most of the project's lifetime. For
example, the original debian/copyright in 8adc9dac1d
said "LGPL2" bug in 4545f8b929 (2009, a year
later) it is changed to LGPL2.1 to satisfy Debian's lintian checks. (It's
remained LGPL2.1 ever since.)
"Correct" the record by changing LGPL2 references to LGPL2.1.
Signed-off-by: Sage Weil <sage@redhat.com>
- _d suffix for naked struct/class types (not _t!)
- m_ prefix for class members
- prefer braces for single line ifs.
Signed-off-by: Sage Weil <sage@newdream.net>