Что означает лицензия с открытым исходным кодом (например, GNU-GPL)? [закрыто] -- open-source поле с участием licensing пол Связанный проблема

What does open source license (like GNU-GPL) mean? [closed]


12
vote

проблема

русский
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»>
закрыт. Этот вопрос не соответствует Рекомендациям переполнения стека . В настоящее время он не принимает ответы.

<Путь d = "M15 6.38A6.48 6.48 0 007.78. 04H-.02A6.49 6.49 0 002.05 5.6A6.31 6.31 0 002.39 5.75C.49.39.76.93.76 1.5V.24C0 1.07.89 1.9 1.92 1.92.75C1.04 0 1.92-.83 1.92-1.9v-. 2C0-.6.26-1.15.7-1.6.26-1.15.7-1.48A6.32 6.32 0 0015 6.37ZM4.03 5.85A4.49 4.49 0 018 2.02A4.48 4,48 0 015 4.36 4.3 4,3 0 01-1.72 3.44C-01-1.74-1.5 1.9- 1.5 3.08V.1H7.2V-.14C0-1.23-.6-2.34-1.3-1.32.32-1.53-3.07A4.32.32.32 0 01-1.64-3.94ZM10 18A1 1 0 000-2х7А1 1 0 100 2H3Z ">

Хотите улучшить этот вопрос? Обновить вопрос, так что это на тему для переполнения стека.

Закрыто 5 лет назад .

Улучшить этот вопрос .

Я с нетерпением жду использования продукта с открытым исходным кодом, который имеет лицензию GNU-GPL, и он говорит, что если я буду использовать этот продукт, я должен поделиться исходным кодом моего приложения.

Я немного запутался об этом. Я понимаю, что Linux доступен под лицензией GNU-GPL. Значит ли это все linux приложения и должно быть открытым исходным кодом? Значит ли это, что я могу попросить исходного кода полных <сильных> Oracle db от Oracle Corp (хотя бы деталь, которая работает на Linux)?

Редактировать:

Взятые из FAQ :

Если библиотека выпущена под GPL (не LGPL), это означает что любая программа, которая использует это быть под GPL или совместимым с GPL Лицензия?

Да, потому что программа, как это фактически запущен включает в себя библиотеку.

Английский оригинал

I am looking forward to use an open source product which has GNU-GPL like license and it says that if I use that product, I must share the source code of my application.

I am slightly confused about it. I understand that Linux is available under GNU-GPL license as well. Does it mean ALL linux application are and has to be open source? Does it mean I can ask for the source code of complete Oracle DB from Oracle Corp (at least the part that runs on Linux)?

EDIT:

Taken from FAQ:

If a library is released under the GPL (not the LGPL), does that mean that any program which uses it has to be under the GPL or a GPL-compatible license?

Yes, because the program as it is actually run includes the library.

</div
     
 
 

Список ответов

23
 
vote
vote
Лучший ответ
 

Важно осознавать, что «GPL» может относиться к двум лицензии.

    .
  • GNU General Public License
  • gnu iterer General General License (aka) Библиотека Генеральная публичная лицензия

Либо один очень понятный, чтобы указать, что он считает код из библиотеки, смешиваемой с помощью программы в качестве комбинированной работы . Это означает, что если ваша программа загружает библиотеку через динамический погрузчик (то есть общий общий объект), или ссылки против него статически, полученный исполняемый файл является комбинированной работой самой программы и библиотеки, которые его поддерживают.

Теперь различия между двумя лицензиями становятся очень важными.

GPL утверждает, что если ваша программа использует библиотеку (или любой другой код, охватываемый GPL), он должен быть выпущен под тем же терминами, что и GPL. Это (опять же) состоит в том, что GPL считает, что полученная программа является комбинированной работой вашего кода, а также работа других.

К счастью (или нет? В зависимости от ваших представлений) библиотека GNU C не покрыта GPL. Он покрыт LGPL. LGPL говорит, что просто загрузка и использование библиотеки системы C представляет собой комбинированную работу, но сделано исключением, что позволяет проприетарным приложениям сделать это без необходимости соблюдения требований к распределению GPL. Итак, в этом случае Oracle может свободно использовать систему C библиотеку (необходимую для запуска их кода) без обязательств для отпускания их исходного кода.

