"5 главных преград на пути к успеху свободного ПО"
Это название придумал не я. Поэтому оно в кавычках. Это название статьи Михаила Рамендика (см. например, http://www.infobez.com/article.asp?ob_no=5848). Мы с Михаилом знакомы давно, и я всегда с удовольствием читаю его материалы. Не потому, что он постоянно отстаивает интересы свободного ПО, а я "должен" читать такие статьи, так как нахожусь "по другую сторону баррикад". Нет, не поэтому. Кстати, я ничего такого и не "должен" :-). Просто Михаил пишет умно и достаточно объективно. Что, к сожалению, большая редкость для нашей прессы.
Так вот, Михаил описывает сегодняшнюю ситуацию со свободным ПО. Общемировую. Если вкратце, то он видит пять проблем следующим образом: 1) СПО надо выдержать настоящую конкуренцию, которая еще только начинается; 2) СПО не должно гнаться за копированием чужих идей; 3) решения на СПО должны перестать быть "экзотикой"; 4) необходимо завлечь производителей коммерческого ПО на платформу СПО; 5) необходимо разобраться с патентованием.
Я перечислил только названия соответстующих разделов из его статьи. Почитайте - получите удовольствие. Что касается меня, то я бы добавил еще одну проблему - проблему безопасности. Как утверждали и продолжают утверждать сторонники СПО, одним из главных достижений СПО является безопасность. И это якобы должно следовать из концептуальной возможности проверять код всеми желающими. На деле, к сожалению поклонников СПО, все обстоит хорошо только на словах. Теоретически вроде бы правильный принцип проверки кода всеми желающими не приводит пока к положительным результатам. Например, на основе статистики самого компетентного международного сайта secunia.com в прошлом году даже новые разработки Red Hat - сервер Enterprise Linux Server v.5 и клиент Enterprisre Linux Client v.5 не порадовали своих создателей. В них было найдено рекордное число уязвимостей - 97 и 99 соответственно. При том, что в самом ядре Linux Kernel 2.6 за 2007 год было найдено 32 уязвимости. А ведь в соответствии с методологией подсчета уязвимостей эти уязвимости ядра надо прибавить к уязвимостям продуктов.И тогда получим совершенно невообразимые цифры - 129 и 131 уязвимостей соответственно. В то время как коммерческое ПО показало вполне приличную работу архитекторов безопасности и программистов: в сервере Sun Solaris 10 было найдено 88 уязвимостей (хотя это многовато, пожалуй), в Windows Server 2003 Enterprise - 31, в клиентской Apple Mac OS X - 26, в Windows Vista - 17.
С чем это связано? С различием в подходах к процессу разработки и программирования. Со стороны СПО - множество слабо контролируемых разработчиков, со стороны коммерческого ПО - жесткий контроль разработки и кодирования. И еще с тем, что идея о том, что все желающие бросятся проверять код просто не работает. Проверять код - тяжкий труд. Кроме того, это труд для профессионалов. Почитайте книгу Ховарда и Лебланка "Защищенный код" - там много интересных примеров, как действительно находятся ошибки в коде.
Кстати, неработоспособность идеи о том, что все захотят улучшать код, каждый может проверить на своем опыте. Все мы много раз видели и продолжаем видеть опечатки и неточности на чужих сайтах. Много ли раз каждый из нас бросался исправлять эти ошибки писав и звонив в редакции этих сайтов? Просто сознайтесь себе сами - никогда. Но за своими сайтами следим - мы за это получаем зарплату, хотя часто и опосредованным образом (за счет улучшения качества сайта и увеличения продаж с него, и т.д.).
В заключение хочу пожелать ребятам-разработчикам СПО постараться выполнить те задачи, которые описал Михаил, и которые добавил и я сам. Многим может показаться странным такой призыв со стороны сотрудника Майкрософт. Но мы же с вами умные люди - если конкурент становится достойнее, то и ты сам растешь над собой быстрее :-)
Так что желаю всем вам достойных конкурентов, чтобы самим становиться все лучше и лучше!