Софтуер с отворен код

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

Отворен код e софтуерът, чийто изходен код е публично достъпен за безплатно ползване до определено ниво, с право на преглед, подобрение и редактиране. Често пъти изразът отворен код се ползва като синоним на свободен софтуер. Други оспорват, че това са различни понятия.

Дефиниция за отворен код[редактиране | редактиране на кода]

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

1. Свободно разпространение. Лицензът, с който се разпространява програмата, не трябва по никакъв начин да забранява продажба или свободно ѝ предоставяне като компонент от друг многокомпонентен софтуер. Лицензът не може да налага плащане на роялти или други такси за авторски права, право на ползване и приходи от продажби.

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

3. Допълнителни работи. Лицензът трябва да позволява промени на кода и дописване, както и да разрешава същите да бъдат разпространявани под същия лиценз, както е на оригиналния софтуер.

4. Цялостност на авторския код. – Лицензът може да забранява разпространение на сорс код в модифициран вид само когато лицензът позволява добавяне заедно със сорс кода на пач файлове с цел модифициране на програмата по време на изпълнение ѝ (компилиране). – Лицензът следва още да позволява разпространение на софтуера, създаден по този начин. – Лицензът може да изисква версия с дописания код да носи различно име или ID номер от този на оригиналния продукт.

5. Без дискриминация на лица или групи. Лицензът не може да дискриминира хора или социални прослойки.

6. Без дискриминация на области на приложение. Лицензът не може да ограничава ползване на програмата за определени области. Така например не може да ограничава ползването на софтуера само зао търговски дейности или само за генно инженерство напр.

7. Разпространение на лиценза. Правата, зададени за всяка програма, следва да са задължителни за всички, които я ползват, без необходимост от допълнителни лицензи.

8. Лицензът не може да важи за определен продукт. Правата, които предоставя лицензът, не може да зависят от това, дали програмата принадлежи към определено линукс дистро или не. Ако се извади от дистрото или се разпространява отделно, всички нейни части остават подвластни на условията от лиценза на оригиналното дистро.

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

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

Разпространение на понятието[редактиране | редактиране на кода]

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

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

История[редактиране | редактиране на кода]

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

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

Отворен код е приет като термин едва през януари 1998 година, на сбирка на някои от поддръжниците на свободния софтуер в Пало Алто, Калифорния. Част от присъствалите на сбирката са Ерик Реймънд, Тод Андерсън, Сам Окмън, Джон Хол и Кристин Питърсън (която всъщност предлага израза отворен код). Впоследствие то бива защитено и прието на събрание организирано от издателя Тим О'Райли през април същата година. На него присъстват някои от най-известните и влиятелните сред поддръжниците на свободния софтуер като Линус Торвалдс, Лари Уол, Пол Викси, Гуидо ван Росум, Майкъл Тииман и Ерик Реймънд. За много това е събитието, дало началото на Инициативата за отворен код, макар Ерик Реймънд и Брус Перънс да основават организацията два месеца по-рано.

Всъщност самото понятие е използвано и преди, а и все още се използва, и има по-широк смисъл отколкото му дава дефиницията на Инициативата за отворен код. Въпреки това едва след 1998 му се дава определен смисъл и става популярно.

Култура[редактиране | редактиране на кода]

Бизнес модел[редактиране | редактиране на кода]

Отвореният код се е доказал през годините като нещо много повече от чиста идеология или подход, използван само от идеалисти и фанатици. Той се е превърнал в бизнес модел и начин продуктът да се развива по-бурно и по-пълноценно. Това е добре описано в есето на Ерик Реймънд „Катедралата и базарът“.

Все пак има някои пречки пред това един продукт безпроблемно да възприеме принципите на отворения код и веднага да стане печеливш. Такива пречки са например честата липса на утвърдени срокове и планове за развитие на продукта, липсата на подходящо обучение и дори самите лицензи (някои от тях се самоналагат или ограничават продукта, като например GPL ).

Разбира се, на база на отворения код са разработени различни бизнес модели, които да се справят с тези пречки и да подобрят резултатите. Но те са в употреба от скоро и тяхното поведение не е достатъчно изучено и изяснено. Пример за такъв проект е BeeKeeper.

Вижте още[редактиране | редактиране на кода]

Външни препратки[редактиране | редактиране на кода]

Външни препратки (на английски език)[редактиране | редактиране на кода]