Но обсуждение того поста довольно естественным образом вышло на тему – передавал ли я тогда покупателями исходные коды программ или нет? И почем я это делал (или не делал).
Сначала коротко отвечу, а потом продолжу размышления.
[spoiler]
У меня в те времена (1988-1997) было два набора продуктов: прикладные программы (расчетные и управление банками фактографических данных) и инструментальные средства для QB-программистов. Первые я передавал с текстами всегда. Вторые – тексты за дополнительную плату.
Почему "первые всегда"? Потому что эти тексты на самом деле никому не нужны были. Я ничем не рисковал. А покупателю было спокойней на душе. Не более того.
Для чего вообще разработчик передает потребителю исходный код?
(Я использую тут слово "потребитель", который обычно имеет два основный статус – покупателя продукта "как есть", как это решил продавец, и заказчика, который определяет требования к условиям покупки сам. Разница есть, но на самом деле – не такая большая.)
В комментарии на прошлый пост igor сформулировал такой тезис:
Поэтому просматриваются следующие цели, почему заказчику могут понадобиться исходные коды проекта: Возможность перекомпиляции исходных кодов для другой целевой платформы. 2. Возможность использования заимствованных алгоритмических решений в иных проектах. 3. Проверка правильности алгоритмов. |
Вот что написал отвечая igor'ю
Так вот, я могу сказать на 99.999%, что ни одна из перечисленных вами задач не была актуальной для заказчика. Более того, вполне вероятно, что этому (первому) конкретному заказчику эта программа вообще не нужна была и он ее ни разу не запускал. До 1995 года у меня было продано (сейчас точно не помню, надо лезть в свои архивы) 20-30 копий разным заказчикам. Большинство из них работали с ней, некоторые - активно. НИКТО из них эти задачи (перечисленные вами) не решал. Они просто использовали программу как расчетный инструмент. |
А зачем разработчик передавал (и передает сейчас) исходный код, причем даже тогда, когда его не требует заказчик в явном виде?
Однозначного ответа на это вопрос нет, тут может быть много вариантов. Все это можно обсуждать. Но, смею утверждать, в 50% случаев (величина, конечно, ориентировочная, условная) – открытие кодов является неявным (или явным) признанием низкого качества программного продукта. Именно "программного продукта", которые включает не только саму программу, но и документацию на нее.
1. Передавая исходный код, разработчик, как бы, автоматически снимает с себя ответственность за свой код (исправление ошибок, доработка, развитие) и перекладывает ее на потребителя
2. Он снимает с себя ответственность за качество документации: "Какая вам еще документация нужна! Я же вам передал ВСЕ! Исходный код…."
Вот такие соображения (на основе богатого жизненного опыта) по поводу передачи исходного года.
Тема давняя, как само программирование.
И постоянно решаемая.
Сертификация - это одно из решений, оно используется. Другое дело, что она никогда не даст 100% гарантии и нужна далеко не всегда.
Примерно, также как государство не будет возмещать ущерб от плохого воспитания вами своих собственных детей.
На эту темы много публикаций, обсуждений.
Вот посмотрите. например:
http://www.pcweek.ru/ecm/article/detail.php?ID=135713
Возмещать ущерб будет производитель.
Строители, изготовители устройств возмещают же ущерб за не качественный товар!?
Не будет.
Это все тоже уже давно (еще в середине 1990-х) обсужалось. Почему - было показано на теоретических выкладках, многолетних опыт подтверждает их правильность.