-
Notifications
You must be signed in to change notification settings - Fork 1
Въведение. Какво е софтуер с отворен код? GNU Линукс. Други проекти. Философски четива.
Лекцията има за цел да запознае студентите с историята и философията на обществото на свободния софтуер, чиито плод е Linux и софтуерът, за който ще се говори по-нататък.
В началото на компютърната ера софтуерът не представлява голям интерес за компютърните фирми, които печелят от производството на хардуер. Липсата на интерес обуславя и фактът, че повечето програми са написани на някакъв вид машинен език и не са преносими между отделните платформи. Всеки желаещ да ги използва е трябвало да си закупи съответната машина.
До около 70-те години на 20 век, софтуерът се е споделял свободно и без ограничения от всички. Основните групи потребители и разработчици са били съсредоточени в университетите и ИТ бранша. С поевтиняване на компютрите и появата на езици за програмиране от високо ниво като C, производителите все повече започват да обръщат внимание на софтуера. Сериозна роля в това изиграва Microsoft, която е първата компания в света основана с цел производство и печалба само от софтуерни продукти. В резултат на това се образува моделът, който познаваме днес.
Началото на движението е поставено през средата на 80-те години от Ричард Столман със създаването на Фондацията за свободен софтуер(Free Software Foundation). Основната цел на Столман и фондацията е създаването на свободна операционна система, подобна на доминиращия по това време Unix. Така се ражда проекта GNU(Gnu is not Unix), който дава живот на различни компоненти от операционна система като текстовия редактор Emacs, програмата за начално зареждане (boot loader) GRUB, графичната среда GNOME, редактора на картинки Gimp и т.н. Освен блестящ програмист Ричард Столман е философ и винаги се ръководи от философските си принципи в своите проекти. Неговият основен мотив е връщането на свободата в използване на компютрите, която е съществувала преди, споделянето на знания, промяната на обществото към по-добро.
Едно от най-големите постижения на Столман е създаването на лиценза GPL. Това е юридически валиден документ, който използва законите за защита на авторските права в обратен ред. С него авторите на софтуера дават свободата на потребителите да използват, модифицират и разпространяват труда им без да нарушават закона. В замяна на това те (авторите) изискват всички промени или други програми разработени от техния код да спазват условията на GPL. По този начин те създават огромна еко система от последователи, което води до появата на хиляди софтуерни проекти за Линукс.
Ключов момент в развитието на движението е включването на ядрото Linux в GNU. Като студент в университета в Хелзинки, Линус Торвалдс решава да напише собствена операционна система като започва от ядрото. Не след дълго той публикува изходния код на проекта си свободно в Интернет и въвлича хиляди хора от целия свят към него. Това се явява липсващото парче за операционната система на Ричард Столман. Двата проекта (GNU и Линукс) са взаимно свързани по технически причини и често към тях се отнасят с термина GNU/Линукс.
Възхода на Linux вдъхновява много фирми и индивиди да стартират проекти с отворен код и да отворят кода на съществуващи проекти. Ярки примери са Netscape Navigator, който се преражда в Mozilla и в последствие във Firefox, Sun Java, Fedora directory server (закупен от Netscape и пуснат с отворен код от Red Hat) и др. В началото много от тези фирми са търсели инвестиционни капитали и така се разда термина отворен код (open source). Идеята на Столман за свобода на английски се изразява с една дума "free". Това обаче буди недоверие и съмнения в корпоративните среди, т.к. означава и безплатен. Изразът отворен код е измислен, за да представи свободния софтуер пред корпорациите и техните директори. В него се набляга на практическата страна - по-голям екип, повече идеи, повече тестери, по-добър софтуер, по-бърза разработка, по-ниски цени за внедряване на продукта.
Ядрото на ОС, наречено Линукс и основните инструменти за работа, системни и потребителски програми формират т.нар. дистрибуция. Примери за различни дистрибуции са Федора, Дебиан, Убунту и т.н. Макар и неправилно, често се използва терминът GNU/Линукс, т.к. голяма част от програмите са разработени от проекта GNU. Дистрибуцията е това, което потребителя инсталира на компютъра си или записва на CD. Използването на думата "Линукс" за обозначаване на определена дистрибуция не е много правилно, но може да бъде считано, че е съкратено от "Линукс дистрибуция". Разликата между дистрибуция (завършена ОС) и ядрото трябва да се прави според контекста, в който се говори.
Дистрибуциите се различават по идеологически, технически, общностни и други характеристики. Въпреки това нямат особено големи различия по между си.
За потребителя Линукс има следните предимства:
- няма вируси - обуславя се от архитектурата на ОС както и многото схеми за защита
- напълно безплатен - в над 90% от случаите
- централизиран достъп до огромен брой софтуерни пакети (в големите дистрибуции) - съществуват десетки хиляди програми за Линукс, които са с отворен код и напълно безплатни. Така не нарушавате закона, т.к. не използвате пиратски софтуер
- алтернативни програми изпълняващи едно и също действие
- бързина на работа и ефективно използване на компютърните ресурси
- изключително стабилен (в зависимост от версията)
- работи в многопотребителски режим
- огромен брой езици и среди за програмиране и разработка
В рамките на десетилетие софтуера с отворен код се превърна от екзотична в традиоционна практика. Около него биват изградени много успешни бизнес модели - предимно базирани на поддръжка и добавяне на функционалност по поръчка. Усвояването на умението да използвате системата като потребител или програмист/администратор ще бъде от полза за всички, които се целят да намерят по-добра работа или да извлечат максимума от компютъра си.
Някои известни проекти с отворен код са:
- Firefox - уеб браузър
- Apache - най-използваният httpd сървър в света
- Wordpress - система за блогове (както и почти всички уеб платформи писани на php)
- Езиците за програмиране Perl, Python, PHP, Ruby и други
- Програмите за графичен дизайн GIMP, Blender и InkScape
- Офис пакетът OpenOffice.org
На адрес http://sourceforge.net/softwaremap/?funcDownload=ever може да видите най-сваляните и най-активни приложения в най-големия хостинг сайт за проекти с отворен код.
Много вероятно е вече да използвате софтуер с отворен код дори без да го знаете.
Списъкът е изваден от курс за Линукс, проведен в ТУ-София, http://linux-tu.fsa-bg.org/
- Филм - RevolutionOS - или как е започнало всичко
- Що е свободен софтуер?
- Лицензи
- Как да стана хакер?
- Задължителни четива
- Силно препоръчителни четива
- GNU философия
- Теоретични импликации на софтуерната революция (на български)
- История на UNIX (на български)
- История на Linux (на български)
- Историята на Linux ядрото (на български)
- Основи на Интернет и UNIX (на български)
- RFC за нет етикет (netiquette)
- Огледален сайт в България на книгата за нет етикет