Если Oracle выпустила программное обеспечение, которое необходимо для загрузки или ссылки против подключающей библиотеки GPL, скажем .. <Код> readline() , затем да, они будут обязаны поделиться кодом. Oracle (как и многие другие, которые пишут программное обеспечение для Unix-подобных операционных системах), осторожно выбирают библиотеки, которые выпущены под более разрешенной лицензией (AKA 2 или 3 - BSD) или реализуют свои собственные.

Далеко идет ядро, просто используя интерфейс Syscall, не составляют комбинированную работу. Хотя большинство из нас просто позволили системе «Библиотеку» Аннотация этих сложностей, вы полностью свободны, вы полностью свободны, чтобы реализовать свои собственные синхрониты под любыми условиями, которые вы хотите. Это иллюстрирует, почему LGPL для библиотеки системы C был очень стратегическим выбором. Если бы это был наоборот, GNU / Linux удерживал бы больше разработчиков, чем они привлекали. Также обратите внимание, что многие из заголовков Linux, которые определяют волшебные числа, необходимые для разговора с интерфейсом SYSCALL KERNEL, у них нет никакой лицензии. Смотрите <код> linux/sysctl.h Например, или эта записка из сама Linus в <код> COPYING файл, распространенный с ядром:

Примечание! Это авторское право не Обложка пользовательских программ, которые используют ядро Услуги по нормальной системной звонкам - это просто считается нормальным использованием ядро, и делает не подпадает под Руководство «производной работы». Также Обратите внимание, что GPL ниже защищен авторским правом бесплатным программным фоном, но экземпляр кода, который он относится к (ядро Linux) защищено авторским правом Я и другие, которые на самом деле написали это.

также обратите внимание, что единственная допустимая версия GPL как ядро заинтересована Это конкретная версия лицензии (т.е. v2, а не v2.2 или v3.x или что-то еще), если только явно в противном случае заявлено.

 <код>                     Linus Torvalds   

Примечание, linus конкретно говорит, что используя заголовки ядра и интерфейс Syscall, не представляют собой вывод (как в модифицированном) или комбинированным (как просто используется). Это, помимо прочего, является частью рифта между Linux и GNU. Я упоминаю это только потому, что вы косвенно упомянули о последствиях GPL. Linus (иногда) хочет, чтобы код, который изменяет ядро, но выбрал GPL, чтобы обеспечить (некоторые IMES) был его выбором.

Короче говоря, если вы ссылаетесь от или загружаете библиотеку, которая покрыта GPL, вы должны сделать свой код доступен под одной и той же лицензией. Если вы ссылаетесь против или загружаете библиотеку, которая покрыта LGPL, условия лицензирования зависит от вас.

Обратите внимание, что LGPL имеет гораздо больше, чтобы сказать, особенно в отношении модификаций, статически связывания и т. Д. То, что я описал, это просто то, что отвечает на ваш вопрос.

Наконец, gpl применяется только при распространении или передавать программу. Вы можете делать все, что вы хотите вашему программному обеспечению на вашем компьютере, и вы не обязаны поделиться с другими пользователями вашего компьютера (или сервера или что-то еще). У AGPL есть вещи, чтобы сказать об этом, если программное обеспечение взаимодействует с сетью .. Но это тема для другого вопроса.

FSF принимает вопросы, связанные с GPL в лицензировании@fsf.org - если вы когда-либо сомневаетесь в конкретном случае и хотите убедиться, что у вас нет проблем, они довольно дружелюбны и рады отвечать на вопросы .. Даже если вы делаете непрограммное обеспечение. Им нравится, когда люди предпринимают некоторые усилия, чтобы убедиться, что они соответствующие лицензии, которые, к сожалению, не происходит время от времени.

Эта тема все еще такая же чувствительная, как и в начале 90-х годов.

 

It is important to realize that the "GPL" can refer to two licenses.

  • The GNU General Public License
  • The GNU Lesser General Public License (aka) The Library General Public License

