GPLv3 и Линус

Планирах да продължа серията за пълзящата бушонизация, но едно интересно събитие я прекъсна. За мое облекчение – мразя да пиша за мръсотиите в живота. (Игрите около свободния софтуер също не са много чисти, но все пак…)

Преди няколко дни излезе поредната (по план – последна) чернова на GPL версия 3. Всъщност, тя не беше предвидена в плана, но Microsoft и Novell излязоха “точно навреме” с хитра заобиколка на GPLv2, която не беше запушена и във втората, последна по план чернова на v3. Става дума за възможността разпространител на софтуер под GPL да сключи договор с патентособственик, чрез който да защити от съдене единствено своите преки клиенти, и по този начин да попречи на свободното разпространение на софтуера.

Естествено, Столмън налетя на идеята като бик гну на червено ;-). Дупката беше запушена, и то по начин, който спечели уважението ми – безпристрастно и равнопоставено. Черновата излезе… и предизвика една неочаквана за мен реакция. Реакцията на Линус Торвалдс.

Предисторията на нещата е дълга. Столмън не е само непоклатим идеолог (веднъж го бях нарекъл пред приятели “аятолахът на свободния софтуер”), но и отличен програмист. На макрониво резултатът е много положителен – на него дължим широките позиции на свободния софтуер сред ИТ специалистите. На микрониво обаче това много пъти е водило почти до провали на големи и важни проекти в СС – Столмън често се е опитвал да микроменажира нещата авторитарно, а в свободен проект това е рецепта за катастрофа. Много хора виждат в тези проекти поле за свободна изява, и не търпят заповеди отгоре.

Това противоречие доведе до появата през 1998 г. на движението на “отворения код”. Вече беше очевидно, че директният идеологизъм на Столмън не среща добър прием в света на големия бизнес, и придава на термина “свободен софтуер” малко плашещ оттенък. Двама от идеолозите на движението – Брюс Перънс и Ерик С. Реймънд – създадоха философия, която заляга не толкова на свободата като качество на софтуера, колкото на отвореността в развитието му. Основната подкрепа, която получиха сред кодерите на свободен софтуер, дойде от Линус Торвалдс – ръководителят на проекта “Linux”, писането на ядрото на операционната система.

Минаха години, и двата лагера се оформиха повече или по-малко ясно. Зад свободния софтуер застанаха “идеолозите”, зад отворения код – “прагматиците”. И двата лагера имаха силните и слабите си страни. (И, което е любопитно – в лична кореспонденция и Столмън, и Реймънд са изразявали мнението, че техният лагер е почти нищо, една гола видимост, и че другият лагер е някакъв страховит Голиат, който има ресурсите да ги смачка като муха. Чудя се как и двамата не са си задали въпроса защо “другите” още не са ги смачкали, и не са си извлекли поне малко поуки…)

Първите, събрани около Фондацията за свободен софтуер, през тези години като че ли не направиха нищо особено – просто продължаваха да пропагандират идеологията си, и незабележимо да разширяват зоната на свободния софтуер, когато и с каквото могат.

Вторите създадоха през това време големи неща – Консорциума за отворен код, след това OSDL, направиха сертифициране за свободни лицензи, и най-важното – отвориха очите на големите фирми за свободния софтуер, и го въведоха в света на бизнеса. Благодарение на тях, когато Microsoft атакува Linux чрез SCO (замаскирано като атака срещу IBM), IBM отстоя не само своята кожа, но и изобщо позициите на Linux. Пак благодарение на тях взаимодействието между различните “кланове” свободни проекти беше много подобрено, и това допринесе за създаване на много и интересни свободни софтуери.

С времето обаче си пролича една много важна разлика, останала неразбрана от повечето наблюдатели. Философията на свободния софтуер защищава интересите на потребителя, докато философията на отворения код защищава тези на разработчика на софтуера. Докато GPLv2 беше в разцвета си, тези две философии вървяха ръка за ръка. С времето обаче в него бяха намерени “експлойти” – TiVO-изацията, описаното по-горе съглашение между разпространител и патентособственик… И започна да става ясно, че това са две различни неща, че просто версия 2 е била дълго време толкова добра в опазването и на двете, че разликата не си е личала – но развитието продължава, условията се променят, нещата също.

