GNU Движение за Отворен код/ Въведение в свободният софтуер.

- Секция Компютри

Кратка история на Информатиката и UNIX:

Компютрите са претърпели редица от изменения и метаморфози, преди да добият текущата форма на персонални машини
които повечето от хората тук в залата имаме. В началото машините са били огромни и не портативни и са използвали всякакви чудновати операционни системи. В началото операционните системи са били твърде прости и недружелюбни били са еднозадачни и не многопотребителско ориентирани. Първата операционна система която
е дала възможност за тъй наречената многозадачност и многопотребителност както и платформо преносимост е UNIX. UNIX е пряк наследник на операционната система Multics който от друга страна е първият опит за създаване на многозадачна многопотребителска операционна система лесно преносима и лесно надграждаща се. UNIX се появява на "бял свят" през 1969-та година в лабораториите "Bell Labs". UNIX бива операционна система изцяло написана на програмният език C. UNIX дава началото на модерната информатика и оформя тенденция за разработка на програми като акцентът пада на простотата на работа и елегантността. Въпреки всички свой предимства UNIX работи само на специфични компютърни архитектури който обикновенно биват достъпни само на крупни организации или университети и UNIX си остава доста недостъпен за домашните потребители. Появяват се големи корпораций които поставят изходният програмен код на UNIX под различни лицензи който не позволяват неговото свободно модифициране и разпространяване. Променя се и начинът на разработка на самата операционна система
и от хакери ентусиасти (обикновенно студенти), операционната система започва да се развива от добре платени разработчици в специализирани компании за разработка на различни софтуерни решения пример за такава компания са Sun Microsystems. Компютърният софтуер първоначално свободно разпространяван и модифициран от неговите потребители постепенно се превръща в задължително платен софтуер който бива разпространяван единстено и само в двойчен вид под лиценз който ограничава неговото разпространение и модифициране. Такъв софтуер който се разпространява единствено и само в двойчен вид и чийто изходен код не е наличен публично от тук насетне ще наричаме несвободен софтуер. От друга страна свободният софтуер обикновенно се характизира със:


Какво е Free Software?

1. Свободата да изпълняваш програмата с каквато и да е цел.
2. Свободата да копираш и да я даваш на всички.
3. Свободата да модифицираш/променяш програмата свободно като имаш пълен достъп до изходният код на програмата/програмите.
4. Свободата да разпространяваш свободно модифицирана версия на програмата и по този начин да помагате за изграждането на общност.

Какво е лиценз?

Документ описващ правата и задължения на крайният
потребител при употреба на дадена програма.

GNU,GPL и BSD и Linux

