Історія розвитку ВПЗ

Автор работы: Пользователь скрыл имя, 20 Ноября 2013 в 21:20, реферат

Описание работы

Як і безкоштовне ( freeware ) і безкоштовно розповсюджується програмне забезпечення , ВПЗ можна отримувати і використовувати безкоштовно (але конкретний розповсюджувач може стягувати плату за отримання у нього копій , за канали доставки , носії - компакт -диски або додаткові сервісні послуги). Однак freeware зазвичай поширюється в Исполнимости вигляді без вихідних кодів і є пропрієтарним ПО , а щоб ПЗ було вільним , одержувачам повинні бути доступні його вихідні коди , з яких можна створювати виконані файли , з відповідними ліцензіями . Також слід розрізняти вільне і відкрите ПЗ ( open source ) - хоча доступність вихідного коду для ВПЗ є обов'язковим, а багато відкриті програми є одночасно вільними , але відкритим іноді називають [ хто?] І деякий невільне пропрієтарне ПЗ.

Содержание работы

Зміст
1 Вільні ліцензії
2 Розробка ПЗ як наукове дослідження
3 Введення обмежень для ПО
4 Визначення вільного ПЗ
4.1 Open source software
5 Основна громадська ліцензія GNU
6 Спільнота розробників і користувачів
6.1 Взаємодопомога
6.2 Виправлення помилок
7 Філософія
8 Міграція на вільне ПЗ
9 Поширеність вільного і відкритого ПЗ
12 Посилання

Файлы: 1 файл

Документ Microsoft Office Word.docx

— 78.04 Кб (Скачать файл)

Якщо  користувачеві програми не вистачає в ній якоїсь функції , то при належній кваліфікації він цілком може запрограмувати її сам і включити у вихідний текст  програми , або заплатити за це комусь ще. Природно , йому вигідно , щоб його доповнення потрапило в « головний» , авторський варіант програми (його називають upstream ) і з'являлося в усіх наступних версіях: можна точно  так само оформити його у вигляді  патча і вислати автору . Цієї можливості позбавлений користувач невільною програми , навіть якщо він  досить кваліфікований. Єдиний спосіб включити в програму потрібну йому функцію - звернутися до виробника (якщо програма пропріетарна ) з відповідним  проханням і сподіватися , що виробник вважатиме запропоновану функцію  дійсно необхідною.

Чим більше у вільній програми активних користувачів , готових вносити виправлення  та доповнення і ділитися ними , тим  надійніше працює і швидше розвивається програма. Причому така вільна модель відстеження та виправлення помилок  для програми , у якої тисячі активних користувачів , може виявитися набагато ефективнішою , ніж у будь проприетарной  програми : жодна компанія не може собі дозволити такий величезний штат співробітників у відділі контролю якості. Тому дійсно популярна вільна програма може виявитися набагато надійніше  пропрієтарних аналогів .

Написати велику програму поодинці досить складно і навіть не завжди можливо , особливо якщо автор займається цим у вільний від роботи час. Більшість сучасних вільних програм  пишеться групою розробників . Навіть якщо починав писати програму одна людина і вона виявилася цікавою , до розробки можуть приєднатися активні  користувачі . Щоб вони могли не тільки вносити окремі виправлення , але  і взагалі весь розробку вести  спільно , потрібні спеціальні інструменти. Крім патчів , для організації спільної розробки ПЗ застосовуються системи  управління версіями. Функції системи  контролю версій полягають у тому , щоб організувати доступ до вихідних текстів програми для декількох  розробників і зберігати історію  всіх змін у вихідних текстах , дозволяючи об'єднувати і скасовувати зміни . Сама рання вільна система керування версіями - RCS - використовувалася ще на зорі вільного ПЗ абонентами мережі Usenet , потім на зміну їй прийшла більш розвинена CVS , але сьогодні і вона вважається в чому застарілої і все частіше замінюється Subversion , Git та іншими. 
Філософія

 
У європейській та заснованій на ній  американській культурах відносно матеріальних речей так довго  вироблялись правила власності, що перенесення цих правил на речі нематеріальні — зокрема програмні  продукти — виглядало абсолютно  природним і не викликало сумнівів. А причин для сумнівів, тим не менш, немало. Головною відмінністю  програми від матеріальної речі є  так зване беззбиткове копіювання. Іншими словами, для матеріальної речі законодавчо закріплено право користування лише однією людиною. Ніяких додаткових механічних чи юридичних пристосувань при цьому не потрібно.

