Изменения

Перейти к: навигация, поиск

Opensource и качество

4507 байтов добавлено, 12:10, 19 января 2012
м
Нет описания правки
=== Проблемы свободы ПО ⌘⌘ ===
* SaaS. Фикс: AGPLv3AGPL(3).* JavaScript. Скрипты — {{red|несвободное ПО без вашего ведома}}** {{red|Обфускация}} == исходник? Фикс: распространять свободноMPL, Apache.* Скрипты в целом. * {{red|компоновка? не компоновка?}} Фикс: LGPLv3LGPL(3), MPL, Apache.
=== Баги в лицензиях ⌘⌘ Проблемы свободы ПО — разъяснение ===
* Связанные с конкретным законодательствомС <abbr title="Software as a Service">SaaS</abbr> всё понятно. Разрабатывая что-то свободное, что вероятно кто-то доработает и будет использовать исключительно на своём сервере, обслуживая запросы других людей - помните, что доработки он может и не открыть. Для таких продуктов полезно использовать AGPL (3-ей версии).** Пример — Со скриптами чуть интереснее — причём тут имеется ввиду не только JavaScript, который ваш браузер выполняет постоянно, обфусцированный, несвободный, и без вашего ведома (хотя бы мы, Россия :при запросах в Google) , но и Европа тожедругие скриптовые языки, набравшие сейчас очень большую популярность.** CeCILLС ними проблемы две: GPLv2во-первых, адаптированный к Европе обфусцированный скрипт — это исходник? GPL ничего не говорит на этот счёт, а вот в MPL и ФранцииApache явно прописано, что исходник — это «предпочтительная для модификации форма»; обфусцированная форма — точно не предпочтительная, соответственно, она и не является исходникомВо-вторых, как вообще определяются «границы» приложения, если оно полностью написано на скриптовом языке, особенно, если это какой-нибудь JavaScript? Мало того — может ли GPL’ный скрипт выполняться в интерпретаторе, имеющем несовместимую с GPL лицензию? Из-за этих вопросов трактовки Firefox, например, лицензируется как под MPL (1.1), так и под GPL. Решение — использовать для javascript’ов как минимум LGPL, а как максимум — MPL (файловый копилефт) или Permissive-лицензию типа Apache или NewBSD/FreeBSD. === Баги в лицензиях ++ ⌘⌘ === * Рекламные багиCeCILL: GPLv2 + Европейские законы* BSD, PHP. : Рекламные баги {{blue|(Fix: FreeBSD, X11, Apache)}}* «GPL Guile: GPL + разрешение компоновки»компоновка* BDB: копилефт типа GPL* MPL: не баг, а фича — файловый копилефт* CDDL: «хитрые ограничения»специально несовместима с GPL
* Clear BSD: {{red|явно}} не дают прав на патенты
* Старые APSL (вообще несвободные): центральный контроль
=== Баги в лицензиях — разъяснение ===
Во-первых, '''рекламные баги'''. Самый известный пример — баг оригинальной лицензии BSD, которая говорила, что всё, что включает в себя ПО, распространяющееся под BSD-лицензией, должно где-то упоминать, что оно содержит «ПО, разработанное университетом Беркли». Дальше лицензию копипастили все, кому было не лень, меняя «университет Беркли» на название своей организации. В итоге, например, в NetBSD 1997-го года выпуска пришлось упоминать аж 75 разных организаций.
 
