![](/themes/blju2/spacer.gif)
|
![](/themes/blju2/spacer.gif) |
|
СЪВЕТИ
![](/themes/blju2/cnt_title_l.gif) |
Роля и значение на GNU Affero GPL
|
![](/themes/blju2/cnt_title_r.gif) |
|
|
![](/themes/blju2/cnt_top_r.gif) |
![](/themes/blju2/spacer.gif) |
от Пейо Попов(6-11-2007)
рейтинг (20)
[ добре ]
[ зле ]
Вариант за отпечатване
Увод
GNU GPL v2 е създаден в годините1, когато използването и ролята на интернет са били значително по-малки. Той защитава правата на създателите и потребителите на софтуер в един офлайн свят. Днес, все повече приложения се ползват отдалечено, с връзка чрез компютърна мрежа, вместо да се зареждат и стартират от комютъра на потребителя. Този начин на ползване на софтуера прави неприложимо задължението за предоставяне на достъп до изходния код, което е в основата на GNU GPL и така дава възможност за заобикалянето му. Тези “вратички” за заобикаляне на GNU GPL са известни като SaaS (Software as a Service) или ASP (Application Service Provider) loopholes и целта на Affero GNU GPL (AGPL) е тяхното затваряне и гарантирането на всички четири основни свободи2 и за приложенията, които се ползват по мрежа.
“Вратичките” в GNU GPL
GNU GPL свързва задължението за предоставяне на изходния код на програмата с получаването на нейно копие от потребителя. Когато приложението се изпълнява на отдалечена машина, потребителя само си взаимодейства с него, не получава копие на програмата и за предоставящия услугата не се поражда задължението да осигури достъп до изходния код. Това е и изрично записано в дефиницията на “convey”3, която прави GNU GPL v3:
Простото взаимодействие с потребител, през компютърна мрежа, при което той не получава копие, не е разпространение.
“Вратичките” предоставят възможност на всяка трета страна примерно да вземе което и да е от многобройните уеб приложения, разпространяващи се под GPL, да го “полира” или модифицира добавяйки нужна функционалност и да го предложи като услуга без да е задължена да върне подобренията към оригиналния проект. Накратко казано - възможност да вземе без да даде, което е против идеята на GPL или поне така смятат критиците на горните текстове.
Affero GPL
Воден от желание да отговори на подобни на изложените рискове, през 2002 г. юридическият съветник на FSF проф. Ебен Мьоглен добавя една допълнителна клауза към GNU GPL v2, която гласи 4:
“Ако програмата, както сте я получили, е предназначена да взаимодейства с потребители чрез компютърна мрежа и ако във версията, която сте получили, на всеки потребител, който си взаимодейства с програмата, е предоставена възможност да заяви получаване на пълния изходен код, вие не трявба да премахвате тази възможност от вашата модифицирана версия на програмата или всяко произведение, базирано на програмата и трябва да осигурите еквивалентна възможност за всички потребители, които взаимодействат с вашата програма през компютърна мрежа да заявят незабавно получаване, чрез HTTP на пълния изходен код на модифицираната версия или на друго производно произведение”
Тази клауза дава решение, което отговаря на опасенията и възможните опастности за проекта “Affero”, но носи със себе си и нови проблеми. Първият, основен проблем, е, че новото лицензно споразумение не е съвместимо с GNU GPL v2. Това означава, че код, разпространяван под един от двата лиценза5 не може да бъде използван под другия, заради включеното и в двата изискване всяка модификация или произведение, включващо такъв код, да се разпростанява под същия лиценз.
Нещо друго, което ми прави впечатление, е изискването да се преценява предназначението на програмата (”intent”). Това поставя под въпрос приложимостта на лиценза към приложения, които не комуникират директно с потребителя. Пример за такова приложение може да е софтуера за рутери, който може да предоставя диагностична информация на потребители, но основното му предназначение е да общува с други елементи от мрежовата инфраструктура, а не с крайния потребител. В подобни хипотези възниква и въпросът кой трябва да бъде възприеман като потребител, които неясноти внасят допълнителна несигурност и ограничават приложението на AGPL.
GNU Affero GPL
Във втората чернова (”draft”) на GNU GPL v3 бе предвидена възможност носителят на правата да добави по свое желание и задължение за предоставяне на кода при използване по мрежа на приложението, но тази възможност отпадна във финалната версия. За сметка на това е решено да има отделен лиценз, наречен GNU Affero GPL, който да е съвместим с GNU GPL v3 и да сигнализира ясно задължението за предоставяне на модификациите и при отдалеченото ползване.
В момента GNU Affero GPL няма още финална версия, а към този момент е актуална втората чернова за обсъждаже (”discussion draft 2″). Разликите с GNU GPL v3 са най-вече в секция 13 където се дефинира задължението за предодставяне на изходния код и съвместимостта на GNU Affero GPL с GNU GPL v36:
Независимо от всякакви други условия на този Лиценз, ако модифицирате Програмата, вашата модифицирана версия трябва ясно да предлага на всички потребители, взаимодействащи си отдалечено с нея, чрез компютърна мрежа (ако вашата версия поддържа такова взаимодействие) възможност да получат съответстващия изходен код на вашата версия, чрез предоставяне на достъп до съответстващия изходен код от мрежови сървър, без изискване на заплащане и чрез някой стандартен или обичаен начин за улесняване копирането на софтуера. Този съответстващ изходен код ще включва съответстващия изходен код на всяко произведение, разпространявано при условията на третата верся на GNU General Public License, съгласно условията в следващия параграф.
Независимо от всякакви други условия на този Лиценз, вие имате право да свързвате или комбинирате всяко произведение, разпространявано при настоящите условия, с друго произведение което се разпространява при условията на трета версия на GNU General Public License в сборно произведение и да предавате резултатното произведение. Условията на този Лиценз ще продължат да се прилагат към частта, която е при настоящите условия, но произведението, което е използвано ще остане при условията на третата верся на GNU General Public License
Заключение
Това е, накратко представена, идеята и предназначението на първия GUN лиценз, който ще е съвместим с GNU GPL и ще защитава моралните ценности и основните свободи на свободния софтуер и в софтуерния свят, където мрежите и отдалечения достъп до приложения ще играят все по-голяма роля. Моля, като намерите пропуски, грешки, неясноти или имате предложения за корекции или допълнения да ги оставите като коментар или за по-сигурно да ми пишете, за да може статията да стане максимално точна и полезна.
Бележки:
1. Първата версия на GNU GPL е от 1989-та, а година по-късно, през 1990-та е създадена и втората версия, която бе актуална до средата на 2007г. обратно
2. Четирите основни свободи са:
- Свободата да използва програмата, за всякакви цели (свобода 0).
- Свободата да изучава как работи самата програма, и да я адаптира към своите конкретни нужди (свобода 1). Достъпът до изходния код е предпоставка за това.
- Свободата да разпространява копия за да подпомага своите ближни (свобода 2).
- Свободата да усъвършенства програмата, и да прави своите постижения общодостъпни, така че да са от полза на цялата общност. (свобода 3). Достъпът до изходния код е предпоставка за това.
Срамота, ако сте прочели тази бележка. обратно
3. В секция 0. Definitions на GUN GPL v3 е записано:
To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
обратно
4. Горният превод е неофициален и само с информативна цел. Оригиналният и приложим текст на на секция 2(d) от GNU GPL v2 е:
“If the Program as you received it is intended to interact with users through a computer network and if, in the version you received, any user interacting with the Program was given the opportunity to request transmission to that user of the Program’s complete source code, you must not remove that facility from your modified version of the Program or work based on the Program, and must offer an equivalent opportunity for all users interacting with your Program through a computer network to request immediate transmission by HTTP of the complete source code of your modified version or other derivative work.”
обратно
5. Под “лиценз” тук имам предвид договор по смисъла на българското право. Дискусията дали GNU GPL е лиценз или договор дълга и сложна и не желая да взимам отношение тук и сега. обратно
6. Горният превод е неофициален и само с информативна цел. Оригиналният и приложим текст на на секция 13 от GNU Affero GPL dd2 е:
Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License.
обратно
<< | ZFS Root за FreeBSD >>
|
![](/themes/blju2/spacer.gif) |
![](/themes/blju2/cnt_bottom_l.gif) |
![](/themes/blju2/spacer.gif) |
![](/themes/blju2/cnt_bottom_r.gif) |
Фанатизъм От: Калоян <kaloian__dot__dimitrov (a) gmail__dot__com> На: 7-11-2007@5:15 GMT+2 Оценка: 1/НеутраленСамо едно не разбирам, в какво се състои проблема да хвана и да модифицирам някой приложение работещо в нета и да предлагам услуги с него? Явно проблема е, че така ще печеля пари. Какво лошо има в това?
А това, че не давам моята модифицирана версия на другите си е само мое право. Нали аз държа правата на модифицираната версия и нали само аз я използвам? Значи съм се възползвал от правото си да не се възползвам от правото за разпространение.
Столман и компания вече съвсем са изкукали. Утре ще поискат от Министерството на отбранта , дето си е кустомизорало някой криптиращ протокол да им даде сорса, щото основата била отвоена. Нямам против отворения код, свободния софтуер и т.н. но съм против крайности, а това тук си е точно такава крайност.
Това не предлага свобода, това я ограничава!
[Отговори на този коментар]
Към: Фанатизъм От: BlackByte <bbyte< at >mail__dot__bg> На: 7-11-2007@8:17 GMT+2 Оценка: 1/НеутраленА не смяташ ли че е хубаво когато си използвал труда на някой друг за да печелиш да получи и той нещо? Хем ти не искаш да даваш от твоя труд на другите хем искаш другите да си дават труда си. Малко е нахално не мислиш ли?
[Отговори на този коментар]
Към: Към: Фанатизъм От: l На: 8-11-2007@16:38 GMT+2 Оценка: 1/НеутраленНе смятам. Изобщо не ме интересува дали някой ще
печели пари от кода, който съм написал. Затова повечето
ми код (с изключение на този в ядрото) е под BSD
подобен лиценз.
[Отговори на този коментар] "бай Мангау" От: mikis На: 29-11-2007@16:22 GMT+2 Оценка: 1/НеутраленКой е този твой код в ядрото?
Ти ще се окажеш голям талант... Интересно, когато човек има талант, той не се крие и не практикува дървена философия по форумите. Това го правят по-скоро другите, които имат желание но нямат талант ;)
Надявам се ще простиш моя скептицизъм, провокиран от големите ти претенции и пълна анонимност.
---------------
"Бай Мангау е хита на сезона,
бай Мангау е връх на купона.
...
Бай Мангау е пръф на световфара,
бай Мангау кара Кадилак-Самара.
...
Бай Мангау е страшно печен тип,
бай Мангау е на Чехов прототип.
..."
--------------------
Това е цитат от песен за един с големи претенции и спорно покритие. Дано си хванал смисъла.
[Отговори на този коментар] Към: "бай Мангау" От: l На: 29-11-2007@19:37 GMT+2 Оценка: 1/НеутраленКойто трябва, знае кой е моят код. Тъпаците-комсомолци
дето дърдорят по форумите няма нужда да го знаят :)
И какво общо имат знанията с анонимността?
[Отговори на този коментар]
Към: Фанатизъм От: Hapkoc <sasoiliev (a) mamul< dot >org> На: 7-11-2007@9:36 GMT+2 Оценка: 1/Неутрален> и нали само аз я използвам?
Реално погледнато не я използваш само ти, а всичките потребители, които ползват предоставената услуга.
> Утре ще поискат от Министерството на отбранта , дето си е кустомизорало някой криптиращ протокол да им даде сорса, щото основата била отвоена.
И какво като поискат? Ако кода е лицензиран под GPLv2 ще са в пълното си право. И какво ако министерството им го даде? От това, че е известен кода на криптиращия алгоритъм, той по-лесен за разбиване ли става?
[Отговори на този коментар]
Към: Към: Фанатизъм От: Райчо <raicho __точка__ nikolov__at__gmail __точка__ com> На: 7-11-2007@14:51 GMT+2 Оценка: 1/Неутрален> И какво като поискат? Ако кода е лицензиран под GPLv2 ще са в пълното си право. И какво ако министерството им го даде? От това, че е известен кода на криптиращия алгоритъм, той по-лесен за разбиване ли става?
В правото си са, само ако Министерството на отбраната им е дало изпълнимите файлове. GPL зъдължава, ако даваш изпълними файлове, да даваш и сорса, но не те задължава да даваш сорса, ако не разпространяваш изпълнимите файлове.
[Отговори на този коментар] Към: Към: Към: Фанатизъм От: Hapkoc <sasoiliev __@__ mamul__dot__org> На: 7-11-2007@15:00 GMT+2 Оценка: 1/Неутрален> GPL зъдължава, ако даваш изпълними файлове, да даваш и сорса, но не те задължава да даваш сорса, ако не разпространяваш изпълнимите файлове.
Така е.
[Отговори на този коментар] Към: Към: Фанатизъм От: Калоян <kaloian[ точка ]dimitrov__at__gmail[ точка ]com> На: 7-11-2007@18:02 GMT+2 Оценка: 1/НеутраленИма голяма разлика между ползването на услуга и на софтуер, който я предоставя. Докато предлагам само една услуга, дори да съм модифицирал кода на приложението доставящо тази услуга, няма основание да се иска да разпространявам неговия код. Това е насилие не свобода. От момента, в който почна не да предлагам услугата а софтуера, който предоставя услугата тогава вече ще предоставям кода.
Прочетете внимателно четирите свободи, на които се основава свободния софтуере. Те са точно това свободи. Ако аз реша да не разпространявам софтуера, това не ми пречи да реша да го модифицирам за собствени нужди. А това в контекста е дадена услуга. Така не нарушавам ничии свободи. След като съм се поклазал достатъчно добър (технически или икономически няма значение) да измисля начин да печеля без да нарушавам ничии права, имам правото да го правя.
@Hapkoc ами ти как мислиш, кое е по лесно за разбиване едно шифриране, за което не знаеш как става или едно за което знаеш? Самото разбиване ще иска все същите ресурси, но създаването на алгоритъма ще е съвсем друга тема. А той е важният.
[Отговори на този коментар]
Докъде можем да продължим? От: CTEHATA На: 7-11-2007@16:38 GMT+2 Оценка: 1/НеутраленСтрува ми се че идеята на този лиценз започва да преминава някои прости граници!
Какво представлява ползването на софтуер през мрежата?
Трябва ли да има "банери" на свободния софтуер в RSS-а на сайта ми например?
А Гугъл като показва парчета от страници, създадени със СС, как ще му укажем да покаже и информацията за свободния код?
А ако имаме аудио поток, генериран от СС и "стриймван" по мрежата какво ще правим? Ще диктуваме URL-и? :)
Дори и комерсиалния софтуер не се опитва да ми казва какво ще правя с резултатите от изпълнието на програми, как им е хрумнало да напъхат това в ГПЛ ??? Добре поне че е опционално.
[Отговори на този коментар] И да, и не От: Димитър Панайотов На: 12-11-2007@10:10 GMT+2 Оценка: 1/НеутраленДонякъде съм съгласен с Калоян, но и не съвсем. От една страна наистина е нарушаване на философията на отворения софтуер, но от друга страна е предпазна мярка.
Причината да се въведе тази поправка според мен е точно една -- GNU се тревожат, че някои грамадни компании като M$, 0racle, 1BM и т.н. ще ползват на воля някои доста читави софтуери/библиотеки от GNU/Apache/etc и на тяхна база ще направят софтуери без конкуренция в областта си. Имайки предвид, че вече всичко отива към SaaS, идеята с инсталирането на софтуер започва да остарява. И когато те изкарат някой грамаден сървър, дето прави всичко освед да ви бели картофите вкъщи, тогава добре разбирам от какво се тревожи GNU -- в тези големи сървъри пак ще има неясна инфо за някои "extensions" на някой протокол, обаче понеже тези сървъри ще могат да правят твърде много неща, хората няма да имат избор, а ще ги ползват. И, ще се върнем към времето на мрачния Windows без алтернатива, само че сега няма да става дума за ОС, а за услуги, без които хората от следващото поколение няма да могат.
Проблемът на GNU обаче е, че са закъснели -- гореспоменатите компании отдавна вече са направили това.
[Отговори на този коментар]
|
![](/default_images/clearpixel.gif) |
|
|
|
|
|
|