поясните за Apache License 2.0

elenangel

можно использовать в проприетарных продуктах или нет?

apl13

You should not! :donot:

serega1604

лицензию или код под этой лицензией?

elenangel

код под лицензией Apache 2.0 хочу включить в закрытое приложение

serega1604

а ты её читал, или хотя бы как Рабинович пел слушал?

elenangel

читал, но кое-что нифига не понял, там что-то про совместимость с GPLv3 во 2 версии дописали и в результате у меня возникли подозрения, что нельзя использовать в closed-source

elenangel

еще я видел либу ( agent++ 4.0 которая была заявлена как лицензированная под Apache Licence 2.0, а внутре у нея были отдельные файлы, в хедерах у которых указана GPLv2.
это укрепило мои подозрения.
хотя может просто накосячили те, кто либу делал.

serega1604

там что-то про совместимость с GPLv3 во 2 версии дописали
изначальный код можно перелицензировать по gpl, а на лицензию производных продуктов ограничений нет (она может быть и несовместимой с gpl).

elenangel

а как же тогда получилось, что в либе, которая вроде как Apache Licence 2.0 есть запчасти под GNU GPLv2?
такого вроде быть не должно, иначе можно было бы написать hello world, приинклюдить kernel линукса и отлицензировать результат как Apache Licence 2.0
а потом результат закрыть и юзать как захочется.

serega1604

Как будто все в этом мире делают все `как надо'. Напиши авторам этой либы, они должны лучше знать как так получилось.

Anturag

код под лицензией Apache 2.0 хочу включить в закрытое приложение
Можно, если, например, в своём проприетарном приложении ты линкуешь библиотеку, код которой залицензирован под Apache 2.0. С GPLv2 так не прокатит в общем случае.

Anturag

еще я видел либу ( agent++ 4.0 которая была заявлена как лицензированная под Apache Licence 2.0, а внутре у нея были отдельные файлы, в хедерах у которых указана GPLv2.
Закачал agent++-4.0.1, никаких хедеров там под GPLv2 не увидел.

elenangel

 
~/Загрузки/agent++-4.0.1 $ pwd
/home/username/Загрузки/agent++-4.0.1
~/Загрузки/agent++-4.0.1 $ grep -A 2 -B 2 -R "General Public" *
aclocal.m4-#
aclocal.m4-# This program is free software; you can redistribute it and/or modify
aclocal.m4:# it under the terms of the GNU General Public License as published by
aclocal.m4-# the Free Software Foundation; either version 2 of the License, or
aclocal.m4-# (at your option) any later version.

aclocal.m4-# WITHOUT ANY WARRANTY; without even the implied warranty of
aclocal.m4-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
aclocal.m4:# General Public License for more details.
aclocal.m4-#
aclocal.m4:# You should have received a copy of the GNU General Public License
aclocal.m4-# along with this program; if not, write to the Free Software
aclocal.m4-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
aclocal.m4-#
aclocal.m4:# As a special exception to the GNU General Public License, if you
aclocal.m4-# distribute this file as part of a program that contains a
aclocal.m4-# configuration script generated by Autoconf, you may include it under

build-aux/ltmain.sh-
build-aux/ltmain.sh-# GNU Libtool is free software; you can redistribute it and/or modify
build-aux/ltmain.sh:# it under the terms of the GNU General Public License as published by
build-aux/ltmain.sh-# the Free Software Foundation; either version 2 of the License, or
build-aux/ltmain.sh-# (at your option) any later version.
build-aux/ltmain.sh-#
build-aux/ltmain.sh:# As a special exception to the GNU General Public License,
build-aux/ltmain.sh-# if you distribute this file as part of a program or library that
build-aux/ltmain.sh-# is built using GNU Libtool, you may include this file under the

build-aux/ltmain.sh-# WITHOUT ANY WARRANTY; without even the implied warranty of
build-aux/ltmain.sh-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
build-aux/ltmain.sh:# General Public License for more details.
build-aux/ltmain.sh-#
build-aux/ltmain.sh:# You should have received a copy of the GNU General Public License
build-aux/ltmain.sh-# along with GNU Libtool; see the file COPYING. If not, a copy
build-aux/ltmain.sh-# can be downloaded from http://www.gnu.org/licenses/gpl.html,

build-aux/missing-
build-aux/missing-# This program is free software; you can redistribute it and/or modify
build-aux/missing:# it under the terms of the GNU General Public License as published by
build-aux/missing-# the Free Software Foundation; either version 2, or (at your option)
build-aux/missing-# any later version.

build-aux/missing-# but WITHOUT ANY WARRANTY; without even the implied warranty of
build-aux/missing-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
build-aux/missing:# GNU General Public License for more details.
build-aux/missing-
build-aux/missing:# You should have received a copy of the GNU General Public License
build-aux/missing-# along with this program. If not, see <http://www.gnu.org/licenses/>.
build-aux/missing-
build-aux/missing:# As a special exception to the GNU General Public License, if you
build-aux/missing-# distribute this file as part of a program that contains a
build-aux/missing-# configuration script generated by Autoconf, you may include it under

build-aux/config.sub-#
build-aux/config.sub-# This file is free software; you can redistribute it and/or modify
build-aux/config.sub:# it under the terms of the GNU General Public License as published by
build-aux/config.sub-# the Free Software Foundation; either version 2 of the License, or
build-aux/config.sub-# (at your option) any later version.

build-aux/config.sub-# but WITHOUT ANY WARRANTY; without even the implied warranty of
build-aux/config.sub-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
build-aux/config.sub:# GNU General Public License for more details.
build-aux/config.sub-#
build-aux/config.sub:# You should have received a copy of the GNU General Public License
build-aux/config.sub-# along with this program; if not, see <http://www.gnu.org/licenses/>.
build-aux/config.sub-#
build-aux/config.sub:# As a special exception to the GNU General Public License, if you
build-aux/config.sub-# distribute this file as part of a program that contains a
build-aux/config.sub-# configuration script generated by Autoconf, you may include it under

build-aux/ar-lib-#
build-aux/ar-lib-# This program is free software; you can redistribute it and/or modify
build-aux/ar-lib:# it under the terms of the GNU General Public License as published by
build-aux/ar-lib-# the Free Software Foundation; either version 2, or (at your option)
build-aux/ar-lib-# any later version.

build-aux/ar-lib-# but WITHOUT ANY WARRANTY; without even the implied warranty of
build-aux/ar-lib-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
build-aux/ar-lib:# GNU General Public License for more details.
build-aux/ar-lib-#
build-aux/ar-lib:# You should have received a copy of the GNU General Public License
build-aux/ar-lib-# along with this program. If not, see <http://www.gnu.org/licenses/>.
build-aux/ar-lib-
build-aux/ar-lib:# As a special exception to the GNU General Public License, if you
build-aux/ar-lib-# distribute this file as part of a program that contains a
build-aux/ar-lib-# configuration script generated by Autoconf, you may include it under

build-aux/config.guess-
build-aux/config.guess-# This file is free software; you can redistribute it and/or modify it
build-aux/config.guess:# under the terms of the GNU General Public License as published by
build-aux/config.guess-# the Free Software Foundation; either version 2 of the License, or
build-aux/config.guess-# (at your option) any later version.

build-aux/config.guess-# WITHOUT ANY WARRANTY; without even the implied warranty of
build-aux/config.guess-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
build-aux/config.guess:# General Public License for more details.
build-aux/config.guess-#
build-aux/config.guess:# You should have received a copy of the GNU General Public License
build-aux/config.guess-# along with this program; if not, see <http://www.gnu.org/licenses/>.
build-aux/config.guess-#
build-aux/config.guess:# As a special exception to the GNU General Public License, if you
build-aux/config.guess-# distribute this file as part of a program that contains a
build-aux/config.guess-# configuration script generated by Autoconf, you may include it under

build-aux/depcomp-
build-aux/depcomp-# This program is free software; you can redistribute it and/or modify
build-aux/depcomp:# it under the terms of the GNU General Public License as published by
build-aux/depcomp-# the Free Software Foundation; either version 2, or (at your option)
build-aux/depcomp-# any later version.

build-aux/depcomp-# but WITHOUT ANY WARRANTY; without even the implied warranty of
build-aux/depcomp-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
build-aux/depcomp:# GNU General Public License for more details.
build-aux/depcomp-
build-aux/depcomp:# You should have received a copy of the GNU General Public License
build-aux/depcomp-# along with this program. If not, see <http://www.gnu.org/licenses/>.
build-aux/depcomp-
build-aux/depcomp:# As a special exception to the GNU General Public License, if you
build-aux/depcomp-# distribute this file as part of a program that contains a
build-aux/depcomp-# configuration script generated by Autoconf, you may include it under

configure-#
configure-# GNU Libtool is free software; you can redistribute it and/or
configure:# modify it under the terms of the GNU General Public License as
configure-# published by the Free Software Foundation; either version 2 of
configure-# the License, or (at your option) any later version.
configure-#
configure:# As a special exception to the GNU General Public License,
configure-# if you distribute this file as part of a program or library that
configure-# is built using GNU Libtool, you may include this file under the

configure-# but WITHOUT ANY WARRANTY; without even the implied warranty of
configure-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
configure:# GNU General Public License for more details.
configure-#
configure:# You should have received a copy of the GNU General Public License
configure-# along with GNU Libtool; see the file COPYING. If not, a copy
configure-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or

include/agent_pp/mib_map.h-This file is part of the GNU C++ Library. This library is free
include/agent_pp/mib_map.h-software; you can redistribute it and/or modify it under the terms of
include/agent_pp/mib_map.h:the GNU Library General Public License as published by the Free
include/agent_pp/mib_map.h-Software Foundation; either version 2 of the License, or (at your
include/agent_pp/mib_map.h-option) any later version. This library is distributed in the hope
include/agent_pp/mib_map.h-that it will be useful, but WITHOUT ANY WARRANTY; without even the
include/agent_pp/mib_map.h-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
include/agent_pp/mib_map.h:PURPOSE. See the GNU Library General Public License for more details.
include/agent_pp/mib_map.h:You should have received a copy of the GNU Library General Public
include/agent_pp/mib_map.h-License along with this library; if not, write to the Free Software
include/agent_pp/mib_map.h-Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

include/agent_pp/map.h-This file is part of the GNU C++ Library. This library is free
include/agent_pp/map.h-software; you can redistribute it and/or modify it under the terms of
include/agent_pp/map.h:the GNU Library General Public License as published by the Free
include/agent_pp/map.h-Software Foundation; either version 2 of the License, or (at your
include/agent_pp/map.h-option) any later version. This library is distributed in the hope
include/agent_pp/map.h-that it will be useful, but WITHOUT ANY WARRANTY; without even the
include/agent_pp/map.h-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
include/agent_pp/map.h:PURPOSE. See the GNU Library General Public License for more details.
include/agent_pp/map.h:You should have received a copy of the GNU Library General Public
include/agent_pp/map.h-License along with this library; if not, write to the Free Software
include/agent_pp/map.h-Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

include/agent_pp/oidx_defs.h-This file is part of the GNU C++ Library. This library is free
include/agent_pp/oidx_defs.h-software; you can redistribute it and/or modify it under the terms of
include/agent_pp/oidx_defs.h:the GNU Library General Public License as published by the Free
include/agent_pp/oidx_defs.h-Software Foundation; either version 2 of the License, or (at your
include/agent_pp/oidx_defs.h-option) any later version. This library is distributed in the hope
include/agent_pp/oidx_defs.h-that it will be useful, but WITHOUT ANY WARRANTY; without even the
include/agent_pp/oidx_defs.h-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
include/agent_pp/oidx_defs.h:PURPOSE. See the GNU Library General Public License for more details.
include/agent_pp/oidx_defs.h:You should have received a copy of the GNU Library General Public
include/agent_pp/oidx_defs.h-License along with this library; if not, write to the Free Software
include/agent_pp/oidx_defs.h-Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

include/agent_pp/avl_map.h-This file is part of the GNU C++ Library. This library is free
include/agent_pp/avl_map.h-software; you can redistribute it and/or modify it under the terms of
include/agent_pp/avl_map.h:the GNU Library General Public License as published by the Free
include/agent_pp/avl_map.h-Software Foundation; either version 2 of the License, or (at your
include/agent_pp/avl_map.h-option) any later version. This library is distributed in the hope
include/agent_pp/avl_map.h-that it will be useful, but WITHOUT ANY WARRANTY; without even the
include/agent_pp/avl_map.h-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
include/agent_pp/avl_map.h:PURPOSE. See the GNU Library General Public License for more details.
include/agent_pp/avl_map.h:You should have received a copy of the GNU Library General Public
include/agent_pp/avl_map.h-License along with this library; if not, write to the Free Software
include/agent_pp/avl_map.h-Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

include/agent_pp/mib_avl_map.h-This file is part of the GNU C++ Library. This library is free
include/agent_pp/mib_avl_map.h-software; you can redistribute it and/or modify it under the terms of
include/agent_pp/mib_avl_map.h:the GNU Library General Public License as published by the Free
include/agent_pp/mib_avl_map.h-Software Foundation; either version 2 of the License, or (at your
include/agent_pp/mib_avl_map.h-option) any later version. This library is distributed in the hope
include/agent_pp/mib_avl_map.h-that it will be useful, but WITHOUT ANY WARRANTY; without even the
include/agent_pp/mib_avl_map.h-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
include/agent_pp/mib_avl_map.h:PURPOSE. See the GNU Library General Public License for more details.
include/agent_pp/mib_avl_map.h:You should have received a copy of the GNU Library General Public
include/agent_pp/mib_avl_map.h-License along with this library; if not, write to the Free Software
include/agent_pp/mib_avl_map.h-Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

m4/libtool.m4-#
m4/libtool.m4-# GNU Libtool is free software; you can redistribute it and/or
m4/libtool.m4:# modify it under the terms of the GNU General Public License as
m4/libtool.m4-# published by the Free Software Foundation; either version 2 of
m4/libtool.m4-# the License, or (at your option) any later version.
m4/libtool.m4-#
m4/libtool.m4:# As a special exception to the GNU General Public License,
m4/libtool.m4-# if you distribute this file as part of a program or library that
m4/libtool.m4-# is built using GNU Libtool, you may include this file under the

m4/libtool.m4-# but WITHOUT ANY WARRANTY; without even the implied warranty of
m4/libtool.m4-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
m4/libtool.m4:# GNU General Public License for more details.
m4/libtool.m4-#
m4/libtool.m4:# You should have received a copy of the GNU General Public License
m4/libtool.m4-# along with GNU Libtool; see the file COPYING. If not, a copy
m4/libtool.m4-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or

src/map.cpp-This file is part of the GNU C++ Library. This library is free
src/map.cpp-software; you can redistribute it and/or modify it under the terms of
src/map.cpp:the GNU Library General Public License as published by the Free
src/map.cpp-Software Foundation; either version 2 of the License, or (at your
src/map.cpp-option) any later version. This library is distributed in the hope
src/map.cpp-that it will be useful, but WITHOUT ANY WARRANTY; without even the
src/map.cpp-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
src/map.cpp:PURPOSE. See the GNU Library General Public License for more details.
src/map.cpp:You should have received a copy of the GNU Library General Public
src/map.cpp-License along with this library; if not, write to the Free Software
src/map.cpp-Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

src/avl_map.cpp-This file is part of the GNU C++ Library. This library is free
src/avl_map.cpp-software; you can redistribute it and/or modify it under the terms of
src/avl_map.cpp:the GNU Library General Public License as published by the Free
src/avl_map.cpp-Software Foundation; either version 2 of the License, or (at your
src/avl_map.cpp-option) any later version. This library is distributed in the hope
src/avl_map.cpp-that it will be useful, but WITHOUT ANY WARRANTY; without even the
src/avl_map.cpp-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
src/avl_map.cpp:PURPOSE. See the GNU Library General Public License for more details.
src/avl_map.cpp:You should have received a copy of the GNU Library General Public
src/avl_map.cpp-License along with this library; if not, write to the Free Software
src/avl_map.cpp-Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

src/mib_map.cpp-This file is part of the GNU C++ Library. This library is free
src/mib_map.cpp-software; you can redistribute it and/or modify it under the terms of
src/mib_map.cpp:the GNU Library General Public License as published by the Free
src/mib_map.cpp-Software Foundation; either version 2 of the License, or (at your
src/mib_map.cpp-option) any later version. This library is distributed in the hope
src/mib_map.cpp-that it will be useful, but WITHOUT ANY WARRANTY; without even the
src/mib_map.cpp-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
src/mib_map.cpp:PURPOSE. See the GNU Library General Public License for more details.
src/mib_map.cpp:You should have received a copy of the GNU Library General Public
src/mib_map.cpp-License along with this library; if not, write to the Free Software
src/mib_map.cpp-Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

src/mib_avl_map.cpp-This file is part of the GNU C++ Library. This library is free
src/mib_avl_map.cpp-software; you can redistribute it and/or modify it under the terms of
src/mib_avl_map.cpp:the GNU Library General Public License as published by the Free
src/mib_avl_map.cpp-Software Foundation; either version 2 of the License, or (at your
src/mib_avl_map.cpp-option) any later version. This library is distributed in the hope
src/mib_avl_map.cpp-that it will be useful, but WITHOUT ANY WARRANTY; without even the
src/mib_avl_map.cpp-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
src/mib_avl_map.cpp:PURPOSE. See the GNU Library General Public License for more details.
src/mib_avl_map.cpp:You should have received a copy of the GNU Library General Public
src/mib_avl_map.cpp-License along with this library; if not, write to the Free Software
src/mib_avl_map.cpp-Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Anturag

Теперь увидел. 5 хедеров и 4 плюсовых файла под двумя лицензиями — GPLv2+ и Apache 2.0. Если двойное лицензирование исходников было сделано должным образом, то всё в порядке, весь проект можно рассматривать как лицензированный Apache 2.0, если же авторы тупо использовали кусок кода, лицензированного под GPLv2+, то, во-первых, это их косяк, во-вторых, юридически корректно считать, что проект под лицензией GPLv3.

elenangel

я вот думаю, не воспользовались ли авторы тем, что это не просто GPL код, а именно часть кода стандартной библиотеки C++, для которой есть специальное исключение, позволяющее использовать ее в closed-source.
Однако даже если это так, я не уверен, что выдёргивание и модификация части кода с включением результата в не-GPL проект (в пределе - в closed-source) разрешено данным исключением.

elenangel

юридически корректно считать, что проект под лицензией GPLv3.
а почему именно v3?

Anturag

а почему именно v3?
Потому что

The Free Software Foundation considers the Apache License, Version 2.0 to be a free software license, compatible with version 3 of the GPL.

Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software into GPLv3 works. However, GPLv3 software cannot be included in Apache projects. The licenses are incompatible in one direction only, and it is a result of ASF's licensing philosophy and the GPLv3 authors' interpretation of copyright law.

то есть объединение кода под недвойными лицензиями GPLv2+ и Apache License 2.0 даёт результирующую лицензию GPLv3, так как GPLv2 и Apache License 2.0 несовместимы.
Despite our best efforts, the FSF has never considered the Apache License to be compatible with GPL version 2, citing the patent termination and indemnification provisions as restrictions not present in the older GPL license.
http://www.apache.org/licenses/GPL-compatibility.html

Anturag

я вот думаю, не воспользовались ли авторы тем, что это не просто GPL код, а именно часть кода стандартной библиотеки C++, для которой есть специальное исключение, позволяющее использовать ее в closed-source.
Ну это всё же отдельная лицензия, GPLvX with GCC Runtime Library Exception vY, в твоём проекте такого не наблюдается, но это опять возможно косяк авторов.

levmyshkin

Вот приятный ресурс, где просто объясняется, для чего какая лицензия.
http://choosealicense.com/licenses/
Должно помочь.
Оставить комментарий
Имя или ник:
Комментарий: