'$cleft' AND cleft<'$cright'"; $result = mysql_query($query); $row = mysql_fetch_array($result); $cleft = $row["cleft"]; echo $name; } function encode($in_str, $charset) { $out_str = $in_str; if ($out_str && $charset) { // define start delimimter, end delimiter and spacer $end = "?="; $start = "=?" . $charset . "?B?"; $spacer = $end . "\r\n " . $start; // determine length of encoded text within chunks // and ensure length is even $length = 90- strlen($start) - strlen($end); $length = floor($length/2) * 2; // encode the string and split it into chunks // with spacers after each chunk $out_str = base64_encode($out_str); $out_str = chunk_split($out_str, $length, $spacer); // remove trailing spacer and // add start and end delimiters $spacer = preg_quote($spacer); $out_str = preg_replace("/" . $spacer . "$/", "", $out_str); $out_str = $start . $out_str . $end; } return $out_str; } function strings_isemail($string) { return preg_match('%[-\\.\\w]+@[-\\w]+(?:\\.[-\\w]+)+%', $string); } function strings_clear($string) { $string = trim($string); $string = stripslashes($string); return htmlspecialchars($string, ENT_QUOTES); } function strings_stripstring($text, $wrap, $length) { $text = preg_replace('%(\\S{'.$wrap.'})%', '\\\\1 ', $text); return substr($text, 0, $length); } function sovp($num) { switch($num%10) { case "1": echo""; break; case "2": echo""; break; case "3": echo""; break; case "4": echo""; break; default: echo""; break; } } ?> Свободное ПО в высшей школе: возможности, потребности, перспективы (Выпуск 1 2010г.) ::
     
():  
:  
-
: , 20 2024
" . "

Свободное ПО в высшей школе: возможности, потребности, перспективы (Выпуск 1 2010г.)

Предуведомление первое. Заголовок этой статьи затрагивает весьма обширную тему, далеко  выходящую  за  журнальные  рамки.  Даже простое перечисление актуальных мероприятий по теме — от солидных конференций до скромных дополнений в учебной программе — заняло  бы  непростительно  много  места.  К  тому  же не все эти мероприятия в достаточной степени публичны, и не все из них равно значимы. По нашему пристрастному мнению один грамотный и аккуратный учебный план стоит многих пышных симпозиумов  и  заслуживает  куда  большей  огласки.
Поэтому  мы  ограничимся  анализом  мероприятий, в подготовке и проведении которых принимали  непосредственное  участие.  Наблюдая процесс  и  изнутри,  и  снаружи,  легче  заметить как тенденцию развития, так и подводные камни. Часть утверждений основана на фактах, которые с  появлением  электронных  поисковых  и  новостных систем, вроде Яндекс или Google, принято считать более или менее известными; если же обнаружится потребность в их детализации, мы готовы и к пояснениям, и к дискуссии.
Предуведомление второе. Даже когда речь идёт о свободном программном обеспечении вообще, в качестве «ключевого» зачастую используют слово «Linux». Мы также будем ссылаться на  этот  термин,  отчасти  по  специфике  нашей работы, отчасти потому, что Linux-сообщество, с одной стороны, и семейство операционных систем GNU / Linux, с другой, представляют слишком удобный материал для иллюстрации свойств и тенденций СПО в мире. Не стоит забывать, что термин  «Linux»  никоим  образом  не  представительствует за все свободные программы, как и операционная система семейства GNU / Linux не является ни единственной платформой для свободного ПО, ни даже единственной в своём роде свободной операционной системой.

О свободном программном обеспечении

Короткое  и  ясное  определение  свободного программного  обеспечения  сформулировано лидером движения СПО Ричардом Столлманом. Свободную  программу  можно  без  каких‑либо ограничений:
• запускать (использовать)
• изучать и модифицировать («улучшать»)
• распространять
• распространять в модифицированном виде («с улучшениями»)

Свободное ПО и исходные тексты

Принято считать, что «изучение» и «модификация» требуют, чтобы пользователю был доступен  исходный  текст  программы  на  языке  программирования, а также инструкция по сборке.
В  самом  деле,  на  сегодня  скрыть  исходный текст  означает  напрямую  ограничить  право  на изучение и модификацию. К тому же результату приводит  предоставление  доступа  к  исходным текстам на каких-либо условиях («только для некоммерческого использования», «только в рамках такой-то системы» и т. п.). Любое нарушение одной  из  четырёх  «свобод  Столлмана»  делает программу несвободной, что гарантирует трудности в дальнейшей работе с нею.
Последний пункт, фактически, открывает дорогу бизнесу с использованием СПО: если вы знаете, как улучшить свободную программу, чтобы с её помощью заработать, вам и карты в руки; можно не бояться, что завтра придёт лев и потребует свою долю.