Още с първата чернова на версия 3 стана ясно – тя се фокусира върху правата на потребителя, и където правата на разработчика се разминават с тях, остават без защита. Реакцията на Линус Торвалдс беше категорична – ядрото никога няма да мине под този лиценз!… Ако мине, това би ограничило приемането му сред бизнеса (използването му по начин, който ограничава и “заключва” потребителите, вече не би било легално), а това би навредило на позициите в бизнеса на ядрото, и съответно на неговите разработчици. (Вярно е, че доводите на Линус и поддръжниците му бяха нелогични и смешни, но който държи контрола, той определя правилата и лицензите. Пък другите нека се смеят…)

(Не че Линус е лош, или продажен човек. Не мисля така. Просто той схваща себе си като разработчик, и забравя, че е и потребител. И, естествено, когато почувства интересите си настъпени и незащитени, е готов да ги пази. Нещо странно или неморално?)

Последва втора чернова, която отстояваше същите позиции. Реакцията на Линус, естествено, отново беше същата. Имаше караници в Groklaw, подписки срещу GPLv3 сред разработчиците на ядрото, и много категорични позиции срещу v3. Сред общността на свободния софтуер започнаха съмнения, колебания, разделения, преценки дали GPLv3 има бъдеще без Linux… Да, огромната част от “свободната операционна система” се състои от проекта GNU, и е под юридическия контрол на Фондацията за свободен софтуер. Без нея ядрото Linux е… голо ядро. Нищо. Но когато Линус заплаши, че разработчиците на ядрото ще пренапишат тези части под чист GPLv2 лиценз, и ще започнат да си ги поддържат сами, заплахата звучеше реално – на много от разработчиците в проекта GNU им е идвало неведнъж до гуша от авторитарните намеси на Столмън, и можеше да се очаква да преминат на страната на Линус. А с тях и софтуерът.

Когато излезе третата чернова обаче, Линус рязко промени мнението си. Заяви, че тя е несравнимо по-приемлива от другите две, и че на практика всичките му основни възражения са били адекватно съобразени в нея. Че пак не й е горещ поклонник, но вече е склонен да я обсъди като вариант. Което ме поизненада. Препрочетох много внимателно по няколко пъти и последната чернова, и предишните, и не видях нищо, което да адресира грижите на Линус, или да е съществена разлика – напротив, последната чернова беше още по-категорична в защита именно на потребителя, ако и пак мека по тон.

Всеки би се запитал защо вятърът така внезапно духна обратно. И всеки вероятно ще има свое мнение по въпроса. Имам го и аз.

Инициативата за свободен код постигна много, с помощта на бизнеса. Малко по малко обаче бизнесът я превзе отвътре, по не най-добрия начин. Ерик Реймънд окончателно се откъсна от философията на свободния софтуер и отворения код (и от реалността, според мен), написа куп глупости, и накрая намери покрив в борда на не особено голяма фирма в тази област. Брюс Перънс се опита да защити позициите си в OSI и OSDL, но беше изместен и от двете места по корпоративному-играчески – с ударчета под кръста и мръсотийки на дребно. Нещо като “като щеш игри с бизнеса – на ти игри с бизнеса”…

Тези игрички не останаха незабелязани за свободните проекти, и те започнаха деликатно да позагърбват OSDL. Последният проект, тясно свързан с нея и верен й, остана Linux. Малко по малко тя загуби стабилността на другите си опори, и наскоро се превърна официално в Linux Foundation. Формално се ръководи от обществен съвет, съставен предимно от опитни мениджъри от големи компании (и двама-трима представители на общността, за лустро). Реално обаче зависи напълно от Linux, и в крайна сметка от Линус Торвалдс. Най-вероятно без да го е искал, и може би без дори да го осъзнава, Линус е в положението да държи тази фондация в ръцете си – или поне ако той кихне, тя да хваща пневмония. Финансовата и друга подкрепа на големите фирми за фондацията е огромна, но това не променя нещата.

