Термины и понятия открытого кода

Открытое программное обеспечение (open-source software) — это программное обеспечение с открытым исходным кодом, который доступен для просмотра, изучения и изменения. Изображение с сайта pexels.com (СС0).
Открытое программное обеспечение (open-source software) — это программное обеспечение с открытым исходным кодом, который доступен для просмотра, изучения и изменения. Изображение с сайта pexels.com (СС0).

Чем отли­ча­ет­ся откры­тое и сво­бод­ное про­грамм­ное обес­пе­че­ние? Что такое откры­тая лицен­зия и исход­ный код? В этой ста­тье мы раз­бе­рем основ­ные тер­ми­ны и опре­де­ле­ния, кото­рые нуж­но знать для изу­че­ния темы откры­то­го кода.

FOSS (Free and Open Source Software) – эту аббре­ви­а­ту­ру исполь­зу­ют, когда гово­рят про сво­бод­ное и откры­тое про­грамм­ное обес­пе­че­ние с откры­тым исход­ным кодом.

Откры­тое про­грамм­ное обес­пе­че­ние (open-source software) – это про­грамм­ное обес­пе­че­ние с откры­тым исход­ным кодом, кото­рый досту­пен для про­смот­ра, изу­че­ния и изме­не­ния. Поль­зо­ва­тель может сам дора­бо­тать откры­тую про­грам­му с помо­щью кода. Откры­тое ПО поль­зо­ва­тель может исполь­зо­вать и изме­нять под свои тре­бо­ва­ния.

Откры­тое ПО может суще­ствен­но отли­ча­ет­ся от сво­бод­но­го ПО. К при­ме­ру, лицен­зия про­дук­та может раз­ре­шать иссле­до­вать его исход­ный код, но при этом запре­щать вно­сить в него изме­не­ния, рас­про­стра­нять копии. В этом слу­чае про­дукт будет откры­тым, но не сво­бод­ным.

Извест­ные откры­тые про­грам­мы: веб-сер­вер Apache, опе­ра­ци­он­ная систе­ма Linux и бра­у­зер Netscape Navigator.

Исход­ный код – текст ком­пью­тер­ной про­грам­мы на каком-либо язы­ке про­грам­ми­ро­ва­ния или язы­ке раз­мет­ки, кото­рый может быть про­чтен чело­ве­ком. Наи­бо­лее попу­ляр­ные язы­ки про­грам­ми­ро­ва­ния: C, C ++, Fortran, Java, Perl, PHP , Python. Откры­тый исход­ный код рас­про­стра­ня­ет­ся под откры­той лицен­зи­ей.

Откры­тая лицен­зия – лицен­зи­он­ный дого­вор, по кото­ро­му мож­но исполь­зо­вать исход­ный код про­грам­мы для нужд поль­зо­ва­те­лей с мини­маль­ны­ми огра­ни­че­ни­я­ми. К таким огра­ни­че­ни­ям отно­сит­ся тре­бо­ва­ние ссы­лать­ся на преды­ду­щих созда­те­лей или сохра­нять свой­ство откры­то­сти, если про­грам­ма будет рас­про­стра­не­на в даль­ней­шем.

Таким обра­зом, что­бы счи­тать лицен­зию откры­той, дол­жен быть доступ к исход­ни­кам и воз­мож­ность вно­сить в них изме­не­ния. Откры­тая лицен­зия под­ра­зу­ме­ва­ет, что ПО мож­но сво­бод­но исполь­зо­вать, изме­нять и делить­ся им. На сай­те Open Source Initiative есть спи­сок одоб­рен­ных лицен­зий для сво­бод­но­го ПО.

Еще по теме: Что такое откры­тый код

Donationware (от англий­ско­го donation «пожерт­во­ва­ние» и software «про­грамм­ное обес­пе­че­ние», сокра­щен­но donateware) – один из вари­ан­тов моне­ти­за­ции про­ек­тов с откры­тым кодом. Дело в том, что откры­тое ПО не все­гда рас­про­стра­ня­ет­ся бес­плат­но. Раз­ра­бот­чи­ки внед­ря­ют раз­лич­ные схе­мы под­держ­ки про­ек­та.

Напри­мер, попу­ляр­ная модель donateware пред­по­ла­га­ет, что поль­зо­ва­те­ли могут сде­лать пожерт­во­ва­ние и тем самым под­дер­жать раз­ра­бот­чи­ков. При этом поль­зо­ва­те­лю предо­став­ля­ет­ся пол­но­стью функ­ци­о­ни­ру­ю­щее про­грамм­ное обес­пе­че­ние.