Право собственности на программный продукт

Заметим,  что  бизнес  с  использованием  несвободных  программ  основан  на  совсем другом  принципе:  чаще  всего  правообладатель запрещает пользователю и изучать (в смысле внутреннего устройства), и модифицировать, и распространять  свою  программу,  либо  требует за это изрядные деньги. Право использовать программу нередко тоже ограничивается — одним  компьютером,  одним  годом  и  т. п.  Запретить человеку что-то делать — технически очень сложно, поэтому каждая несвободная программа  снабжена  т. н.  «лицензионным  соглашением»  (license),  где  описаны  условия,  на  которых её  разрешается  использовать,  а  также  ответственность  за  нарушение  этих  условий.  Такое лицензионное  соглашение  имеет  большую  или меньшую силу в разных странах, однако совсем недействительным  не  бывает.  В  частности,  нарушение пунктов соглашения, касающихся прав собственности, в России может расцениваться как уголовное преступление.
Таким образом, положение пользователя свободной программы резко отличается от положения пользователя программы несвободной. Типичный  пользователь  несвободной  програмы — что-то вроде арендатора: он купил у правообладателя часть прав пользования и только.
Пользователь свободной программы — полноправный собственник того экземпляра, который ему достался; неважно, загрузил ли он программу по сети, или же купил диск в коробочке с книжкой. Чтобы соблюсти букву закона, свободные  программы  тоже  сопровождаются  лицензионным соглашением, в котором пользователь уведомляется  о  безвозмездной  передаче  ему всех четырёх прав. В числе прочего это означает, что программу можно устанавливать куда угодно и раздавать кому угодно, хоть за деньги, хоть «за спасибо» — и оставаться в рамках закона!

Copyleft, GPL и Linux

Очень  часто  к  четырём  пунктам  —  правам добавляется  пятый  —  обязанность.  Суть  этого пункта в том, что, распространяя свободную программу или её модифицированный вариант, пользователь обязуется не нарушать всех пяти пунктов соглашения. Иными словами, если полученная программа была свободной, то и модифицированная версия должна быть свободной.  Самих  «четырёх  свобо» это  ограничение не  затрагивает,  оно  только  запрещает  менять (в  худшую  сторону)  условия  распространения программного продукта и его производных. Копирайт  (право  определять  условия  распространения) при этом остаётся у автора, поэтому такое  ограничение  носит  название  «копилефт» (copyleft).
Структуру  «4  свободы  +  копилефт»  имеет весьма  популярный  нынче  вид  лицензионного соглашения  —  GPL  (Общественная  Лицензия GNU).  Под  этой  лицензией  распространяется собственно Linux — ядро операционной системы семейства GNU / Linux, подавляющее большинство  программного  окружения  такой  системы, значимая  часть  пользовательских  приложений типичного дистрибутива на базе Linux. Из оставшихся  программных  продуктов,  составляющих дистрибутив Linux, опять-таки большая часть — свободные программы (распространяемые под другими свободными лицензиями). Обычно несвободные  компоненты  конкретного  дистрибутива Linux — это драйверы некоторых устройств и, реже, демонстрационные / бесплатные версии каких-нибудь несвободных программ (вот с ними надо  быть  осторожнее  и  внимательно  изучать условия распространение и использования).

Пользовательские качества свободных программ

Если отвлечься от условий распространения, «потребительские свойства» программного продукта  на  сегодня  не  выводятся  однозначно  из того, свободный он или нет. И среди свободных, и среди несвободных программ можно встретить неряшливые  или  недоработанные  экземпляры; и  там,  и  там  достаточно  уникальных  высококачественных продуктов. Любая пользовательская задача может быть решена при помощи исключительно  свободных  программных  инструментов. В некоторых областях налицо перевес свободного  ПО,  в  некоторых  —  наоборот,  это  уже вопрос тонкого анализа.
Резко  различаются  концепции  «надёжности —  защищённости»  свободных  и  несвободных продуктов.  Если  в  программе  есть  незаметная ошибка,  она  проявится  в  процессе  эксплуатации; здесь все программы равны. Но вычитать и  исправить  соответствующий  ошибке  кусок исходного  текста  свободной  программы  может любой грамотный специалист, а в случае программы несвободной — такой возможности нет, следует дожидаться благой воли правообладателя.  Даже  просто  уведомить  об  ошибке гораздо проще в свободном проекте: открытая разработка предусматривает средство общения непосредственно с разработчиком, в особенности для отслеживания ошибок в ПО. В результате исправление  ошибки  в  свободной  программе идёт неизмеримо быстрее, чем в несвободной: часто на это уходит меньше рабочего дня.
Сходная ситуация и с проблемами безопасности.  Вероятность  того,  что  потенциальную уязвимость  в  свободной  программе  найдёт и  исправит  заинтересованный  эксперт  из  сообщества существенно выше, чем того, что эту уязвимость найдёт злоумышленник и вдобавок придумает, как ею воспользоваться. Образно говоря, закрыть форточку на третьем этаже проще, чем посредством неё ограбить квартиру. Зачастую исправление уязвимости в свободной программе  опережает  публикацию  самого  факта этой уязвимости. Что же касается несвободной программы,  то  дело  почти  всегда  начинается со «взлома», то есть с успешных действий злоумышленника.
Итак,  помимо  свободы  распространения имеется ещё одно свойство СПО, которое наводит мост между «СПО вообще» и «СПО в высшей школе». Это свойство — открытость и связанная с ней свобода выбора.

СПО и высшая школа
Открытый способ разработки

Можно заметить, что пресловутые «4 свободы» поданы с точки зрения именно разработчика ПО, а не пользователя. В самом деле, зачем «простому пользователю» исходные тексты программы,  если  он  не  программист?  Свободная лицензия защищает не только интересы пользователя или разработчика. Она позволяет сохранить  открытый  способ  разработки,  создавая тем  самым  возможность  организовать  бизнес не только на материальной, но и на любой другой заинтересованности. Исходные тексты свободной программы и инструкции по её сборке не просто  «доступны»,  они  размещены  в  удобной для  совместной  разработки  форме,  с  использованием версионирования, учётом изменений, аннотированием  и  десятками  других  возможностей, повышающих эффективность групповой работы. Свободный разработчик заинтересован в том, чтобы к его проекту присоединилось как можно больше квалифицированных коллег. Информация о том, как принять участие в проекте и что для этого требуется делать, средства накопления  и  обмена  информацией  (почтовые  рассылки,  тематические  сайты)  —  неотъемлемый атрибут любого сообщества вокруг свободного ПО.
Если  человек  вносит  качественный  вклад  в общее дело, не очень важно, зачем это ему нужно: он может зарабатывать результатами своего труда или просто развлекаться, жаждать славы или тренироваться, защищать диссертацию, наконец, а общее дело — развитие программного продукта — будет неуклонно двигаться вперёд.

СПО и академическое сообщество

Здесь нельзя не усмотреть параллели с академическим  сообществом.  Накопление  и  обмен знаниями как основной инструмент (знание — сила!). Коллегиальность. Иерархия, обусловленная не должностями, а уровнем и качеством сделанного.  Преемственность  (с  обязательной ссылкой  на  источник),  как  возможность  дальнейшего исследования. Параллель не случайна. Действительно, движение СПО формировалось академической средой, оно заимствовало оттуда социальный уклад и приёмы работы. Рискнём добавить: заимствовало и усовершенствовало с учётом современных потребностей в разработке программ.
Что — с точки зрения использования ПО — отличает университетскую среду от, скажем, корпоративной? На наш взгляд — разнообразие и непредсказуемость.
Например, никогда нельзя точно определить, на сколько именно рабочих мест будет установлен  программный  продукт.  Шестнадцать  компьютеров в классе? В конце года его переоборудуют — и станет двадцать. Сорок слушателей по данной специальности? В следующем семестре будет  шестьдесят.  Персональные  компьютеры преподавателей,  ассистентов,  студентов  —  в общежитии  и  дома….  А  ведь  нелицензионное копирование — в должных масштабах — это уголовное преступление. Некоторые несвободные программные продукты иногда сопровождаются т. н. «кампусной» лицензией (от слова «campus» — университетский городок), в которой эта неопределённость  учтена.  Некоторым  ВУЗам  такая лицензия по карману, и некоторые из них на неё решаются.
Со свободным ПО таких затруднений, естественно, не возникает.
Не намного лучше поддаётся исчислению набор программных инструментов, используемых при обучении, а тем более — в научных исследованиях.  Спецкурсы,  инженерные  проекты, диссертации  могут  потребовать  привлечения всевозможного  ПО.  Вполне  вероятно,  что  конкретный  программный  продукт  потребуется  в конкретном  проекте  единожды.  Увы,  не  менее вероятно, что на покупку лицензии может просто не  оказаться  средств.  Приходится  довольствоваться тем, что есть — как будто речь идёт о точных приборах или дефицитных материалах.
Между тем речь идёт о программных продуктах, которых в мире свободного ПО имеется великое множество, в особенности — используемых в научной и учебной работе. Выбор иногда слишком велик, картину портят «одноразовые» побочные  продукты  диссертаций,  по  велению моды  выложенные  под  GPL,  но,  во-первых, и  среди  них  появляются  настоящие  перлы,  а во-вторых — это свободный выбор. Чтобы познакомиться с инструментом, не надо его покупать или использовать демо-версию, в которой самые интересные места заменены кнопкой «купить».  Просмотреть  два  десятка,  попробовать полдюжины,  остановиться  на  одном.  Как  было до эпохи уголовной ответственности за копирование программ.
Вообще, свобода выбора — общее свойство, как в рамках всего СПО, так и внутри конкретного дистрибутива Linux. Дистрибутив — это сборник свободных программ на все случаи жизни, написанных множеством разных людей в разное время. Эти программы адаптированы и «притёрты» друг к другу разработчиками дистрибутива. Продавать поштучно свободные программы невыгодно,  размер  их  —  в  силу  специфики  совместной разработки — зачастую в несколько раз меньше  несвободных  аналогов  с  теми  же  возможностями. Поэтому количество программных продуктов  (т.  н.  пакетов)  в  одном  дистрибутиве  зависит  только  от  специфики  дистрибутива и  объёма  носителя.  Дистрибутив  на  одном  CD обычно включает в себя несколько сот пакетов, на DVD — несколько тысяч.

Свободные программы  в ИТ-подразделениях

Для специальностей, связанных с информационными  технологиями,  эта  свобода  выбора поворачивается  особенно  выгодной  стороной. Для ИТ-специалиста дистрибутив Linux общего назначения — своеобразный конструктор с множеством похожих и непохожих деталей, гибкими правилами сопряжения элементов и, что особенно важно, мощным инструментарием создания собственных деталей и правил. Использование свободных  программ  —  иногда  единственный способ вернуть в Computer Science составляющие собственно научного, а не технологического процесса: ответственное исследование перед разработкой, ссылка на предшественников и использование их трудов, возможность не изобретать постоянно один и тот же велосипед и т. д.
Ещё  одно  вполне  академическое  свойство всякой  успешной  открытой  разработки  —  возможность участия в проекте практически любого числа желающих с разными профессиональными  наклонностями.  Свободный  проект  предоставляет не только исходный текст программы, но и всю технологию разработки: информационный ресурс, технические средства, дисциплину групповой работы, отслеживание ошибок и т. п. Обычно присоединиться к свободному проекту со своими идеями намного проще, чем воспроизводить эту инфраструктуру, проще — и полезнее для самого проекта. Разворачивание такой инфраструктуры — дело, в общем-то, нехитрое, а вот сообщество, которое будет развивать проект, образуется не сразу и не по команде сверху. С  другой  стороны,  если  некий  «студенческий проект»  актуален  и  продуманно  оформлен  по правилам открытой разработки, у него есть все шансы стать успешным. Примеров тому немало.
Участие студента в открытой разработке полезно и с точки зрения чистой практики. Вспомним,  что  множество  свободных  программных продуктов имеют значительный успех на рынке ПО. Так что и дисциплина совместной работы, и ошибки, и нерешённые задачи оказываются самыми  настоящими,  не  «учебно-тренировочными», не плодом фантазии научного руководителя. У студента может не хватить знаний и опыта, чтобы  действительно  включиться  в  процесс разработки. Но даже знакомство с действительными  процессами  разработки  принесёт  много пользы.
И здесь для ВУЗа открывается довольно интересная возможность. С одной стороны, имеется  потребность  в  различном  ПО,  нередко  не существующем  в  готовом  виде.  С  другой  стороны, ежегодно проводятся исследовательские и работы по самым разным направлениям. Использование  свободного  ПО  —  и,  разумеется, грамотная  инженерная  поддержка  —  позволяет  построить  в  своём  роде  «самодостаточную систему»,  в  которой  актуальные  потребности  в инструментах  исследования  закрываются  широкими  возможностями  по  разработке  этих инструментов.  Чтобы  процесс  был  эффективен, необходимо нововведение, немыслимое с точки  зрения  корпоративной,  но  довольно  понятное  с  точки  зрения  академической.  Нужно, чтобы  подразделение,  исполняющее  функции «службы  технической  поддержки»  (системный администратор, его помощники, программисты, учащиеся, работающие в этой теме), выполняло не только сервисные, но и научно‑исследовательские функции. Таким образом, при грамотной постановке учебного и исследовательского процесса, ВУЗ сможет решать и чисто технические, внедренческие задачи. И последнее. О таком очевидном факте, что программный  продукт,  гарантирующий  «право на  его  изучение»,  скорее  всего,  действительно пригодится для изучения, можно и не писать. Но отметить его всё-таки надо.

Георгий Курячий (Директор Центра свободного программного обеспечения в образовании(Fosscenter.ru))

:
2006
" -2006"
1 " -2007"


© , :
© , - WebMar.ru
.