“Нищо неправещата” през това време Фондация за свободен софтуер пък претърпя тайно и полека значителни промени отвътре. Столмън все повече се отказва от микромениджмънтските изпълнения, и набляга на идеологическото водене и евангелизма. Което е и точното му място, като лидер на общността… Нивата на Фондацията под него пък малко по малко се запълниха с подходящите за тях хора (и на първо място опитният юрист и благорек майстор на убеждението Ибин Моглин).

Процесът по създаването на GPLv3 беше абсолютно безпрецедентен като откритост и възприемчивост към критики. Създадените комитети взимаха предвид всяко странично мнение, и представителите на бизнеса бяха сред ключовите фигури в тях. Резултатът беше, че първоначалната, доста екстремна като език версия на Столмън беше изгладена, фризирана и изчистена, без обаче да загуби нищо от визията си за свобода на потребителя. С чиста съвест бих казал, че сегашната чернова на GPLv3 е вероятно най-приятелският към бизнеса лиценз за свободен софтуер, който съществува към момента. Дори BSD-тип лицензите, които позволяват всичко без ограничения, не са толкова добри – те пък не предлагат толкова добра защита на разработчика срещу патентни злоупотреби. А в днешния литигационен свят това е важно.

Индивидуалните разработчици на свободен софтуер пък не закъсняха да оценят това. Още преди разработката на GPLv3 намалелите преки намеси на Столмън в развиването на проекта GNU бяха поуталожили недоволството им. А когато предимствата на версия 3 започнаха да стават очевидни, мнението в GNU се обърна в тяхна полза. Вече нямаше да е никак лесно разработчиците да бъдат привлечени на страната на Линус, да продължат да развиват софтуера под версия 2. Без софтуера от проекта GNU реално е невъзможно цялостната операционна система да се използва за сериозна работа – а с него ще вървят изискванията на GPLv3. Пълното му пренаписване пък, или дори само поддържането му актуален, е извън възможностите на разработчиците на ядрото – проектът GNU превишава по обем ядрото Linux многократно.

Друг удар по позициите на Линус беше нанесен от амбициозния Саймън Фипс, отговорник в Sun Microsystems за свободния софтуер. Фипс е активен участник в разработката на GPLv3 и негов енергичен поддръжник. И причината за това е не негово лично увлечение, а изгодата на Sun.

От много време Sun търсят начини да намалят разходите си за разработка на софтуер, и да подобрят имиджа си сред клиентите. Връзките със свободния софтуер работят чудесно и в двете насоки. Например, засега все още Sun изнася основната тежест по разработката на пакета OpenOffice.org, но се твърди, че с времето все по-голяма част от нея се поема от общността. Смята се, че до година-две ще се постигне съотношение, задоволително за Sun. Тогава приходите от продажбата на StarOffice, базиран на същия код, вероятно вече успешно ще покриват преките разходи на Sun по разработката. (И наличието на голям, добър и свободен офис пакет на пазара ще подрязва позициите на Microsoft, които Sun правилно са преценили като заплаха за бизнеса си в дългосрочен план.)

Амбициите са тази политика да се разпростре и върху други ключови софтуери, произвеждани от Sun. Тази година беше обявено лицензиране на някои части от платформата Java под GPLv2. По слухове обаче, когато версия 3 стане готова, цялата платформа ще бъде лицензирана под нея. Като се има предвид, че Java към момента е най-използваният програмен език на света, дори само този ход вероятно би бил достатъчен за налагането на GPLv3. Още една причина оставането на ядрото Linux под версия 2 да е безсмислено и контрапродуктивно.

Ключовият момент в промяната на позиците на Линус обаче вероятно идва от слуховете, които се носят около OpenSolaris. Тази платформа е обявена от Sun за свободна, но е лицензирана под CDDL – лиценз, конкурентен на GPL, и несъвместим с него. Идеята беше GPL да бъде “посбутан в ъгъла”, но не се получи – OpenSolaris на практика не привлече никаква поддръжка в средите на свободния софтуер. Не се получи и една много желана от професионалистите комбинация – OpenSolaris има стабилно и мощно ядро, но частите от операционната система над него са доста по-слаби от тези на проекта GNU; комбинирането на двете би дало чудесен технически резултат, но е юридическа “химера”, в чиито води малко кораби смеят да плават.

