В мое обильное свободное время я сотрудничаю с рядом ученых (в основном биологов), которые разрабатывают программное обеспечение, базы данных и другие инструменты, связанные с работой, которую они выполняют.
Как правило, эти проекты построены на разовой основе, используются внутри компании, и в конечном итоге кто-то решает: "О, это может быть полезно другим людям", поэтому они выпускают двоичный код или удаляют на него интерфейс PHP и запихивают это в Интернете. Тем не менее, они, как правило, не могут быть обеспокоены тем, чтобы сделать исходный код или дампы их баз данных доступными для других разработчиков, поэтому на практике эти проекты обычно умирают, когда проект, для которого был написан код, подходит к концу или теряет финансирование. Спустя несколько месяцев (или лет), в какой-то другой лаборатории есть потребность в том же инструменте, им приходится повторять работу, которую сделала первая лаборатория, этот проект в конце концов умирает, намывается, полоскается, повторяется.
Есть ли у кого-нибудь какие-либо предложения о том, как убедить людей, чья основная работа не заключается в программировании, чтобы она помогала их сообществу, чтобы они были более открытыми с помощью инструментов, которые они построили?
Точно так же любые советы о том, как сообщить идею о том, что контроль версий, отслеживание ошибок, рефакторинг, автоматические тесты, непрерывная интеграция и другие распространенные практики, которые мы, профессиональные разработчики, считаем само собой разумеющимися, - это хорошие идеи, на которые стоит потратить время?
К сожалению, многие ученые, похоже, придерживаются мнения, что программирование - это скучное, необходимое для работы зло, и что их исследования гораздо важнее, не понимая, что в наши дни разработка программного обеспечения является частью научных исследований, и если сообщество в целом должно было поднять планку стандартов развития, всем это принесло бы пользу.
Вы когда-нибудь были в такой ситуации? Что сработало для вас?