Either one is very clear to specify that it considers code from a library intermixed with a program as a combined work. This means, if your program loads a library through a dynamic loader (i.e. a common shared object), or links against it statically, the resulting executable is a combined work of the program itself and the libraries that support it.

Now, the differences between the two licenses become very important.

The GPL states that if your program uses a library (or any other code covered by the GPL), it must be released under the same terms as the GPL. This (again) is because the GPL considers the resulting program to be a combined work of your code, plus the work of others.

Fortunately (or not? depending on your views), the GNU C Library is not covered by the GPL. It is covered by the LGPL. The LGPL says that simply loading and using the system C library does constitute a combined work, but an exception is made that allows proprietary applications to do so without having to comply with the distribution requirements of the GPL. So, in this case, Oracle is free to use the system C library (needed to run their code) without being obligated to release their source code.

If Oracle released software that needed to load or link against a GPL covered library, say .. readline(), then yes, they would be obligated to share the code. Oracle (like many others that write software for UNIX-like operating systems) is careful to choose libraries that are released under a more permissive license (aka 2 or 3-clause BSD), or implement their own.

As far as the kernel goes, simply using its syscall interface does not constitute a combined work. While most of us just let the system C library abstract these complexities away, you are completely free to implement your own syscalls under whatever terms you want. This illustrates why the LGPL for the system C library was a very strategic choice. If it were the other way around, GNU/Linux would have deterred more developers than they attracted. Note also, that many of the Linux headers that define the magic numbers needed to talk to the kernel's syscall interface have no license mentioned whatsoever. See linux/sysctl.h for example, or this note from Linus himself in the COPYING file distributed with the kernel:

NOTE! This copyright does not cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does not fall under the heading of "derived work". Also note that the GPL below is copyrighted by the Free Software Foundation, but the instance of code that it refers to (the Linux kernel) is copyrighted by me and others who actually wrote it.

Also note that the only valid version of the GPL as far as the kernel is concerned is this particular version of the license (ie v2, not v2.2 or v3.x or whatever), unless explicitly otherwise stated.

                    Linus Torvalds 

Note, Linus specifically says using the kernel headers and syscall interface does not constitute a derived (as in modified) or combined (as in simply used) work. This, among other things is part of the rift between Linux and GNU. I mention this only because you indirectly mention the ramifications of the GPL. Linus (sometimes) wants code that modifies the kernel, but chose the GPL to ensure the (sometimes) was his choice.

In short, if you link against or load a library that is covered by the GPL, you must make your code available under the same license. If you link against or load a library that is covered by the LGPL, the terms of licensing are up to you.

Note also that the LGPL has a lot more to say, especially regarding modifications, statically linking, etc. What I've described is just the bit that answers your question.

Finally, The GPL applies only when you distribute or convey a program. You can do whatever you want to your software on your computer and you are under no obligation to share it with other users of your computer (or server, or whatever). The AGPL has things to say about that, if the software interacts with a network .. but that's a topic for a different question.

The FSF takes GPL related questions at licensing@fsf.org - if you are ever in doubt about a particular case and want to make sure you don't get in trouble, they are rather friendly and happy to answer questions .. even if you are making non-free software. They like it when people take some effort to ensure they follow the license appropriately, which unfortunately doesn't happen from time to time.

This topic is still just as sensitive as it was in the early 90's.

</div
 
 
     
     
8
 
vote

Linux - это ядро, никакое приложение не будет использовать ядро ​​напрямую, но через библиотеку, как правило, Glibc, который выделяется под LGPL. Это немного разрывает цепочку GPL, потому что Glibc Smscalls ядра, но это, кажется, согласовано. Поэтому я боюсь, что вы не получите код из Oracle: -).

Если приложение, однако, использует любой лицензированный код GPL, вы должны сделать исходный код для этого приложения (но не только открытый источник по лицензии по вашему выбору), лицензированным под GPL. Это делает GPL на самом деле довольно ограничительной лицензией, которая «загрязняет» продукты, поэтому она также известна как вирусная лицензия.

 

