от Ричард Столман(20-01-2002)

рейтинг (43)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

GNU операционната система и движението за отворен код (Free Software Movement) [Част 2]
Превод: Андрю Иванов
Адрес на оригинала: http://www.oreilly.com/catalog/opensources/book/stallman.html


Предизвикателства в бъдещето

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

Следващите четири раздела са посветени на тези предизвикателства.

Секретен Хардуер

Производителите на хардуер все по-често запазват спецификациите в тайна. Това затруднява писането на свободни драйвери, позволяващи на Linux и XFree86 да поддържат новият хардуер. Днес имаме завършени свободни системи, но няма да ги имаме утре, ако не можем да поддържаме утрешните компютри.

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

Обратният инжинеринг е тежка задача. Ще се намерят ли хора с достатъчна непоколебимост за тази задача? Да, ако сме изградили увереност, че свободният софтуер е въпрос на принципи и несвободните драйвери не трябва да се толерират. А дали мнозина от нас ще похарчат малко повече пари или време, за да можем да ползваме свободни драйвери? Да, ако решителността да имаме свобода е широко разпространена.

Несвободни библиотеки

Подобна библиотека, работеща върху свободна операционна система е капан за разработчиците на софтуер. Атрактивните функции на библиотеката са апетитна хапка; ако използваш библиотеката падаш в капана, понеже програмата ти не може да бъде пълноценна част от свободна операционна система. (По-точно казано, можем да включим програмата ти, но тя няма да работи, тъй като липсва библиотеката.) Но това не е най-лошото! Ако програмата стане популярна, тя може да подмами и други нищо неподозиращи програмисти в капана.

Пръв представител на проблема беше Motif през 80-те. Въпреки че все още нямаше свободни ОС, беше ясно какъв проблем ще предизвика Motif след време. Проектът GNU реагира по два начина: помоли отделните свободни проекти да поддържат свободният X toolkit както и Motif; и по молба някой да се заеме да напише свободен аналог на Motif. Това отне много години; LessTif, разработен от Hungry Programmers, стана достатъчно мощен да поддържа повечето Motif приложения чак през 1997.

Почти по същото време, друг несвободен графичен потребителски интерфейс (GUI) започна да набира популярност. Това бе Qt на Troll Technologies. Qt беше използван в богата колекция от свободен софтуер -- десктопа KDE.

Свободните GNU/Linux системи не можеха да използват KDE, понеже не можехме да използваме библиотеката. Въпреки това някои комерсиални дистрибутори на GNU/Linux системи, които не бяха стриктни относно свободния софтуер, добавиха KDE към техните системи, създавайки системи с повече възможности, но по-малко свобода. KDE групата много активно окуражаваше все повече програмисти да използват Qt и милиони нови "Linux потребители" никога не се запознаха с идеята, че нещо не е наред. Ситуацията се оказа ужасно неприятна.

Общността на свободния софтуер реагира на проблема по два начина: GNOME и Harmony.

GNOME (GNU Network Object Model Environment) е проектът за десктоп на GNU. Започнат през 1997 от Miguel de Icaza и разработван с подкрепата на Red Hat Software, GNOME започна да предлага сходни инструменти, но използвайки само свободен софтуер. Разбира се, има и технически предимства, като например поддръжката на много езици, не само на C++. Но главната му цел беше свободата: да не изисква използването на несвободен софтуер.

Harmony е съвместима, заместваща библиотека, създадена за да направи възможно използването на KDE без използването на Qt.

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

Как ще отговорим на следващата заплаха от подобна библиотека? Дали цялата Общност ще осъзнае необходимостта да се пази от капана? Или мнозина от нас ще заменят свободата за удобството, създавайки голям проблем? Бъдещето ни зависи от философията ни.

Софтуерни патенти

Най-страшната заплаха, с която се сблъскваме, са софтуерните патенти, които могат да поставят алгоритми и функции извън обсега на свободния софтуер за до 20 години. Патентът за LZW компресиращия алгоритъм беше издаден през 1983 и ние все още не можем да направим свободен софтуер, който да създава коректно компресирани GIF файлове. През 1998 свободна програма, създаваща MP3 компресирани аудио файлове, беше премахната от една дистрибуция под заплахата от патентен иск.

Съществуват начини да се справим с патентите: можем да търсим доказателства, че патентът е невалиден, а можем и да търсим алтернативни методи да се справим със задачата. Но всеки от тези методи работи само понякога; когато и двата се провалят, един патент може да предизвика липса в свободния софтуер на определена функция, която потребителите желаят. Какво ще правим, когато това се случи?

Тези от нас, които ценят свободния софтуер заради свободата ще останат с него въпреки всичко. Ще намерим начин да си свършим работата без патентованите функции. Но онези, които ценят свободния софтуер, понеже очакват той да е технически по-добър, най-вероятно ще нарекат провал ситуацията, в която патент задържа развитието на свободния софтуер. И така както е полезно да говорим за практическата ефективност на "катедралния" модел на разработка и надеждността и мощта на някои свободни програми, не трябва да спираме - трябва да говорим за свобода и принципи.

Свободна документация

Най-голямата липса в нашата свободна ОС не е софтуера, а добрите свободни ръководства, които да можем да включим в нашите системи. Документацията е важна част от всеки софтуерен пакет. Когато важен софтуерен пакет не идва с добро свободно ръководство, това е голям пропуск. Днес има много подобни пропуски.

