Итак я унаследовал popclient. Но гораздо важнее то, что я унаследовал пользователей popclient'a. Иметь пользователей – это замечательно. Не только потому что это означает, что вы предоставляете нужную услугу. Дело в том, что правильно воспитанные пользователи могут стать сотрудниками.
Сильная традиция Unix'а, а особенно Linux'a заключается в том, что большинство пользователей являются хакерами. Так как исходный текст программ доступен, они могут стать эффективными хакерами. Это может значительно уменьшить время отладки. Если вы сможете воодушевить пользователей, они будут диагностировать проблемы, предлагать решения и помогать улучшить код намного быстрее, чем сможете это сделать вы.
6. Если пользователи будут вашими сотрудниками, то вам обеспечены улучшение кода и эффективная отладка.
Сила этого эффекта часто не дооценивается. На самом деле все мы, разработчики мира открытых систем, сильно недооценивали насколько это может повысить число пользователей и уменьшить сложность системы, пока Линус Торвальдс не показал нам это.
Я действительно думаю, что наиболее значительное и результативное творение Линуса – это не создание ядра Linux'a, а изобретение модели его разработки.
Когда я поделился с ним своим мнением, он улыбнулся и просто повторил то, о чем часто говорил: «Я просто очень ленивый человек, которому нравится получать пользу от того, что делают другие люди.» Ленивый, как лиса, или, как сказал бы Роберт Хейнлейн, слишком ленивый чтобы проиграть.
Один из успешных методов работы в стиле Linux'a можно было наблюдать при разработке GNU Emacs Lisp – библиотеки и кода Lisp'a. В отличие от соборного стиля, разработка ядра Emacs С, а также многих других FSF инструментов в значительной степени управлялась пользователями. Все исходные тексты были переписаны три или четыре раза, прежде чем приняли свою окончательную форму.
Моей первой успешной программой, разработанной в стиле Linux'a, стал VC режим Emacs'a. Я разработал ее с тремя людьми, сотрудничая по e-mail'у. С одним из них (это Ричард Столлмэн – автор Emacs и основатель FSF) я встречаюсь и по сей день. Разработка VC была успешной, потому что в отличие от Emacs, код Emacs Lisp может быстро пройти через поколения release/test/improve.
При попытках FSF легально встроить код в GPL обнаруживается неожиданный сторонний эффект. Использовать модель базара для FSF сложнее, так как необходимо получать copyright на каждые 20 строчек кода.