Анимация
JavaScript
|
Главная Библионтека программному обеспечению. Такую программу можно получить бесплатно, причем любой, кто хочет внести в нее какие-то изменения, может просмотреть, исправить и переделать ее исходный текст. Другими примерами пакетов программного ния, следующих данной модели, являются операционные системы Linux и FreeBSD, Web-сервер Apache и броузер Mozilla. Использование модели открытого кода - на самом деле очень эффективный способ разработки программного обеспечения. Поскольку код пишется добровольцами, ненужные программы обычно в пакет не включаются, а функции, которые кажутся полезными, предлагаются для включения и включаются в пакет (если они действительно нужны). Качество такого профаммного обеспечения получается довольно высоким, так как каждый, кто интересуется пакетом, имеет право и обязанность внимательно следить за его разработкой и участвовать в поиске ошибок. Чем больше людей будут просматривать исходный код, тем меньше у ошибок шансов выжить. Эрик С. Реймонпс S. Raymond) написал ряд великолепных очерков о модели разработки программного обеспечения с открытым кодом. Он объяснил, как пришли к этой модели и почему она столь эффективна и экономически выгодна. В первом очерке, "The Cathedral and the Bazaar" ("Храм и Торговля"-Прим. перев.), предоставлена хорошая вводная информация о том, как работает модель разработки программ с открытым кодом. URL этих статей вы найдете в разделе "Резюме" в конце данной главы. Авторское право на интерпретатор Perl принадлежит Лэрри Уоллу; он его владелец и может делать с ним все, что захочет. По, как и для большинства нрофамм, для Per! может быть выдано разрешение (лицензия) на его использование. В лицензии на профаммное обеспечение описывается, как его можно использовать и распространять; это та самая информация, набранная мелким шрифтом, которая появляется первой, когда вы начинаете устанавливать купленный в магазине профаммный продукт. Лэрри Уолл предлагает вам на выбор два различных варианта лицензии: GNU General Public License и Perl Artistic License. Прочитав оба варианта, вы можете выбрать один из них и следовать этим условиям соглашения при последующем странении Perl. Тексты обеих лицензий довольно объемны, поэтому я вкратце приведу их основные положения. Вы можете распространять исходный текст интерпретатора Perl, продублировать соглашение об авторском праве. но должны • Вы можете модифицировать оригинал исходного кода, но должны четко пометить внесенные изменения как свои собственные и либо отказаться от изменений, либо ясно указать, что это не стандартная версия Perl. Вы обязаны также нредоставить стандартную версию Perl. • Вы можете брать разумную плату за распространение Perl. Вы можете также брать плату за осуществление технической поддержки, но сам Perl продавать нельзя. Можно включать Perl в другие продукты, которые вы продаете. • Профаммы, написанные на Perl, не подпадают под действие этой лицензии. • Гарантийных обязательств для Perl нет. При решении юридических вопросов не следует полагаться только на это резюме; я привел его здесь только с целью дать вам почувствовать, что представляют собой сами лицензии. Прежде чем пытаться включитег! в другой программный пакет, очень важно самостоятельно прочитать тексты лицензий и определить, соответствуют ли ваши действия условиям, изложенным в них. Лицензия Perl Artistic License включается в каждую поставку Perl в виде файла с именем Artistic. А лицензию GNU General Public License можно просмотреть на Web-сервере по адресу http: www.gna.org. Данные лицензии позволяют разрабатывать и совершенствовать Perl при открытом обсуждении. Таким образом, весь исходный текст Perl доступен для каждого, кто хочет ознакомиться с ним и предложить внести какие-либо изменения. Подобный подход поощряет качественное программирование и не дает увязнуть в трясине собственнических настроений, скрытно разрабатывая код так, чтобы это было непонятно всем остальным. Разработка Perl Разработка интерпретатора, языка и модулей, входящих в стандартную поставку Perl, проходит через список рассылки, где разработчики Perl предлагают изменения, изучают сообщения об ошибках и обсуждают, какие изменения следует внести в исходный текст Perl. Каждый может участвовать в этом процессе - именно в этом и состоит принцип модели открытого кода. Но, чтобы не допустить хаоса, предлагаемые изменения тщательно изучаются и "фильтруются" группой ведущих разработчиков, которые одобряют или отвергают эти изменения и поддерживают основную линию разработки Perl. Изменения оцениваются исходя из того, что хорошо для Perl, а что - нет, насколько полезны эти изменения, и может ли любой человек нормально их воспринять. Лэрри Уолл, осуществляющий надзор над этим процессом, играет роль доброжелательного диктатора, разрешая вносить полезные изменения и налагая запрет на изменения, которые он считает пагубными. Выпускаемые версии Perl нумеруются двумя различными способами. До августа 1999 года они нумеровались в формате major.minor patchlevel. Так, 4.036 18 - это четвертая версия Perl, выпуск 36 с "заплатами" уровня 18. Иногда в номерах версий уровень "заплат" не указывается. Текущей версией Perl на момент подготовки к изда- ПИЮ данной книги летом 2000 года бьша 5.6. Схема нумерации новых версий более традиционна и имеет формат Предположительно, следующая за этой версия Perl будет называться 5.7 и т.д. Сеть полного архива Perl (CPAN) С целью еще большего расширения среды разработки в Perl предусмотрены дополнительные модули, которые содержатся в CPAN (Comprehensive Perl Archive Network). Что это такое? Сеть полного архива Perl ehensive Perl Archive Network - CPAN) - это большая коллекция программного обеспечения и документации к Perl. Это программное обеспечение - плод совместных усилий добровольцев, которые захотели внести свой вклад в работу сообщества Perl и написали различные модули, программы и документацию. Список модулей, имеющихся в CPAN, очень обширный. На момент написания этой книги сеть CPAN существовала, приблизительно четыре года и в ней имелось свыше 3500 готовгх к инсталляции модулей. Эти модули охватывают широкий диапазон программистских задач. В табл. 16.2 приведен краткий список данных модулей, который даст вам представление о том, что имеется в CPAN. Нужно иметь в виду самое важное - для большинства задач уже есть модули, позволяющие решить их хотя бы частично. Эти решения, имеющиеся в CPAN, были запрограммированы и протестированы; многие программисты проверяли эти коды и оценивали степень их полноты и корректности. Таблица 16.2. Модули, имеющиеся в CPAN Модуль Описание Net::* Math::* Date::*, lime::* Data::*, Tree::* DBI::* DBD::* Term::* String::*, Text::* CGI::*, URL::*, HTML::*, LWP::* GD, Graphics::*, Image::* Win32; :*,Win32API::* Графический интерфейс для Perl-программ. Имеются специальные модули инструментальных средств доступа к специализированным графическим библиотекам, таким как Win32 API, Gtk, Gnome, Qt, или набору инструментальных средств X11 Сетевые модули. Интерфейсы к службам Mail, Telnet, IRC, LDAP и еще более 40 других Свыше 30 модулей для таких конструкций, как комплексные числа, быстрые преобразования Фурье, операции с матрицами и т.д. Модули для преобразования дат/времени в различные форматы и выполнения операций над ними Модули для выполнения операций над структурами данных, такими как связанные списки и двоичные деревья Общий интерфейс к базам данных Интерфейс к коммерческим и бесплатным базам данных, таким как Oracle, Informix, Ingres, ODBC, Msql, MySQL Sybase и многим другим Тонкая настройка текстовых терминальных окон, таких как окно сеанса MS-DOS в Windows или X-терминала в UNIX Десятки модулей для синтаксического анализа и форматирования текста Модули для создания, обслуживания, извлечения и анализа Web-страниц Модули для работы с графикой и изображениями в различных форматах Модули для работы с системой Microsoft Windows На все модули, имеющиеся в CPAN, распространяются авторские права их авторов. Поэтому следует прочитать файл BEACME, который есть в каждом модуле, чтобы узнать, на каких условиях можно иснользовать данный модуль. Чаще всего эти модули раснространяются на таких же условиях, как.и сам Perl, но лицензии Artistic License или GNU General Public License. CPAN - это также имя стандартного модуля, который иснользуется как всномога-тельный нри инсталляции доцолнительных модулей в имеющуюся версию Peri. Этот модуль CPAN описан в приложении к этой книге "Инсталляция модулей в Perl". 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 [ 78 ] 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |