КОММЕНТАРИИ К СТАТЬЕ Р. ТИНКЕРА «ОБРАЗОВАТЕЛЬНЫЕ ПРОГРАММЫ С ОТКРЫТОМ КОДОМ»
М.Е. Отставнов
Сегодня в российских учебных заведениях преобладают «альтернативные», нестандартные операционные системы и платформы (такие, как «МС-ДОС», «Майкрософт Уиндоуз», «Майкрософт Уиндоуз НТ», «МакОС» версий до X). Пользование ими описывается в учебниках, на них ориентируются авторы отечественных учебных программ.
Пятнадцать лет назад это можно было бы посчитать в чем-то оправданным, поскольку микрокомпьютеры, ставшие основой массовой школьной и вузовской компьютеризации, были просто недостаточно мощными для эксплуатации под полноценными стандартными ОС. В настоящее время их, по привычке называемых «персональными», показатели на порядки превышают производительность миникомпьютеров и в разы — мэйнфреймов 1980-х годов; в то же время альтернативные системы «разбухли» в объемах и требованиях к производительности оборудования.
Постепенно выявляются связанные с этим проблемы:
— нестандартные системы ненадежны и небезопасны. С распространением компьютеров и особенно сетей (включая доступ к региональным и глобальным сетям) ущерб от вирусов, несанкционированного доступа к информации и т.п. становится заметной статьей издержек информатизации;
— нестандартные системы дороги. Выделяемые на информатизацию деньги можно расходовать гораздо более разумно — от их вложения в перспективные разработки до повышения окладов преподавателей и обслуживающего персонала;
— нестандартные системы ограничивают выбор оборудования и зачастую предъявляют завышенные требования к его параметрам;
— поставщик нестандартных систем и его партнеры получают неосновательное преимущество в других сегментах рынка. Если систематически подменять обучение общим принципам и стандартным технологиям изучением конкретных программ, специфические навыки пользования ими распространятся в обществе настолько, что поставщикам конкурирующих технологий и решений пробиться на рынок будет совсем нелегко.
99
а
Комментарии к статье Р. Тинкера Образовательные программы с открытым кодом»
Большая часть этих проблем касается не только ОС и других платформ, но также и прикладных программ.
В России и большинстве постсоветских стран (так же как в ряде развивающихся и «новых индустриальных») эти кризисные явления проявились наиболее отчетливо, поскольку «контрреволюция ПК» совпала по времени с драматичнейшими общественно-политическими событиями: попытками радикальных демократических и рыночных реформ. Однако как таковые эти явления отнюдь не уникальны для нас.
* * *
В статье Боба Тинкера представлен взгляд на информатизацию учебного процесса изнутри, с позиции организатора этой информатизации на конкретных рабочих и учебных местах. «Мы начали предлагать... курсы десять лет назад, сначала используя Web-страницы... затем мы использовали LearningSpace, который в дальнейшем IBM перестала поддерживать и, наконец, перешли на Blackboard. Каждая из этих платформ и множество других, исследованных нами, имеют ограничения, которые сужают образовательную ценность материала, предоставляемого студентам. Только когда мы перешли на OpenACS, мы оказались в состоянии обратиться к исходным текстам программ и сделать необходимые усовершенствования», — пишет он.
Для практика-организатора вполне естественно порадоваться доступности исходных текстов, а для человека, чей опыт много лет связан с ПК, — и удивиться этому как чему-то необычному. Однако явление, с которым столкнулся автор, не ограничивается «открытыми исходными текстами».
После распространения авторского права на программы для ЭВМ технической доступности исходного текста программы недостаточно для полноценного ее использования (включая модификацию и распространение). Для защиты от «интеллектуальной собственности» необходимо, чтобы автор программы (или другой правообладатель, например, его работодатель или заказчик) согласился на такое ее использование и передал право разрешать использование ее и производных от нее произведений (модификаций, программ и систем, включающих ее в качестве составной части) третьим лицам.
Соответствующий юридический инструмент получил название свободных авторских договоров («свободных лицензий»), программы, распространяемые в сопровождении соответствующей оферты (предложения заключить этот договор путем молчаливого согласия с его условиями), — свободных программ, а программисты, вовлеченные в этот процесс — движения за свободные программы или движения за свободное программное обеспечение.
Устоявшаяся формулировка определяет, что свободным является авторский договор, предоставляющий без каких-либо дополнительных условий владельцу экземпляра программы права:
100
Теоретические и прикладные исследования
Л
0) пользоваться программой для любых целей (в рамках российского законодательства это тавтология, так как у правообладателя нет правомочия ограничивать цели, в которых собственник экземпляра программы может ее применять) и на неограниченном количестве компьютеров или мест в сети; 1) беспрепятственно получать доступ к ее исходным кодам; 2) изготовлять (производить) неограниченное количество дополнительных ее экземпляров, как для собственного пользования, так и для распространения или сдачи в прокат/ аренду на тех же условиях, возмездно или безвозмездно (по своему выбору); 3) модифицировать ее как для собственного пользования, так и для распространения на тех же условиях.
Следует еще раз подчеркнуть, что открытость (доступность) исходных текстов — лишь техническое условие обеспечения свободы программ, а не суть движения за свободное программное обеспечение (в нынешней ситуации, когда большая часть программ пишется на языках, предполагающих предварительную трансляцию или компиляцию, и технически может распространяться в объектном коде, явное прописывание этого условия является обязательным).
За четверть века существования авторского права на программы и, соответственно, движения за свободное ПО разработаны десятки тысяч программ и пакетов, реализующих практически каждое мыслимое приложение компьютеров. В некоторых приложениях свободные программы устойчиво доминируют (например, при предоставлении услуг сетей Интернет), в других — с переменным успехом конкурируют с несвободными программами (например, в управлении базами данных), в третьих — лишь постепенно набирают популярность (это прежде всего средства «малой компьютеризации» — «офисные» и бухгалтерские пакеты, интерактивная обработка графики, звука и видеоряда).
Свободные программы сыграли ключевую роль в быстром становлении сетей Интернет, какими мы их знаем. Если бы ключевые сервисы не были защищены от «интеллектуальной собственности», мы бы неизбежно пришли к несовместимым стандартам (как в телевещании в разных регионах мира) или жесткому государственному регулированию и монопольным тарифам (как в телефонии дальней связи).
В то же время распространение Интернета предоставило инфраструктуру для того, чтобы движение за свободное ПО приобрело по-настоящему массовый характер, вовлекло десятки тысяч программистов и других специалистов, тысячи коммерческих компаний и общественных организаций, миллионы конечных пользователей. Если десять лет назад свободные системы и программы в основном применялись лишь профессионалами в ИТ и связи, то сегодня ими пользуются во всех предметных областях.
Автор перечисляет ряд систем и программ, оказавшихся полезными при разработке и эксплуатации его пакета. Это ОС «ГНУ/Линукс», Web-сервер «Апач» и, конечно, платформу «dotLRN/OpenACS».
101
а
Комментарии к статье Р. Тинкера Образовательные программы с открытым кодом»
На сегодня полной реализации среды исполнения программ на языке «Java» с доступными исходными текстами — свободной или несвободной — к сожалению, нет; соответственно, рекомендации Б. Тинкера в отношении выбора «Java» в качестве инструмента разработки однозначно поддержать нельзя.
Этот список можно продолжить. ЮНЕСКО совместно с Фондом свободного программного обеспечения (США) поддерживает каталог свободных программ, могущих быть полезными в образовании (http://directory.fsf.org/). Однако более эффективным и быстрым способом знакомства с репертуаром доступных свободных программ будет приобретение любого крупного универсального дистрибутива свободной ОС (например, «Дебиан ГНУ/Линукс», «Мандрива» или собранного в России «АСПЛинукс»).
Автор сетует на то, что образовательных программ с открытым исходным кодом мало; что касается именно обучающих или демон-страционно-моделирующих программ, то следует согласиться, что их, по крайней мере, меньше, чем хотелось бы (и чем было бы при более разумной образовательной политике). Однако программное обеспечение учебного процесса не сводится к моделлерам, тренажерам и обучающим программам. Многие деятельности автоматизируются менее специализированными программами.
* * *
Существенной сложностью остается то, что далеко не все свободные программы и пакеты, включая образовательные, удовлетворительно русифицированы или русифицированы вообще (в частности, весьма ограниченной окажется и применимость разработанной с участием автора системы; но, возможно, какой-нибудь российский вуз или коллектив педагогов-программистов возьмется за ее русификацию).
Крайне ограничен и выбор методической и учебной литературы на русском языке, специально посвященной свободным программам в школе. Возможно, читатель найдет полезными материалы (включая два учебника), подготовленные в Центре компьютерных технологий Московского государственного индустриального университета и доступные на их сайте (http://www.ctc.msiu.ru/materials/index.php), а также две компилятивные брошюры, составленные автором этого комментария и доступные на его сайте (http://www.otstavnov.com/fsft/). Там же можно найти ссылки и на другие полезные для применения свободных программ в средней и высшей школе ресурсы.
А.Л. Семенов
Широкого читателя может удивить использование М. Отставновым терминов «альтернативные», нестандартные операционные системы и платформы по отношению к «МС-ДОС», «Майкрософт Уиндоуз», «Майкрософт Уиндоуз НТ», «МакОС» версий до X (список из текста Отставнова). Ведь, на первый взгляд, именно эти операционные
102
Теоретические и прикладные исследования
системы и платформы сегодня и являются стандартными и основными, а не альтернативными. Но М. Отставнов, формально говоря, прав: для всех перечисленных операционных систем не предпринималось попыток стандартизации, а есть системы стандартизованные, значит, перечисленные — действительно «альтернативные».
Представленный М. Отставным список проблем, порожденных, по его мнению, «альтернативными» ОС, впечатляет. Ограничимся замечанием, что каждый из его пунктов имеет под собой реальное основание и все они оспариваются оппонентами.
Отметим также, что, несмотря на проблемы с «открытостью» «Java» сегодня у нас нет других вариантов столь же мощных и доступных многоплатформенных систем разработки.
Существуют системы, такие как Qt (http://www.trolltech.com/), которые позволяют писать мультиплатформенное и требующие взаимодействия с пользователем (Ои1)ПО, — но Qt требует знания C++ и, что очень важно, Qt не принадлежит к программам с открытым кодом. Такая система как Metrowerks PowerPlant тоже позволяла создавать ПО на Mac/Windows, но стоила порядка $50000 (Windows, Mac OS was free).
Можно упомянуть в этой связи систему RealBasic (http://www.real-software.com/). Это довольно перспективное направление, но, во-первых, RealBasic не бесплатен, а во-вторых, количество вспомогательного ПО, программных пакетов, написанных на «Java», неизмеримо больше, чем на RealBasic. Так что утверждение Р. Тинкерa соответствует действительности.
Следует добавить, что все исходные тексты «Java» (для Windows/ Solaris/Linux) доступны практически всем. Однако лицензия, сопровождающая эти исходные тексты, не позволяет причислить «Java» к собственно «open source» ПО, но поскольку распространение «Java» является свободным ($0), «Java» можно причислить к free ПО — а это очевидно существенное достоинство.
Что же касается комментариев Отставного по отношению к основному тексту статьи Б. Тинкера, то они будут полезны нашему читателю даже там, где не являются бесспорными.