Linux is the kernel, no application will use the kernel directly but over a library, generally the GLIBC which is released under LGPL. That breaks the GPL chain a little bit because GLIBC syscalls the Kernel but this seems to be agreed on. So I'm afraid you won't get the code from Oracle :-).

If the application however uses any GPL licensed code then you MUST make the source code for that application available (but not only open source under a license of your choice) licensed under GPL. That makes GPL actually a quite restrictive license that is "contaminating" products, that is why it is also known as viral license.

</div
 
 
         
         
3
 
vote

Ключевое различие с лицензией GPL - это то, что составляет «использование» программного пакета, выпущенного по этой лицензии. GPL рисует это различие как «включение» против, высвобождая «боковую боковую», лицензируемое GPL-лицензионное программное обеспечение, а последняя представляет собой отношения «длина рук».

Большинство программного обеспечения, которое использует программное обеспечение GPL-лицензированное программное обеспечение, возможно, будет «включать», и, таким образом, сам будет необходим выпустить под GPL, если он будет выпущен. (GPL не требует выпуска, скорее он просто управляет, как должны возникнуть релизы.) Использование библиотеки на основе GPL квалифицируется как включение, например.

the FAQ , который был упомянут в https Предыдущий ответ содержит a Точное обсуждение по этому вопросу и дает пример того, где компилятор и ядро ​​квалифицируются как имеющие длину оружия Отношения, и, таким образом, компилятор может быть освобожден отдельно без какой-либо лицензии GPL, которую ядро ​​может иметь, при условии, что выпуск выполнен правильно. Это, однако, я думаю, что это больше исключение, чем правило, в котором участвует GPL.

Важно также понимать, что Лицензия GPL значительно отличается в этом Восприятие по сравнению с LGPL License , которая гораздо более разрешительна относительно релизов.

 

The key distinction with the GPL license is what constitutes "use" of a software package released under this license. GPL draws this distinction as "incorporating" vs. releasing "side-by-side" the GPL-licensed software, and whether or not the latter constitutes an "arms length" relationship.

Most software which uses GPL-licensed software would probably "incorporate" it and thus would itself be required to be released under GPL if it is released. (GPL does not require release, rather it just governs how releases must occur.) Use of a GPL-based library qualifies as incorporation, for example.

The FAQ that was mentioned in a previous answer contains a precise discussion of this issue and gives an example of where a compiler and kernel qualify as having an arms-length relationship, and thus the compiler could be released separately without any GPL license that the kernel may have, provided that the release is done properly. This, however, I think is more the exception than the rule where GPL is involved.

It is important to understand also that the GPL license is significantly different in this regard compared to the LGPL license, which is much more permissive regarding releases.

</div
 
 
1
 
vote

Я полагаю, что большинство ваших вопросов должны быть покрыты Tawl-faq.htmlttp///wpl-folow.org/license/gpl-folow noreferrer"> FAQ .

Короче говоря: Нет, все приложения Linux не должны быть открытым источником. Нет, вы не можете попросить исходный код для Oracle DB.

Действительно действительно упростить GPL, говорит, что если вы распространяете двоичные файлы, вы также должны предложить распространение источника. Поэтому, если вы распространяете двоичные файлы в ядре Linux, вы также должны предложить распространение источника для этих двоичных файлов.

 

I believe most of your questions should be covered by the FAQ.

In short: No, all Linux applications don't have to be open source. No, you can't ask for the source code for Oracle DB.

Really really simplified the GPL says that if you distribute binaries you must also offer to distribute the source. So if you distribute binaries of the Linux kernel you must also offer to distribute the source for those binaries.

</div
 
 
     
     

Связанный проблема

