Дреппер работает в RedHat и знаменит в первую очередь поддержкой и разработкой в последние годы glibc - главной C-библиотеки проекта GNU, использующейся в первую очередь в Линуксе.
В этой заметке он пытается убедить open source-разработчиков не поддерживать странные, редкие или коммерческие OS и архитектуры, а поддерживать, по сути дела, только Линукс, да и то лишь несколько основных компьютерных архитектур, на которых бежит Линукс, а не всех.
По этому поводу разгорелся флейм у него в журнале и на Слэшдоте.
Дреппер, в общем, неумно очень написал, но некоторое рациональное зерно есть. Правда, у него оно погребено под стогом глупостей и злобных наездов на "чужие" платформы.
Как правильно заметили многие из ответивших ему, поддержка проекта для многих OS/архитектур очень часто помогает обнаружить баги/недостатки дизайна, не столь очевидные в случае, если вести его только на одной/двух платформах. Примеры многочисленны и очевидны. 32-битные/64-битные архитектуры. Платформы, на которых int==long, и на которых они различны. OpenBSD славится параноидальным подходом ко всему, включая, например, защиту адресного пространства, так что обращение по испорченному указателю с большей вероятностью повалит программу (и хорошо). Различия в абстрагировании "железа" и том, как уровни абстракции устроены... и так далее, и тому подобное.
Но есть и другие виды межплатформенных различий, которые, при попытке поддерживать проект на разных платформах, вызывают лишь раздражение, а пользы никакой не приносят. Сюда в первую очередь относятся мелкие и тонкие различия в стандартных библиотеках разного рода. Принципиальное несовершенство архитектуры (та же проблема 8.3 в файловых именах или неразличение регистра в них же). Принципиальная маломощность платформы (16-битные платформы те же). Мелкие несовместимости на уровне OS (скажем, различия в семантике сигналов). Отсутствие библиотеки на одной из платформ, в то время как та же библиотека есть на всех остальных (и переноси теперь её сам или калечь свой проект, пытаясь предоставить возможность обходиться без неё). И многое ещё.
Проблема в том, что Дреппер не делает различия между этими двумя источниками проблем, а точнее, все такие проблемы считает ненужной головной болью. Действительно, если писать только под Линукс, под 1-2 главные архитектуры, то их не будет. Правда, все недостатки, которые проблемы первого рода помогают обнаружить, останутся, и многие из них рано или поздно всплывут. Правда, такое поведение аналогично поведению тех, кто пишет только под Windows, и кого Дреппер считает "pure evil". Но такие противоречия в своём манифесте Дреппера не смущают. "I don't care and I certainly won't change my mind on this."
В общем, и на glibc это проливает некоторый свет. glibc - ужасно написанная и скомпонованная библиотека. Просто с точки зрения того, как устроены исходники, как найти нужную функцию и что-то понять/добавить/изменить, как она строится. Если бы она хотя бы поддерживала десятки платформ (как первоначально рассчитывали), эта сложность и запутанность была бы ещё хоть в какой-то мере оправдана. Но, оказывается, под руководством Дреппера всё свелось к поддержке одного лишь Линукса (и частично Хурда), и то не на всех архитектурах. Жалкое зрелище, и не очень понятно, зачем она тогда нужна. Истинно вам говорю, тот, кто видел и копался в исходниках libc под FreeBSD и под Линуксом - не задумываясь ни на секунду, выберет BSDшную библиотеку.