Слуховете са, че наскоро след излизането на GPLv3 се очаква OpenSolaris да бъде лицензиран (и) под него. Ако това се случи, а Linux остане под GPLv2, се създава реална вероятност ядрото на OpenSolaris да започне да печели позиции сред потребителите на свободен софтуер. Това не само ще навреди на позициите на Linux (и в крайна сметка може да го измести напълно), но и ще легитимира акронима GNU/Solaris (условие на Столмън), което пък ще доведе до по-широко използване на GNU/Linux за уточняване на приликите. (Колкото Столмън държи на използването на “GNU/”, толкова Линус и екипът му държи да се използва само “Linux”. Само че Столмън е по-правият – виж по-горе за сравнението в обемите на GNU и Linux – и това развитие би го показало.)

Разбира се, изместването няма да е лесно. Ядрото Solaris определено превъзхожда Linux по стабилност и надеждност върху I386 и Sun-базиран хардуер, но не е портнато за толкова други различни видове хардуер, би било по-трудно да бъде скалирано върху специализирани суперкомпютри и върху малки вградени процесори, и засега има по-ограничен набор драйвери. Ако обаче започне да се налага, ще има предостатъчно мераклии да го портват и скалират, а Sun е в по-изгодни позиции дори от IBM да оказва натиск върху производителите на хардуер да разкриват спецификации, на чиято база да се пишат драйвери. Така че сражението няма да е кратко, но ще е с предрешен край.

Като за капак, силна поддръжка на GPLv3 оказа… създателят на философията на отворения код, Брюс Перънс. Отстранен по не особено чист начин от творението си, той си го върна, като подкрепи разработката на новата версия на GPL. Откритият и свободен процес на разработката го интегрира лесно и удобно, без търкания. А огромният му опит в популяризиране на идеи на свободния софтуер се оказа точно съставката, от която утвърждаването на новата версия имаше нужда. Перънс безпроблемно намери формула, с която да убеди и производителите на хардуер, и много загрижени разработчици на ядрото, че “DRM не е абсолютно забранен от GPLv3 – той просто е ограничен до местата, на които няма да пречи на свободата на софтуера. А такива места има, и той може да си върши работата там чудесно и пълноценно.”

В крайна сметка, позицията на Линус срещу GPLv3 се оказа напълно подкопана. Демократичността и отвореността на разработката на версията беше привлякла подходящите хора, и беше осигурила вид на лиценза, който да задоволява подходящите интереси. Да се опитва да се бори срещу него означава да се опитва да спъне бързия влак. Единственият резултат би бил да превърне проекта си, ядрото Linux, в тъжен спомен… Така че поредната трета чернова внезапно отговори на въпросите му, и задоволи претенциите му. Вероятно това да я хареса напълно ще е въпрос само на не много време.

… Уви, и в “чистия и свят” свят на свободния софтуер има немалко политика. И в нея има и не особено чисти неща… Но тя може да ни е за поука в реалния свят, в който живеем. За това как истинската демократичност, отвореност, енергичност и ангажираност произвежда истински добри резултати, и преодолява дори могъщи пречки.

Може би е време да се поучим. 🙂