30  Открытый исходный текст в речевой библиотеку [Закрыто]  ( Open source text to speech library ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт. Этот вопрос не соответствует Рекомендациям переполнения ...

40  Кто-нибудь знает какие-либо базы знаний открытым исходным кодом? [закрыто]  ( Anybody knows any knowledge base open source ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт. Этот вопрос Off-Topic . В настоящее время он не принимае...

6  Предлагаемый OpenSource CMS для управления файлами метаданными? [закрыто]  ( Suggested opensource cms for managing files by metadata ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт. Этот вопрос не соответствует Рекомендациям переполнения ...

2  Piwik Web Analytics - любой с опытом этого? [закрыто]  ( Piwik web analytics anyone with experience of it ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт . Этот вопрос находится на основе мнения . В настоящее вре...

1  Есть ли сообщество iPhone с открытым исходным кодом? [закрыто]  ( Is there any iphone open source community ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> <Путь d = "M15 6.38A6.48 6.48 0 007.78. 04H-.02A6.49 6.49 0 002.05 ...

3  Есть ли хороший редактор игры с открытым исходным кодом для дизайнера уровня? [закрыто]  ( Are there any good game editor open source for level designer ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт. Этот вопрос не соответствует Рекомендациям переполнения ...

8  Какой самый оракул совместимый с открытым исходным кодом? [закрыто]  ( What is the most oracle compatible open source dbms ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт. Этот вопрос не соответствует Рекомендациям переполнения ...

11  Какие проекты C ++ Opensource имеют очень высокое качество кода? [закрыто]  ( Which c opensource projects have very high code quality ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт. Этот вопрос не соответствует Рекомендациям переполнения ...

-2  Раствор с открытым исходным кодом для доски объявлений на мониторе или телевизоре? [закрыто]  ( Open source solution for message board on monitor or tv ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт. Этот вопрос не соответствует Рекомендациям переполнения ...

3  Вы знаете проект управления пользователями в Java? [закрыто]  ( Do you know a user management project in java ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт. Этот вопрос не соответствует Рекомендациям переполнения ...

5  Это нормально, чтобы поставить любой существующий проект с открытым исходным кодом в Github? [закрыто]  ( Is it ok to put any existing open source project into github ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт. Этот вопрос не соответствует Рекомендациям переполнения ...

0  Есть ли бесплатный исходный код Wiki, который будет работать на приложении Google App? [закрыто]  ( Is there free wiki source code that will run on the google app engine ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт. Этот вопрос не соответствует Рекомендациям переполнения ...

-1  Как отображать рекламу на проекте с открытым исходным кодом, размещенным на CodePlex?  ( How does displaying ads on open source project hosted on codeplex work ) 
У меня есть проект с открытым исходным кодом на Кодепкс . Сегодня я пошел в «Редактировать резюме проекта и AMP; детали», чтобы сделать некоторую модификацию...

1  Визуализация Logs Flyentd  ( Visualizing fluentd logs ) 
У нас есть с открытым исходным стеком в нашей фирме. Мы используем FluentD в качестве коллектора журнала. Как я могу визуализировать свои журналы Fluentd? Кот...

3  С мягким модемом с открытым исходным кодом, который работает на Linux? [закрыто]  ( Open source soft modem that runs on linux ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт. Этот вопрос не соответствует Рекомендациям переполнения ...

Связанный проблема

30  Открытый исходный текст в речевой библиотеку [Закрыто] 
40  Кто-нибудь знает какие-либо базы знаний открытым исходным кодом? [закрыто] 
6  Предлагаемый OpenSource CMS для управления файлами метаданными? [закрыто] 
2  Piwik Web Analytics - любой с опытом этого? [закрыто] 
1  Есть ли сообщество iPhone с открытым исходным кодом? [закрыто] 
3  Есть ли хороший редактор игры с открытым исходным кодом для дизайнера уровня? [закрыто] 
8  Какой самый оракул совместимый с открытым исходным кодом? [закрыто] 
11  Какие проекты C ++ Opensource имеют очень высокое качество кода? [закрыто] 
-2  Раствор с открытым исходным кодом для доски объявлений на мониторе или телевизоре? [закрыто] 
3  Вы знаете проект управления пользователями в Java? [закрыто] 
5  Это нормально, чтобы поставить любой существующий проект с открытым исходным кодом в Github? [закрыто] 
0  Есть ли бесплатный исходный код Wiki, который будет работать на приложении Google App? [закрыто] 
-1  Как отображать рекламу на проекте с открытым исходным кодом, размещенным на CodePlex? 
1  Визуализация Logs Flyentd 
3  С мягким модемом с открытым исходным кодом, который работает на Linux? [закрыто]