EDV писал(а):Уже когда-то писал, но повторюсь ещё раз: НИКТО не захочет разбираться, как работает алгоритма AVM. Кому это нужно? Пользователям? Нет, им нужна программа, которой они легко и просто могут воспользоваться в своих проектах, не вдаваясь в подробности реализации.
Может, студенты захотят покопаться? Дума что тоже нет, так как есть алгоритмы OpenCV и много других алгоритмов распознавания, созданных всякими именитыми учёными, на которых можно сослаться в своих студенческих работах. Зачем им разбираться в моих алгоритмах, ведь это не так просто?
Может, профессиональные программисты попробуют усовершенствовать алгоритм AVM? Думаю, что тоже нет, так как профессионалы не станут тратить своё личное время на какой-то алгоритм, за который им никто не заплатит.
Вот и остаётся вся надежда на простых пользователей, которые способны поверить в AVM как в некую идею, в то – что это не просто очередная уловка «учёных» с целью получения грантов, а вполне реальная программа, которой легко пользоваться, и которую можно без лишних проблем «прикрутить» к своим проектам. Таким образом пользователи начинают верить, и их поддержка позволяет мне вовлекать в процесс разработки AVM всё больше специалистов на коммерческой основе, а сам алгоритма AVM в конечном итоге становится брендом.
Ну вот такой нехитрый план
кому нужна будет готовая программа/библиотека, а не коды, тот и в код ковыряться не полезет. если студет или еще кто для своей работы выберет тот же opencv, то он и выберет opencv. причин как минимум 2. в другой библиотеке есть то, чего нет в вашей или в ней похожие алгоритмы подходят лучше - быстрей работают, меньше ресурсов потребляют или ему, допустим нужна многопоточность или нужные алгоритмы можно крутить на гпу или есть возможность более тонкой или более лучшей настройки работы алгоритмов и т.д. вторая причина это закрытый код, разрабатываемый очень узким кругом людей. банально создать обвёртку для использования в .net или ещё где, перенести на другую платформу, выловить баг или оптимизировать. под какой .net у вас портировано? "обычный", mono, portable.net, cf, mf? если под "обычный", то под какую версию (2, 3.5, 4)? а это в определённых случаях могут быть совсем несовместимые дотнэты. а у вас там точно есть нужные кому-то колбэки, биндинги и прочие плюшки? человек будет писать вам, вы может быть начнёте править код в нужном для него направлении и потом, может быть это частично или полностью его устроит. это еще более-менее неплохо может работать, пока проект маленький, а пользователей по пальцам пересчитать можно. +далеко не факт, что вы сделаете всё быстрей и лучше того человека, если вообще будете способны сделать. причин же хватает, может он под андроид захочет, а вы в андроиде ни бум-бум или у вас на такую "мелочь" просто нет времени, т.к. на ваш взгляд это совсем не интересное направление развития или ещё чего. вы сами сдерживаете развитие проекта. а то, что хорошо зарабатывающий программист не будет на бесплатной основе улучшать чей-то проект, это ошибочно. если кому интересен проект, хоть с точки зрения заработка на нём, хоть как хобби, то он возьмёт и будет работать над кодом. как раз наоборот, пытаясь только на платной основе кого-то заинтересовать вы теряете потенциальных разработчиков. хотя бы по тому, что вам мягко говоря будет трудней заинтересовать человека, получающего в час 50$, 100$, 150$,... неоднократно сталкивался, что профессиональные программисты, прилично зарабатывающие участвуют в развитии различных проектов на голом энтузиазме.
задумайтесь, что вы теряете, если откроете код? кому нужно готовое решение, тому действительно может быть единообразно, есть открытый код или нет. а если он посмотрит на данный проект как на чёрный ящик с непонятным содержимым и неопределённым будущим? тот же cv когда его интел забросило не прекратил развиваться только по причине, что есть исходники и право развивать проект. а что былоб с долгоиграющими проектами, завязаными на cv, еслиб были только готовые библиотеки, но с неопределённым сроком поддержки со стороны разработчика? да, да, да, вот поэтому крупные (нормальные) производители софта и железа объявляют сроки поддержки продукта, заблаговременно предупреждают, что такая-то линейка продуктов больше развиваться не будет и т.д. вы потеряете бренд? ничего подобного. вы потеряете возможность развивать проект и диктовать условия, на которых он будет расспространяться? ничего подобного - всё прописывается в лицензии. вы потеряете возможность нанимать сторонних программистов? опять нет. вы утратите возможность сотрудничества с частными программистами или компаниями, чтоб вместе затачивать код под определённые нужды? опять нет. и кстати платить не обязательно, точнее я лично вообще не понимаю зачем. заинтересованых стороны 2 - вы продаёте право использовать в коммерческих целях, они заработают на продаже готового решения конечным потребителям. или вы считаете, что если откроете код, то он разбредётся по сети и каждый желающий бесплатно будет использовать ваш код в своих проектах? да, будет и такие случаи. но пардон, никто не мешает им взять вашу библиотеку, прикрутить к своему проекту и не заплатить вам ни копейки. выложить на варязник или торрент опять же никто не помешает. закрытый код помешает кому-то стыбрить сверх-уникальный алгоритм? бросьте. нет защиты, подсмотрят быстро и легко. есть защита, всего-лишь немного помучаются. навесите мега-кул "неломаемую" защиту, повозятся ещё чуть дольше. а сделать невозможным использования вашей разработки (не заплатив) вы в общем слчуае в принципе не сделаете. ну нет у вас никакой информации, критически необходимой для работы кода, обновляющейся у вас на сервере и переодически получаемой клиентом. максимум вы можете лишившись части клиентов реализовать запрос на ваш сайт информации о состоянии подписки. опять же вам это ничем не поможет - это обходится реализацией на локалке сайта-заглушки или сервиса, висящем на опр. порте, который скажет "да, даррахой, есть такой клиент, можешь работать". +-нормальное шифрование и защита библиотеки всего-лишь немного уменьшит количество таких отвязок от вашего сайта. и т.д.