Свободният софтуер (FS) става факт през Септември 1983 година когато Ричард Столман прави исказване за започването
на проект който нарича GNU. GNU е шеговит акроним който означава GNU не е UNIX ( GNU'S NOT UNIX ).
С думата Свободен в свободният софтуер се има в предвид свобода ( като свободен човек ), а не се има в предвид безплатен софтуер. Можете да плащате за свободен софтуер или да не си плащате изборът е ваш.
Когато Ричард Столман започва своята кариера в университета MIT през 1971 година той работи в група която използва основно свободно разпространяем софтуер. Тогава дори и компютърните компаний често са разпространявали свободен софтуер. Програмистите са били свободни да си сътрудничат и да могат да си помагат в работата.
До началото на 1980-та година почти всичкият наличен софтуер бива вече затворен ( с различни ограничаващи употребата лицензи ), което означава, че софтуера вече си има притежатели които вече не желаят разпространението на програмите м/ду потребителите, това прави нуждата от създаването на организация като GNU необходимост. Всеки компютърен потребител се нуждае от операционна система, без операционна система човек не може да започне истински свободен проект, поради това GNU избират да ползват за основа на новата GNU система UNIX който е вече доказан м/ду операционните системи със своят добър дизайн и преносимост м/ду компютрите както и защото съвместимостта би лесно дала възможност на UNIX потребителите да преминат от UNIX на GNU. Поради факта че
UNIX вече подлежи на различни лицензи ограничаващи неговото разпространение се налага той да бъде изцяло написан наново без никаква предишна база от програмен код.

Операционната система UNIX има следната структура.
- Ядро ( kernel )
- Обвивка ( shell )
- Инструменти и апликации. (  компилатори, редактори, програми форматиращи текст, меил софтуер ) и т.н..

Създаването на цяла операционна система е ОГРОМНА работа поради това разработката на GNU е започната през Януари 1984-та година и отнема много години. Free Software Foundation ( FSF - Фондация за сбободен софтуер бива основана през 1985-та година ). Това е организация направена с цел да събира средства за да финансира проекта GNU. До 1990-та година по голямата част от работата по проекта GNU e завършен липсва му само една част Ядрото! През 1991-ва година се появява ядро подобно на това на UNIX чийто автор е Линус Торвалдс и то бива наречено Linux по името на Linus и UNIX.
Комбинирайки Linux с GNU дава като резултат завършена операционна система наречена GNU/Linux в момента ползвана от над 20 милиона потребители. За да може да се гарантира съществуването на свободният софтуер
се създава специален лиценз наречен GPL.Автор на GPL е отново Ричард Столман. Целта на GPL е да се защитава Свободният софтуер от кражба както и да се защитават правата и свободите на потребителите на свободният софтуер, както и да се гарантира неговото съществуване в бъдеще. Името на лиценза GPL e акроним от (General Public License).
Обществен Публичен Лиценз. По голямата част от свободният софтуер за който ще говорим е регистриран под GPL версия 2. GPL v. 2 се появява през 1991-ва г. Частите на GNU проекта и Linux ядрото както и други компании разработчици започват да лицензират софтуера си под GPL v.2.
Регистрацията на даден софтуер под GPL става по крайно простичък начин достатъчно е да добавите копие на лиценза който е текстов файл и може да бъде вземат от www.gnu.org/licenses/gpl2.txt и да го направите публично достъпен за сваляне от Интернет. Това вече гарантира, че даденият софтуер който сме създали е лицензиран под GPL. През 1999-та година се появява
LGPL (Lesser GPL) или ( По малко GPL ) много от компанийте който преди са желаели да пускат софтуера си като свободен поради дадени съображение сега обикновено го правят като пускат софтуера си лицензиран под LGPL. GPL е станал мощна сила в информационният век. Появяват се много нови лицензи които са моделирани или под влиянието на GPL. За дефинирането на различните Лицензи предлагащи на крайният потребител свободен софтуер бива създадена организациа наречена OSI ( Open Source Initiative ).
В наши дни съществуват и други лицензи който отговарят на критерийте за свободни лицензи такъв лиценз например е BSD лиценза (the BSD license), такъв лиценз използват различни дистбуции който също могат да бъдат определени като свободен софтуер но не са от семейството на GNU/Linux въпреки, че голяма част от тях използат GNU софтуер. Такива са операционни системи са например FreeBSD OpenBSD и NetBSD за разлика
от GNU/Linux тези операционни системи ползват BSD ядро (kernel), което е пряк наследник на AT&T Unix.
Найменованието BSD идва от (Бъркли Софтуерна Дистрибуция), (Berkley Software Distribution) и носят това найменование поради факта че корените на тези свободни дистрибуций са свързани с университета Berkley. BSD Licence-а е доста по либерален от GPL поради това че той е лиценз който не ограничава компанийте да интегрират код под такъф лиценз в своите комерсиални продукти и не ги задължадат да пускат изходният код на новият създаден програмен продукт под същият лиценз нито пък да правят публично достъпен изходният код на проекта единственото което този лиценз ги задължада е да добавят копие на BSD лиценза заедно с програмният продукт. Софтуера лицензиран под BSD Licence спада към така нареченият Public Domain Software, естествено прекалената свобода при BSD лиценза си има както свойте предимства така и своите недостатъци.

Библиография:
http://wikipedia.com
http://www.bell-labs.com
http://www.gnu.org
http://kernel.org

Полезни връзки
http://www.gnu.org/licenses/
http://www.opensource.org/
http://kernel.org
http://stallman.org


Linux Ядро

Разработката на Linux ядрото започва през 1991 година и бива доразвивано от доброволци по целият свят.
В началото Linux Ядрото бива направено да работи с компютърната архитектура 386. Linux ядрото е
почти изцяло написано на програмният език C с малки парчета от асемблер код. Linux ядрото се разпространява
свободно под GPL License.

Линус Торвалдс започва разработката на Linux ядрото през 1990-та година
като опит да направи подобна на Minix операционна система която работи на персонални машини. През септември 1991-ва година се издава версия на ядро 0.01 включваща 10,239 реда програмен код. 19 Март 1994 година се издава версия 1.0.0 включваща 176,250 реда код. През 9-ти Юни 1996-та ядрото достига версия 2.0.0 777,956 реда код.
През Януари 1999 се издава за 1-ви път версия 2.2.0 включваща 1,800,847 реда код. 4 Януари 2001 Ядро с версия 2.4.0 е на бял свят и включва 3,377,902 реда код. 17 Декември 2003 е издадено 2.6.0 което включва 5,929,913 реда програмен код. По настоящем текущата версия на Linux ядрото е 2.6.15.3.
Разработката на Linux ядрото става основно на 4 клона. Това са както следва по настоящем
2.0, 2.2, 2.4 и 2.6. До момента Linux работи на повечето от наличните компютърни архитектури, като Alpha, SUN SPARC, Vax, PowerPC. По настоящем основните разклонения
на ядрото която повечето модерни Linux дистрбиции използват са 2.4 и 2.6.

Linux както и линукс ядрото често са свързвани с пингвина Tux създаден от Larry Ewing.
За талисман/лого на Linux се използва пингвин защото както Торвалдс казва "Linus обича пингвини. Това е." :].


Терминология:

Що е софтуер?
Продукт написан на програмен език позволяващ ни работата с компютър. Към сбор от програми позволяващ ни работата с компютър, ще
се обръщам с термина ОС ( Операционна Система ).

Компютърна архитектура - Определя се от тип-а на машината най-често се определя по архитектурата на процесора.
Процесорна Архитектура - Зависи от инструкциите който даден компютър с даден процесор може да изпълнява,
примери за компютърна архитектура ( XT,286,386,486,586(Pentium), Pentium II >= 686).

Многозадачност - Възможността Компютър да изпълнява 1-на или повече програми едновременно
Многопотребителност - Възможността няколко потребителя да споделят ресурси предоставяни от един компютър едновременно, обикновенно през мрежа.
Преносимост - Лесно пренасяне ( чрез компилация ), на операционна система от 1 Компютърна архитектура
на друга.






 

 






Коментирай свободно: