После нескольких неудачных экспериментов я начал писать код который помог… очень помог. Как оказалось, люди обратили на него внимание, и мой код был включен в ядро. Мне не нравилось как планировщик выполняет интерактивные приложения, но по крайней мере это было работоспособно на десктопе.
Не будучи удовлетворенным лежащим глубже механизмом работы планировщика, я решил переделать все с самого начала и так родилось второе поколение «-ck» патчей. В этот раз они почти полностью состояли из моего собственного кода. Это, собственно, история как я начал писать свой код для ядра.
Главный отказ о включении моего кода в ядро, который я получил, касался моего планировщика. Он был гораздо лучше в вопросах интерактивности, хотя тоже был не идеален. Пока я продолжал работать над ним, фокус главных маинтейнеров сместился от планировщика к другим вопросам. И причиной, по которой Алан Мортон отказал в включении моего кода было то, что есть более срочные вопросы и ошибки, которые нужно исправить в ядре. Это действительно было так. Но всегда есть множество подсистем в ядре, которые постоянно переписываются и в них обнаруживаются недостатки. А ведь постоянное их переписывание более важно, чем улучшения, касающиеся вопросов работы десктопа, так?
С помощью Вильяма Ли Ирвина я опубликовал свой планировщик, который можно было подсоединять к ядру как модуль, таким образом, чтобы можно было при загрузке выбирать, каким планировщиком желаешь пользоваться. Это очень похоже на подсоединяемый планировщик подсистемы ввода-вывода, который используется в текущем ядре. Но это было отвергнута Линусом и Инго (мантейнером планировщиков), поскольку они считали, что в ядре должен быть только один планировщик, хороший насколько это возможно.
В конце-концов Инго решил что идея хороша… и написал свой планировщик, который бы был и честным, и обеспечивал хорошую интерактивность. И с кодом ему помог человек, который отказался принимать пути решения, которые я предлагал.
Я лежал и думал, что я делал и почему. Но решил довести работу над планировщиком Staircase Deadline. А потом я вышел из работы навсегда.
Для тех кто "многа букф, ниасилил" рассказываю вкратце: парниша сваял несколько патчей для ядра Линукса и решил, что они чудо как хороши. Когда он попытался их закоммитить, ему дали по рукам мэйнтейнеры во главе с Торвальдсом. Но наш боевой друг не унимался, он исхитрился и врезался таки в систему со своими наработками. После этого получил от мэйнтейнеров пня под сраку. Оскорбился до глубины души.
Это как нетрудно догадаться наглядная демонстрация основного принципа свободного софта - любой может дорабатывать свободную программу. Куда Столлман смотрит? Непонятно.