Случилась эта история в 2001 году и началась с того, что в FIDO-шной конференции $CRACK$.TALKS, обычным содержанием которой являлись кряки, объявления о поиске кряков и разговоры крякеров «за жизнь», я увидел нетипичное объявление с вопросом кто мог бы взяться за доработку графической программы. Так как в этой конференции «доработкой» любили называть взлом коммерческого программного обеспечения, например, «отвязку» от аппаратного ключа, а коммерческим взломом я не занимался, то на это объявление я не стал обращать внимания, решив, что тут уж найдутся те, кто выполнит заказ, связавшись с адресатом через личную почту. Однако, через неделю объявление повторилось, мне стало интересно о чем идет речь, и я связался с его автором.
Тот пояснил, что речь идет именно именно о доработке графической программы, и что тусующиеся в конференции крякеры, узнав о чем идет речь, эту работу делать поголовно отказались, сказав, что они занимаются именно взломом, а не доработкой программ. После этого он предложил встретиться для уяснения дальнейших деталей. Когда я приехал по указанному им адресу, на входе в офис я увидел табличку с названием всем известной газеты объявлений, что меня заинтриговало еще больше.
Встретивший меня мой будущий клиент оказался начальником местного ИТ-отдела, был уже в годах, но по разговору чувствовалось, что он «из наших» — программистов, хотя, и бывших, «отошедших от дел». После чего он подвел меня к компьютеру, с огромным по тем временам 21 дюймовым монитором, на котором красовалась вот такая вот картинка:
Подобный GUI я видел в первый раз, и уже тогда этот монохромный интерфейс выглядел старомодным, тем более, что разрешение для такого монитора было маловато, и пиксели выглядели огромными.
Из дальнейшего объяснения, я узнал, что речь идет о доработке GEM/3 Desktop, который в свое время был конкурентом MS Windows 2.0, уже его последняя коммерческая версия была 15-летней давности. Но зачем ее дорабатывать? Оказалось, что в газете использовалась древняя версия настольной издательской системы Ventura Publisher, которая запускалась только из-под GEM/3, но зато позволяла автоматизировать верстку страниц газеты, получая текст объявлений из БД – на тот момент ни одна другая система такого не умела.
Немного поколебавшись, я взялся за эту работу. Задача состояла в доработке драйверов для дисплея с высоким разрешением 1280х1024. Драйверов было несколько, свой драйвер для разных видеоадаптеров и для каждого разрешения. Но все они поддерживали разрешение не больше 800х600, именно поэтому на увиденном мною мониторе были такие крупные пиксели, что согласитесь, не очень удобно для верстки полноформатной газеты.
Интернета у меня тогда под рукой не было, а исходников драйверов в комплекте не шло, так что взяв у клиента архив с GEM, я начал ковырять двоичный код драйверов, с тем, чтобы найти в нем все константы, задающие поддерживаемое драйвером разрешение, и заменить их на нужные. Мне это удалось, но не тут-то было: GEM, в свою очередь, работал под MS-DOS, в реальном режиме, и для доступа к видеопамяти его драйвер переключал банки видеопамяти. Простой заменой констант тут было не обойтись, надо было искать код переключения банков видеопамяти – задача нелегкая. К тому же, драйвер был продвинутый и не просто предоставлял интерфейс для перекидывания графики на дисплей, а умел рисовать графические примитивы – линии, прямоугольники и круги, код отрисовки, перемешанный с переключением банков видеопамяти был довольно запутанным. Но тут мне повезло: видеоадаптер, поддерживаемый одним из драйверов, переключал видеобанки путем вывода команд в обычно не используемый аппаратный порт, так что, переключение видеобанков можно было отловить по номеру этого порта. Через неделю работы (как обычно — в основном ночью) мне удалось научить драйвер 800х600 от этого видеоадаптера работать в 1280х1024, хотя, с некоторыми графическими примитивами возникали глюки отрисовки.
И тут мне позвонил клиент и сообщил, что он нашел исходники (!) GEM. Оказывается, перекупившая GEM компания Caldera в 1999 году их зарелизила под лицензией GPL. В начале каждого файла с кодом был копирайт Caldera, но все остальное оставалось в первозданном виде 15-летней давности.
Понятно, что, теперь, когда в моем распоряжении были исходные тексты, работа пошла намного быстрее, хотя они были на Ассемблере с небольшой примесью Си, и местами были тем еще спагетти.
Через неделю все было готово, и я передал откомпилированные доработанные драйвера клиенту, чтобы он их попробовал. А еще через неделю я приехал в офис для получения оплаты за работу, и мне продемонстрировали появившиеся на внутреннем корпоративном форуме газеты восторженные отзывы верстальщиков по случаю появления возможности работы с высоким разрешением экрана на больших мониторах. Причем, как оказалось, газета имела свои отделения не только в Москве и других российских городах, но также и по всему СНГ, радостные отзывы были отовсюду. И это было очень приятно, так же, как и щедрая оплата сделанной работы, составившая солидную прибавку к моей аспирантской стипендии, на которую я тогда жил.
Комментарии (20)
datacompboy
14.09.2015 15:53+2Раз код был GPL, обновлённый драйвер зарелизен?
Rumlin
14.09.2015 16:25+3Скорее всего не было возможности.
Интернета у меня тогда под рукой не было
Да и в 2001 году куда его релизить? Например, GitHub появился в 2008.danfe
14.09.2015 16:33+9С другой стороны, в 1991 г. у Линуса Торвальдса не возникло проблемы «как/куда зарелизиться». Да и вообще много у кого не возникало. :-)
ivlis
14.09.2015 16:37До 2008 года кодом не обменивались что ли? GNU как-то без github написали же. И в 2001 году в Москве уже был интернет с лимитом 1GB/мес, что по тем временам было довольно прилично. Ну и гугл уже тоже что-то искал.
xforce
14.09.2015 16:36+45GPL обязывает передать исходник только тому, кто получил и само ПО. Так что релизить на публику и не обязан, если делал для какой-то конторы и она дальше ПО никуда не выкладывала.
zamsky
14.09.2015 19:41+3Ерунда какая-то. C 1990 года программа имела версию по Windows (3.0). С 1993 она была куплена компанией Corel и продавалась под названием Corel Ventura Publisher 4.2. На этом пакете работали все известные мне компании группы «Из рук в руки». Формат публикации с 3.0 по 4.2 практически не поменялся. Зачем в 2001 году надо было связываться с этим древним говном мамонта, когда была уже 7 версия программы — мне непонятно.
zedalert
14.09.2015 21:25+7Иногда такое бывает, что спустя много лет обнаруживаешь то, что давно искал, но почему-то тогда это не было так легко найти.
Viacheslav01
15.09.2015 01:24+7Для работы, важно пока работает, не трогать. Много раз встречался с ситуацией когда работает софт наидревнейшей версии, но его обновить никто не даст! Потому как все работает, так как надо!
zamsky
15.09.2015 09:32Так я вам и рассказываю с позиции человека, который работал и с Xerox Ventura, и c Corel Ventura. Переход между ними был безболезненный, насколько помню.
batyrmastyr
15.09.2015 13:58А что по деньгам? Не нужно было оплачивать заново?
zamsky
15.09.2015 16:14В то время, когда черно-белый принтер формата A3 стоил $10000, купить пакет за примерно $300-400 было не так накладно.
sunman
16.09.2015 20:32+2Вспоминаю теперь, что задавал клиенту тот же вопрос, на что мне было отвечено, что под Windows-версией Ventura нет этого функционала (может быть, какого-то плагина?).
Газету вы угадали — она самая.
mickvav
20.09.2015 20:39+1У меня одноклассник года три назад спрашивал, не завалялось ли в хозяйстве 10" флопии и дисковода под них. Отрыли в институте древний прибор, который стыкуется к такому же древнему компу. Всё это работает, но сети нет. Денег на новый прибор не предвиделось. Кажется, в итоге нашли подходящий 5" дисковод…
CMHungry
wow! здорово