Комп'ютерна програма у цьому плані  кардинально відрізняється. Скільки  б не було вкладено ресурсів у її розробку, процедура її копіювання різко відрізняється від процедури копіювання, наприклад, табуретки. Вона не вимагає участі жодного автора програми і навіть будь-якої людини взагалі. Єдина стаття витрат при цьому — ціна носія даних та амортизаційні витрати копіювального пристрою. В результаті ми отримаємо два екземпляри програми, котрою зможуть користуватись уже двоє людей. Якщо ж до програми ставитися як до матеріального продукту і закріплювати права користування нею за певною особою, виникає ряд протиріч, котрі доводиться вирішувати штучними, протиприродними засобами.

Наприклад, потрібно вирішити, які  все-таки збитки завдані «хазяїну»  програми при її беззбитковому копіювання. Як правило, при цьому фігурує  поняття «втрачений прибуток», тобто  прибуток, який власник міг би отримати, але не отримав через, що його програму скопіювали. Доводиться придумувати  методи, що блокують копіювання програм, чи пошкоджують копію; доводиться обмежувати зловживання — а заразом і свободу — всього людства на користь власника патенту — особливої категорії прав, введеної в законодавство. При тому далеко не завжди власник патенту та автор винаходу — одна й та ж особа.Існує і точка зору противників вищесказаного . Так , наприклад , послідовна легалізація theft of services означає безкоштовність всіх послуг , що означає швидше за все зміст всієї цієї сфери держбюджетом , а в такому випадку , по-перше , за послуги платять всі платники податків зі своїх податків , причому без ринкового механізму впливу споживача на виробника ( « їж що дають» ) , по-друге , це відволікає державні кошти від завдань національної важливості , по-третє , відсутність ринкової конкуренції призведе до нівелювання якості всіх послуг до якомусь дешевому і не дуже якісному мінімуму (можливо навіть покладання частині надання послуги на споживача у вигляді « дороби сам »). Все те ж саме відноситься і до ідеї тотальної безкоштовності всього ПЗ.Невільні програми називають « пропрієтарними » (від англ. Proprietary ) або « власницькими ». Іноді їх неправильно називають просто « комерційними » , що невірно: отримувати вигоду від програми можна різними способами і багато успішні вільні проекти це підтверджують