Второй баг — лицензия PHP, которая заставляет включать «php» в названия всех расширений. Не такой страшный, но тоже баг.
{{note}} Никогда не называйте permissive-лицензии «BSD-style» лицензиями, потому что так можно ввести кого-нибудь в заблуждение и породить новый рекламный баг.
Второй класс — это багиИсправление для этого — 3-пунктовая BSD, связанные с применением лицензий в конкретных законодательствах. Законы везде разные2-пунктовая FreeBSD-лицензия, чтобы во всём этом разобратьсяили аналогичный, нужно быть прокачанным юристом. Поэтомуно ещё более укороченный вариант — лицензия ISC (применяемая, например, существует CeCILL, который очень похож на GPLv2, но переписан французскими юристами и адаптирован к французскому и европейскому вообще правупо умолчанию в новых частях OpenBSD). [http://www.cecill.info/faq.en.html#pourquoi3-cecill Конкретика здесь] — в области гарантийий пункт, области действия, и неупоминания «соответствующих законов». Есть небольшое подозрение, что и к нашим законам лицензия могла бы быть более применима, но вот незадача, для удалённый во FreeBSD/ISC лицензиях — это запрет использования имя <организации> или других контрибьюторов в русских судах лицензию нужно писать на русском :)рекламе производных продуктов.
Есть Ещё один пример — лицензия PHP, которая заставляет включать «php» в названия всех расширений. CeCILL — лицензии, очень похожие на GPLv2, LGPLv2, BSD, но переписанные французскими юристами и адаптированные к французскому и европейскому вообще праву. [http://www.cecill.info/faq.en.html#pourquoi-cecill Конкретика здесь] — в области гарантий, области действия, и неупоминания «соответствующих законов». Есть лицензии типа Guile: «GPL + разрешили разрешение линковаться с проприетарщиной» — люди не вкурили LGPL. Есть лицензии типа <abbr title="Berkeley DB / Sleepycat Software License">BDB</abbr>, вместо которых можно было бы смело использовать GPL, ибо смысл тот же — свободно распространяться должно всё, что использует BDB.
MPL 1.1, CDDL: «хитрые ограничения», из-за которых та же фаерфоксина выпускается под MPL+GPL+LGPL.
Общая суть MPL — «Копилефт на уровне отдельных файлов». То есть , внесённые в MPL’ный файл изменения должны распространяться под MPL’ем, но MPL’ные файлы можно комбинировать в «Более крупном произведении» («Larger work») с файлами под другими лицензиями (если, конечно, это не противоречит самим этим лицензиям). Кроме того, MPL 1.1 разрешает перелицензировать бинарные сборки. Собственно говоря, из-за этих багов MPL 1.1 сам по себе и несовместим с GPL и требует двойного лицензирования, чтобы быть совместимым. MPL в основном удобно применять для JavaScript'ов (и, возможно, других ).
Однако, недавно вышла новая версия [http://mozilla.org/MPL/2.0/ MPL 2.0]:
* Теперь она «по умолчанию совместима» с GPL 2.0+, LGPL 2.1+, AGPL 3.0+ — то есть, если автором специально не отмечено обратное (для этого нужно писать, что «Incompatible with secondary license»). Раньше для этого требовалось явное двойное или тройное лицензирование (как в Firefox: GPL, LGPL, MPL).* Упрощено определение «исходников»: «the preferred form of the Covered Code for making modifications to it<s>, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor’s choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge»charge</s>». Хорошо *: В FAQ Mozilla утверждает, что это или плохо — хзхорошо, так как позволяет гибко трактовать определение и включать не только перечисленный набор дополнительных файлов, а именно то, что нужно включать в каждом конкретном случае. Может быть, это и не хорошо, потому что мало кто как это оттрактует… А проблема открытия конфигурации и скриптов сборки есть — например, Acer, в соответствии с GPLv2, опубликовал исходники ядра для своего телефона Liquid, но без конфига, и чтобы их собрать, конфиг нужно изобретать заново. CDDL же был специально основан на MPL 1.1, в частности, чтобы быть несовместимым с GPL. Никто от этого не выиграл, только геморроя прибавилось — например, были долгие срачи на тему ФС ZFS.
Clear BSD: в лицензии явно прописано, что не дают прав на патенты. Есть и такое. Вероятно, использовать эту лицензию значит подставлять филейные части тела патентным троллям.
Старые APSL (Apple Public Software License) — вообще несвободные. Ибо : имеют центральный контроль (все доработки надо отправлять ябблам), возможность отзыва лицензии теми же ябблами и запрет личного пользования доработанного ПО.
=== «Хорошие» Кошерные лицензии ⌘⌘ ===
* ПО: AGPLv3, GPLv3, LGPLv3, Apache v2.
* Медиа: CC-BY-SA.
* Лицензии для мнений/решений/лицензий (for works of opinion and judgment): CC-BY-ND.
 
=== Другие популярные ⌘⌘ ===
 
* MIT/X11/FreeBSD/ISC: Минималистичная Permissive.
* MPL 2.0: Файловый копилефт by Mozilla.
* {{red|Всё остальное — от лукавого!}}
=== Stand Up For Your Freedom ⌘⌘ ===
=== Разъяснение ===
{{warning}} Нужно добавить слайды с противопоставлением закрытого ПО (иллюстрация - иллюстрация — кучка Кощеев, "чахнущих «чахнущих над златом"златом») и СПО (все обмениваются друг с другом полезными няшками, и в итоге у всех больше).
Свободное ПО и бизнес зачастую кажутся людям врагами. Мол, цель СПО — полная бесплатность, а что же тогда кушать программистам? Так вот: это Совершенно Ошибочное Мнение, и вызывается оно бесплатностью копий.

Навигация