Свободната документация, както и свободния софтуер, е въпрос на свобода, а не на цена. Критерият за свободно ръководство доста прилича на този за свободен софтуер: става въпрос за даването на определени права на всички потребители. Редистрибутирането (включително и продажбата с комерсиална цел) трябва да е разрешено; чрез електронни и хартиени носители, така че всяко копие на програмата да е придружено от копие на ръководството.

Разрешението за модифициране също е важно. Като основно правило, не вярвам, че е жизнено важно за хората да имат разрешение за модифицирането на всички видове статии и книги. Например, не смятам, че вие или аз сме задължени да даваме разрешение за модифициране на статии като тази, която описва нашите действия и виждания.

Но има практическа причина правото на промени да е изключително важно за документацията на свободния софтуер. Когато хората упражняват правото си да променят софтуера, да добавят или променят неговите функции, ако са добросъвестни, те ще променят и ръководството, така че да осигурят точна и използваема документация за променената програма. Ръководство, което не позволява на програмистите да бъдат добросъвестни и да довършат работата си, не задоволява нуждите на Общността.

Някои видове ограничения върху метода на променяне не представляват проблем. Например, изискванията да се запази оригиналната бележка за авторските права, условията за разпространение и списъка на авторите са напълно коректни. Не е проблем и да се изисква от модифицираните версии да включват бележка, че са модифицирани, или дори да има цял раздел, който не може да бъде изтриван или променян, ако този раздел се занимава с не-технически теми. Тези видове ограничения не представляват проблем, понеже не пречат на добросъвестния програмист да адаптира ръководството към модифицираната програма. Иначе казано, те не спират Общността да извлече максимална изгода от ръководството.

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

Ще имат ли разработчиците на свободен софтуер съзнанието и решителността да създадат пълна гама свободни ръководства? И отново: бъдещето ни зависи от философията.

Трябва да говорим за свободата

Днешните изчисления са, че потребителите на GNU/Linux системи, като Debian GNU/Linux и RedHat Linux, са около 10 милиона. Свободният софтуер е изградил такива чисто практически преимущества, че потребителите се тълпят около него поради чисто практически причини.

Благотворните последици от това са очевидни: повече интерес към създаването на свободен софтуер, повече клиенти за бизнеса със свободен софтуер и повече възможности за убеждаване на компаниите да разработват комерсиални свободни софтуерни продукти, вместо собственически.

Но интересът към софтуера нараства по-бързо от осведомеността за философията, върху която се базира, а това води до проблеми. Нашата способност да посрещаме предизвикателствата и заплахите описани по-горе зависи от волята ни твърдо да отстояваме свободата. За да сме сигурни, че Общността има тази воля трябва да разпространяваме идеята сред новите потребители, които идват в Общността.

Но точно тук се проваляме: усилията да привлечем повече нови потребители в нашата Общност далеч надвишават усилията да ги научим на правилата в нашата Общност. Трябва да правим и двете, като трябва да има баланс между тях.

"Отворен Код"

Обучаването на новите потребители стана по-трудно през 1998, когато част от Общността реши да спре да използва термина "свободен софтуер" и вместо това да казва "open source software" (софтуер с отворен код).

Някои от тези, които го подкрепиха, искаха да избегнат объркването между "свободен" и "безплатен" - една достойна цел. Други, обаче, искаха да избегнат духа на принципност, който беше мотивирал движението за свободен софтуер и проекта GNU, и вместо това да спечелят чиновниците и бизнес-потребителите, много от които поддържат идеология, поставяща печалбата над свободата, над Общността, над принципността. Така риторичното "open source" се фокусира върху възможността да се създава висококачествен, мощен софтуер, но му липсва идеите за свобода, общност и принципност.

Списанията "Linux" са ясен пример за това - те са пълни с реклами за собственически софтуер, който работи с GNU/Linux. Когато се появи следващият Motif или Qt, дали тези списания ще предупредят програмистите да се пазят от тях, или ще им правят реклама?

Поддръжката на бизнеса може да допринесе към Общността по много начини; дори и да не допринесе, пак е от полза. Но да спечелим поддръжката му, говорейки по-малко за свобода и принципи, може да бъде катастрофално. това прави предишният дисбаланс между "привличане" и "обучение" дори по-лош.

"Свободен софтуер" и "Open Source" описват повече или по-малко една и съща категория софтуер, но казват различни неща за него и за ценностите. Проектът GNU продължава да използва термина "свободен софтуер", за да изрази идеята, че свободата, а не просто технологията, е важна.

Опитай!

Философията на Йода звучи добре, но не работи за мен. Аз съм извършил по-голямата част от работата си докато се безпокоях дали мога да се справя със задачата в несигурност, дали изпълнението й би било достатъчно. Но, въпреки всичко, аз опитах, понеже нямаше никого между врага и моя град. Изненадващо за мен, понякога успявах.

Понякога - не. Някои от градовете ми паднаха. Тогава открих друг заплашен град и се подготвих за нова битка. След време се научих да търся заплахи и да се поставям между тях и моя град; да викам други хакери да се присъединят към мен.

Днес често не съм единственият. Облекчение и радост е за мен да видя полк хакери, окопаващи се да отбраняват позицията, и осъзнавам, че градът може и да оцелее - за момента. Сега Microsoft е взела на мушка точно нашата Общност. Не можем да приемем бъдещето на свободата за гарантирано. Не го приемайте за гарантирано! Ако искате да запазите свободата си, трябва да сте готови да я защитавате.

Край

Част 1 може да прочетете от тук, а Част 2 от тук



<< Debian: минало, настояще, бъдеще - І част. | GNU операционната система и движението за отворен код [2] >>