Потрібно зауважити , що переваги вільної  розробки для користувача не слід перебільшувати. Не всі вільні програми в рівній мірі доступні для зміни  користувачам , і це абсолютно не пов'язано з ліцензією на їх поширення. Важливий фактор тут - обсяг програми : якщо в ній десятки тисяч рядків (як , наприклад , у OpenOffice.org ) , то навіть кваліфікованому користувачеві  буде потрібно дуже багато часу , щоб  розібратися , що до чого. Розраховувати  ж на те , що розробники дадуть відповідь  на всі зауваження та пропозиції користувача  негайним виправленням програми , теж  не можна , оскільки вони не несуть перед  користувачем ніяких зобов'язань по якості програми . У цьому відношенні користувача до комерційної програми може опинитися в кращому становищі (хоча зобов'язання її розробника зазвичай також обумовлені лише законами , а не його волею ) .

Дуже  багато властивостей спільноті розробників  та користувачів вільних програм  витікають з того , що всі його учасники зазвичай займаються цією програмою  з інтересу або тому , що ця програма - необхідний для них інструмент (наприклад , заробляння грошей або  з іншої причини ) . Час , витрачений ними на програму , не оплачується , тому немає ніякої надії , що обставини  не зміняться і розробка не припиниться  зовсім. Нерідкі випадки , коли розробка програми починається завдяки одному автору - ентузіасту , який приваблює  багатьох до участі в розробці , а  потім ентузіазм лідера гасне , а  разом з ним загасає і розробка . На жаль , сьогодні існують тисячі програм , так ніколи і не досягли  версії 1.0 , хоча « вигорання» лідерів  і не єдина цьому причина . Крім того , програма може бути необхідною , але « нецікавою » , а тому не знайдеться і вільних розробників .

Місце вільних програм на сьогоднішньому ринку ПЗ дуже значно , і багато комерційних  і державні підприємства використовують вільне ПЗ прямо чи опосередковано. Власне , опосередковано всі користувачі  Інтернету задіють , наприклад , вільну програму BIND , яка надає службу DNS. Багато організацій , особливо надають  послуги через Інтернет , використовують вільний web -сервер Apache , від роботи якого  безпосередньо залежить їхній прибуток , не кажучи вже про сервери на платформі Linux. Головний недолік з  точки зору комерційного користувача: розробники вільних програм не несуть жодних зобов'язань щодо якості програми , крім моральних . Тому , сьогодні великі корпорації , наприклад , Intel або IBM , знаходять  необхідне підтримувати проекти  з розробки вільного ПЗ , оплачуючи  співробітників , які працюють в  рамках цих проектів. 
Кількість вільного програмного забезпечення


Кількість вільних проектів вимірюється сотнями  тисяч. Так, компанія Black Duck Software відкрила під ліцензією Creative Commons Attribution 3.0 Unported всіх даних соціальної мережі для розробників і користувачів відкритого програмного забезпечення Ohloh.net.[3][4] Дані містять структуровану інформацію про понад 550 тисяч відкритих проектів, отриману в результаті агрегування інформації з приблизно 5000 репозиторіїв, включаючи репозиторії спільнот Eclipse, Mozilla, Apache і kernel.org, а також хостинги відкритих проектів GitHub, SourceForge і Google Code. Для спрощення доступу до даних підготовлений спеціальний RESTful API, за допомогою якого можна формувати вибірки статистики, наприклад, отримати інформацію про кількість учасників розробки заданого проекту, прийнятих комітів, розмір кодової бази, використаних мовах програмування і ліцензії. Пошуковий сервіс code.ohloh.net дозволяє виконувати пошук по кодової базі з більш ніж 10 мільярдів рядків коду. 
Приклади

Найвідоміше вільне програмне забезпечення:

  • Операційні системи: GNU/Лінукс, BSD, Darwin, OpenSolaris, та клон Windows — ReactOS.
  • Компілятори GCC, зневаджувач GDB та бібліотеки мови «С»;
  • Сервери: сервер служби доменних назв «BIND», поштовий сервер Sendmail, сервер тенет Apache, файловий сервер Samba
  • Реляційні СКБД: MySQL, PostgreSQL, Firebird; noSQL системи Apache Cassandra, CouchDB, MongoDB
  • Мови програмування: Perl, PHP, Python, Ruby, Tcl.
  • Інтегровані середовища розробки Eclipse, NetBeans
  • Графічні інтерфейси користувача: система «X Window», стільничні середовища GNOME, KDE, Xfce.
  • Офісні пакети OpenOffice.org, LibreOffice
  • Оглядач тенет Mozilla Firefox
  • Графічні редактори GIMP, Inkscape
  • Тривимірний редактор Blender
  • Системи підготовки документів TeX і LaTeX
  • Інструменти для тестування та зневадження сценаріїв Юнікс: Expect
  • Інструменти для слідкування за мережевими службами: Nagios, WireShark
  • САПР для 2-мірного креслення та проектування LibreCAD
  • 3D САПР загального призначення FreeCAD
  • CAD-система з можливістю симуляції тримірного руху: freeCAD
  • Система керування вмістом: MediaWiki, Drupal, WordPress
  • Системи управлінського та бухгалтерського обліку: Ананас (програма), Openbravo
  • Касові системи для магазинів та ресторанів: Openbravo POS, OpenPOS
  • Програмне забезпечення для створення соціальних мереж в інтернеті : Oxwall

 


Информация о работе Історія розвитку ВПЗ