Впер­вые такой спо­соб был опро­бо­ван в 1987 году для игры Ballerburg. Про­грам­мист рас­про­стра­нял игру бес­плат­но, но про­сил о пожерт­во­ва­нии, пред­ла­гая вза­мен исход­ный код игры.

LAMP – груп­па откры­тых про­грамм с откры­тым исход­ным кодом для созда­ния и запус­ка веб-сер­ве­ров. Аббре­ви­а­ту­ра обра­зо­ва­на от пер­вых букв вхо­дя­щих в груп­пу ком­по­нен­тов: опе­ра­ци­он­ная систе­ма Linux, веб-сер­вис Apache, сво­бод­ная систе­ма управ­ле­ния базой дан­ных MySQL, язык про­грам­ми­ро­ва­ния PHP. В широ­ком смыс­ле под тер­ми­ном пони­ма­ют неза­ви­си­мый и гиб­кий под­ход к созда­нию сер­вер­но­го при­ло­же­ния.

Github – круп­ней­шая плат­фор­ма для раз­ра­бот­ки про­грамм­но­го обес­пе­че­ния и его хостин­га на облач­ном сер­ве­ре. Сооб­ще­ство объ­еди­ни­ло более 24 мил­ли­о­нов чело­век. На сай­те раз­ра­бот­чи­ки пуб­ли­ку­ют свои про­ек­ты с откры­тым исход­ным кодом, про­смат­ри­ва­ют код друг дру­га, остав­ля­ют ком­мен­та­рии и помо­га­ют в раз­ра­бот­ке. Исход­ный код про­ек­та хра­нит­ся в репо­зи­то­рии, так назы­ва­ют хра­ни­ли­ще исход­но­го кода ваше­го про­грамм­но­го про­ек­та.

Напри­мер, такие ком­па­нии как Microsoft, Google, Facebook исполь­зу­ют дан­ный ресурс для раз­ме­ще­ния исход­ных кодов сво­их раз­ра­бо­ток. Теп­ли­ца соци­аль­ных тех­но­ло­гий так­же все­гда пуб­ли­ку­ет исход­ный код про­ек­тов на Github.

Ключевые организации

Про­ект GNU – опе­ра­ци­он­ная систе­ма типа Unix, состо­ит из мно­же­ства сво­бод­ных про­грамм: при­ло­же­ний, биб­лио­тек, средств раз­ра­бот­ки, игр. Назва­ние про­ек­та про­изо­шло от фра­зы GNU’s Not Unix.

Про­ект осно­вал про­грам­мист Ричард Столл­ман в 1984 году, имен­но с его запус­ка нача­лось дви­же­ние в под­держ­ку сво­бод­но­го про­грамм­но­го обес­пе­че­ния. У про­ек­та есть соб­ствен­ная лицен­зия GNU General Public License (GNU GPL) для ПО.

Фонд сво­бод­но­го про­грамм­но­го обес­пе­че­ния (Free Software Foundation, FSF) – неком­мер­че­ская орга­ни­за­ция, кото­рую осно­вал Ричард Столл­ман в 1985 году. Сей­час сотруд­ни­ки и доб­ро­воль­цы фон­да рабо­та­ют над юри­ди­че­ски­ми и орга­ни­за­ци­он­ны­ми вопро­са­ми в обла­сти сво­бод­но­го ПО.

При под­держ­ке ЮНЕСКО фонд раз­ра­бо­тал ката­лог сво­бод­но­го ПО Free Software Directory. Так­же фонд учре­дил две пре­мии: за про­дви­же­ние сво­бод­но­го про­грамм­но­го обес­пе­че­ния и сво­бод­но­го ПО за соци­аль­но зна­чи­мые про­ек­ты.

Open Source Initiative – неком­мер­че­ская орга­ни­за­ция, кото­рая зани­ма­ет­ся защи­той и про­дви­же­ни­ем про­грамм­но­го обес­пе­че­ния с откры­тым исход­ным кодом. Ее созда­ли хаке­ры, про­грам­ми­сты-хаке­ры Эрик Рей­монд и Брюс Перенс в 1998 году. Дея­тель­ность орга­ни­за­ции под­дер­жи­ва­ют и спон­си­ру­ют круп­ные ком­па­нии: Facebook, GitHub, Google, Heptio, Hewlett Packard Enterprise, IBM и Percona.