Софтуер с отворен код
от Уикипедия, свободната енциклопедия
| Тази статия се нуждае от подобрение. Необходимо е: изглаждане на текста, форматиране, корекция на терминологията, препратки. Ако желаете да помогнете на Уикипедия, просто щракнете на редактиране и нанесете нужните корекции. |
Отворен код има софтуерът, чийто изходен код е публично достъпен за преглед и редактиране. Много хора използват израза отворен код като синоним на свободен софтуер. Други спорят, че това са различни понятия.
Съдържание |
[редактиране] Дефиниция за отворен код
Организацията OSI, чийто председател за момента е Майкъл Тийман, е определила правила, по които може да се определи дали един продукт е с отворен код, или не. Както се вижда от тях, отворен код не значи само програмата ти да бъде с отворен код:
1. Свободно разпространение. Лицензът, под който се разпространява програмата ви, не трябва по никакъв начин да забранява продажбата или свободното ѝ даване като компонент от друг софтуер, съдържащ много компоненти. Този лиценз не трябва да изисква заплащане.
2. Сорс код. Програмата трябва да съдържа сорс кода и трябва да позволява разпространението му, както и в компилирана форма (ако има такава възможност). Ако под някаква форма продуктът не се разпространява заедно с кода му, то трябва да има инструкции откъде може да се свали от Интернет без заплащане. Сорс кодът трябва да бъде в такава форма, че всеки да може да го променя за своите нужди. Доставянето на маскиран (обфускиран) код или на кодиран код не се допуска.
3. Допълнителни работи. Лицензът трябва да позволява промени на кода и дописването му, а също трябва да разрешава те да бъдат разпространявани под същия лиценз, както и на оригиналния софтуер.
4. Цялостност на авторския код. – Лицензът може да забранява разпространението на сорс кода в модифициран вид само ако лицензът позволява добавянето на пач файлове заедно със сорс кода с цел модифициране на програмата по време на изпълнението ѝ (компилирането). – Лицензът също трябва да позволява разпространението на софтуера, създаден по този начин. – Лицензът може да изисква версия с допълнително писания код да носи различно име или номер от тази на оригиналния продукт.
5. Без дискриминация на лица или групи. Лицензът не трябва да дискриминира хора или групи от хора.
6. Без дискриминация на области на прилагане. Лицензът не трябва да ограничава използването на програмата в различни области. Например не трябва да ограничавате използването на софтуера само в областта на бизнеса или на генното инженерство.
7. Разпространение на лиценза. Правата, зададени за всяка програма, трябва да са задължителни за всеки, който я ползва, без нужда от допълнителни лицензи.
8. Лицензът не трябва да бъде за определен продукт. Правата, които носи лицензът, не трябва да зависят от това, че програмата принадлежи към дистрибуция. Ако тя се извади от дистрибуцията или се разпространява отделно, всички нейни части зависят от условията на лиценза на оригиналната дистрибуция.
9. Лицензът не трябва да ограничава друг софтуер. Лицензът не трябва да налага ограничения на друг софтуер, който се разпространява заедно с лицензирания софтуер. Например лицензът не може да настоява, че всички други програми в една дистрибуция или пакет трябва да бъдат с отворен код.
10.Лицензът трябва да бъде технологично независим. Нито една клауза на лиценза не трябва да се отнася към индивидуална технология или определен интерфейс.
[редактиране] Разпространение на понятието
Макар отворен код да изглежда тясно свързано понятие със света на програмирането, смисъла му и ползите от него все повече се разпростират. Наглед неразбираемите термини като култура с отворен код или журналистика с отворен код, които някои от последователите на движението налагат и развиват, добиват все повече смисъл. Разбира се налага се промяна на принципите отнасящи се пряко за софтуера, като по-скоро говорим за отворено съдържание, но основната идеология на отворения код е запазена.
Простичък пример за това са блоговете, които срещаме ежедневно. Съдържанието във тази енциклопедия също е добър пример за това що е то отворен код и колко бързо се развиват продуктите с отворен код.
[редактиране] История
Историята на отворения код е в един или друг смисъл продължение на историята на свободния софтуер. Това не означава, че едното понятие замества другото, нито че движението за свободен софтуер е спряло да се развива, просто историята на свободния софтуер няма да се преразказва тук.
Въвеждането на новия термин било нужно, защото стария- свободен софтуер, се оказал много объркващ за хората. За тях свободен означавало безплатен- свободен за разпространение, докато всъщност се имало предвид свободен за модификация. Новия термин разрешил този проблем и се оказал по-лесен за разбиране.
Отворен код е приет като термин едва през януари 1998 година, на сбирка на някои от поддръжниците на свободния софтуер в Пало Алто, Калифорния. Част от присъствалите на сбирката са Ерик Реймънд, Тод Андерсън, Сам Окмън, Джон Хол и Кристин Питърсън (която всъщност предлага израза отворен код). В последствие то бива защитено и прието на събрание организирано от издателя Тим О'Райли през април същата година. На него присъстват някои от най-известните и влиятелните сред поддръжниците на свободния софтуер като Линус Торвалдс, Лари Уол, Пол Викси, Гуидо ван Росум, Майкъл Тииман и Ерик Реймънд. За много това е събитието, дало началото на Инициативата за отворен код, макар Ерик Реймънд и Брус Перънс да основават организацията два месеца по-рано.
Всъщност самото понятие е използвано и преди, а и все още се използва, и има по-широк смисъл отколкото му дава дефиницията на Инициативата за отворен код. Въпреки това едва след 1998 му се дава определен смисъл и става популярно.
[редактиране] Култура
[редактиране] Бизнес модел
Отворения код през годините се е доказал като нещо много повече от чиста идеология и подход използван само от идеалисти и фанатици. Той се е превърнал в бизнес модел, начин продукта да се развива по-бурно и по-пълноценно. Това е добре описано в есето на Ерик Реймънд „Катедралата и базарът“. Все пак има някои пречки пред това един продукт безпроблемно да възприеме принципите на отвореният код и да бъде възнаграден веднага. Такива пречки са например честата липса на утвърдени срокове и планове за развитие на продукта, липсата на подходящо обучение и дори самите лицензи (някои от тях се самоналагат или ограничават продукта, като GPL например). Разбира се разработени са различни бизнес модели на база на отворения код, които да се справят с тези пречки и да подобрят резултатите. Но те са от неотдавна в употреба и тяхното поведение не е достатъчно изучено и изяснено. Пример за такъв проект е [1].
[редактиране] Вижте още
[редактиране] Външни препратки
- Статии за ГНУ/Линукс (бълг.)
- Кратък наръчник за журналисти
- Софтуерът и софтуерната индустрия
- Как да стана хакер
- Катедралата и базарът
- Теоретични импликации на софтуерната революция

