в том то и всё дело, что разработчики занимались делом _для себя_.
И сделали свой велосипед, это их право, да. Но велосипед от этого чем-то другим не стал.
Могут на нем кататься. Могут катать на нем других. Всё верно. Но ... это всё-ещё велосипед.Почему ?
Потому что принципиально нового (наверное) там нет.
>возьмем хотя бы для примера почтовый клиент , напишу его скажем на питоне : выучу питон и >узнаю протоколы смтп\поп\имап , таких программ множество есть бесплатные есть платные
да, множество, именно так и есть. Число пользователей каждой программки - сколько ?
И сколько бы их было, если бы программка не была велосипедом ?
>если же все таки он (клиент) получится хорош то его можно выложить в свободный доступ и >тут же русское сообщество опенсорц закидает меня какашками и станет кричать "велосипед"
ну, про какашки - это ваша фантазия. Но велосипед от этого не велосипедом не сделается - сами же говорите - таких программ - множество.
Чтобы сообщество приняло проект, нужно чтобы продукт имел все основные фишки подобных продуктов, плюс еще пару интересных и нужных уникальных фишек.. И только вот тогда сообщество....
Но для этого клиент должен иметь _все основные фишки_. А фишки - это не только функции, которых всё-таки зачастую в велосипедах не хватает (да-да, мы их доделаем потом, и документацию напишем тоже, ну или вы, пользователи, вику позаполняйте сами....), но и удобство использования (типовые подходы к работе с продуктом, стабильность, удобство интеграции с имеющимися наработками, инфраструктурой, и т д и тп).
Применимо к дистрибутивам можно в этом плане для админа - свой пакетный менеджер - большое зло. У меня есть парочка самосборных пакетов для Debian. Естественно .deb в другом дистрибутиве, который сделал свой, к примеру .zeb, формат, пойдет лесом. Я еще готов собирать свои пакеты, допустим, в .rpm, но кастомный формат пакетов - повышает порог вхождения в продукт.
а чтобы велосипед стал массовым - порог вхождения должен быть максимально низким ( как в php ;-) )
Определенно, всегда найдутся люди, которые перешагнут порог вхождения, и будут пользоваться этим велосипедом.
Право выбора - никуда не делось. Качество продукта - осталось тоже прежним. Потому что разработчики писали его для себя - (изучение досконально линукс, создание пакетного менеджера удобного для них лично и в дальнейшем применять у себя на работе свой продукт , который они знают "как свои 5 пальцев").
Опять же, другой пример - в работе использую опенсорсные библиотеки (программирую).
В некоторых моментах получается так, что возможностей не хватает - библиотека спроектирована плохо. Потому что писалась под себя, под конкретную задачу (работала с данными файловой системы). А уже потом сообщество начало дописывать к ней расширения (работа с БД и мемкешем), и прочие. Но исходно, библиотека писалась под работу с файловой системой под задачи разработчика, и это наложило серьезный отпечаток - делаю патч с нужной для меня ( ;-) ) фишкой, пишу в багзиллу - а патч не принимают - обратная совместимость нарушается... Шаг вправо, шаг влево - низзя - наш велосипед едет только прямо.
вот и получается, что бывают велосипеды большие, а бывают поменьше )
----
Еще пример велосипедов в опенсорсе - это система tc в линуксе =)
Велосипедом она является потому, что писалась разработчиком под себя, документации толковой - практически нет. Аналогично, шаг вправо, шаг влево - оччень интересные эффекты проявляются.
--------
Я вот тут два дня изучаю сетевую подсистему линукса. Задачка нестандартная возникла, вот и ковыряю... Местами очень интересные костыли... Потому что велосипедик :-)
Как оно писалось: Была задача, её вписали в имеющийся код, потом еще чего-то вылезло, еще дописали кода... Потому-что - работает - не трогай (сетевая подсистема, всё-таки).
И так по кругу. Новая задача - новый код дописывается в имеющийся.
И я их поддерживаю, собственно. Не буду же я из-за мелкой задачи в 15 строк кода перепроектировать и переписывать весь стек функций. Вот допишу свой патч, и в паблик выложу.
Но он тоже велосипед, и им будет, хотя может и пригодится кому.