8 Responses to 'GPLv3 и Линус'

  1. e-stankov Says:

    Отлична и информативна статия! Благодаря.

  2. growchie Says:

    Все пак да не забравяме, че Линуз постоянно е твърдял, че не знае какъв ще е окончателният вариант на лиценза и е некоректо да дава отговора си. Освен това “в линукс няма само мой код не мога да говоря от името на всички” не е смешно оправдание. Като прибавим, че между първа и втора чернова се случи сделката между Novell и “дявола” има още основания от прагматична гледна точка да се преразгледат нещата. Всички знаем, че Линуз има доста специфичен (крайно нетактичен понякога със склонност за преувеличаване) начин за критикуване на това което не му е по сърце и доста се поувлича на моменти. По скоро до сега е опитвал по свой начин да наложи някои виждания за бъдещето на лиценза.
    Колкото до Столман – човек който твърди, че “Комерсиалният софтуер няма право да съществува” и “че ако за една работа няма отворен софтуер, то това значи че тя не заслужава да се прави” няма как да наплаши бизнеса до смърт. Той нормалните потребители наплашва с такива твърдения, че какво остава за тях.

  3. Григор Says:

    @growchie: Истина е, че Линус не е давал окончателно мнение, и че кодът не е само негов. Но е истина и че на втора чернова решението му беше еднозначно не (без да му пука, че кодът не е само негов), а към още по-рестриктивната трета чернова внезапно стана съвсем търпим. И да, определено се опита да наложи свои виждания за бъдещето на лиценза – само че е очевидно за всички, че не успя. А че е доста остър като език го знаем още от позицията му срещу GNOME. Аз, дето съм горещ привърженик на KDE и не ща да погледна GNOME, се засрамих и пуснах статия в Linux Today по въпроса…

    Колкото за сделката между Novell и “дявола” – за срам пред общността, аз никога не съм виждал Microsoft като “дявол”. Като една прекалено нагла корпорация, която се скъсва да злоупотребява с монопола си – определено. Но мисля, че има сериозен шанс тя с времето да еволюира до поддръжник на свободния софтуер. (Има шанс и да му стане още по-зъл враг. Времето ще покаже.)

    А за Столмън си абсолютно прав. Такива като него са нееднозначни. От една страна, на него дължим непоклатимостта на курса за свобода на софтуера през годините, а също и откритостта на разработката на GPLv3. От друга, като си отвори устата, той плаши всеки несвикнал. Хубавото е, че напоследък си стои там, където е полезен – като върховен аятолах, който се меси само при реална опасност за каузата. Конкретните контакти, при които не бива да се плашат хората, все повече ги поемат хора като Моглин и другите от ФСС (а напоследък те май поизградиха топла връзка и с Брюс Перънс – “полковникът на отворения код”). Така че бих очаквал нещата откъм ФСС и Столмън, ако не се скапе нещо, да се подобряват за в бъдеще.

  4. growchie Says:

    Колкото до “дявола” (забележи че го сложих в кавички) имам по-скоро в превид Стив Балмър. Мисля че няма смисъл да се обсъжда неговия език и нековите коментари (както и неговите танцувални способности и уменя да замеря със столове 🙂 )
    На друго ми се ще да наблегна. Всичко което се случва е съвсем нормално. И тона и езика и патоса. Просто за разлика от комерсиалните корпорации това не става в заключени стаи и над участниците не виси заплахата от NDA, а става в публични форуми къде много лесно се правят трагедии по-велики и от шекспировите. Така че не е важно кой знае колко кой какво говори. Ако става на въпрос за смяна на позици тази на SUN е най-забавната. Имало е предложение Солариса да не се пуска под CDDL, а направо под GPLv2 и инженерите са заявили, че ако се направи това то те щели да напуснат. Сега изведнъж – GPLv3 от тях. Ама пак казвам хайде да не чертаем образи на хората само по това което говорят (или дрънкат по някога), а да гледаме крайния резултат.

  5. Григор Says:

    @growchie: Това за предложението за Соларис под GPLv2 и инженерите ми звучи малко вероятно. Но кой знае?… Наистина, нека видим как ще се развият нещата.

  6. growchie Says:

    http://meetings-archive.debian.net/pub/debian-meetings/2006/debconf6/
    Там OpenSolaris, Java, and Debian: can we be friends? Simon Phipps; Alvaro Lopez Ortega
    http://meetings-archive.debian.net/pub/debian-meetings/2006/debconf6/theora-unscaled/2006-05-14/tower/OpenSolaris_Java_and_Debian-Simon_Phipps__Alvaro_Lopez_Ortega.ogg

    Приятно гледане. Въпросния момент със соларис и GPL2 е някъде по средата.

  7. growchie Says:

    Оффтопик iTunes ще продава музиката на EMI БЕЗ DRM за 20% отгоре но с по-добро качество. Краят ня DRM наближава!!!!
    http://edition.cnn.com/2007/SHOWBIZ/Music/04/02/emi.apple/index.html

  8. Григор Says:

    🙂

Leave a Reply