Корзина (0)
В корзине пусто!
Как повысить эффективность разработки открытого программного обеспечения для науки

Как повысить эффективность разработки открытого программного обеспечения для науки

251
0
8 Июля, 2019


Создание программного обеспечения с открытым доступом часто создает проблем. Это и недостаточное финансирование, и отсутствие грамотных специалистов и доступных инструментов для обмена готовыми продуктами. Мнение о возможных способах преодоления этих препятствий высказали учёные на страницах Nature. 

В начале апреля астрофизикам удалось получить первое в истории изображение черной дыры. Эта новость стала главной, однако ни один журнал не упомянул об инструменте, который позволил получить такой результат. Изображение создали с помощью библиотеки для построения графиков Matplotlib от Python, а также других компонентов экосистемы Python с открытым исходным кодом. Спустя всего пять дней Национальный научный фонд (NSF) США отклонил заявку на получение гранта для экосистемы и обосновал это недостаточной потребностью и влиянием. 

Программное обеспечение (ПО) с открытым доступом признано важным в науке, однако финансируется очень слабо. Учёные, которые занимаются разработкой таких продуктов, часто не имеют специальной подготовки и возможности ознакомиться с лучшими практиками для документирования и тестирования кода. Это приводит к трудностям в получении результата при работе, трате ресурсов и снижению воспроизводимости программ. Биологи, которые используют вычислительные инструменты в своей практике, вынуждены тратить долгие часы на запуск кода других исследователей. Они пытаются отыскать исходные данные, но не могут найти их в интернете, выходят на нерабочую ссылку или сбой. 

Вольфганг Хубер(Wolfgang Huber), вычислительный биолог в Европейской лаборатории молекулярной биологии в Гейдельберге в Германии говорит, что исследователям надо сразу готовиться к постоянной поддержке своего продукта, а также вопросам, которые могут появиться у других учёных при работе с ним. Некоторые программы нуждаются в постоянном мониторинге, в то время как другие могут использоваться без перебоев в течение долгих лет. Поэтому разработчикам нужно отслеживать момент прекращения поддержки программного обеспечения, чтобы вовремя отключить его, когда оно достигло пика своей полезности. 

Независимо от того, как долго инструмент продолжит работать, необходимо обеспечить хорошие методы разработки и документации. К ним относятся системы непрерывной интеграции, такие как TravisCI, контроль версий — Git и модульное тестирование. Непрерывная интеграция необходима для напоминания пользователю во время изменения кода о том, работает программа или учёный вносит неправильные данные. Контроль версий — это система записи исходного кода, которая позволит вернуться к предыдущей версии при необходимости. А модульное тестирование проверяет каждый отдельный компонент программного обеспечения на работоспособность. Все три программы помогут сэкономить большое количество времени. 

Для облегчения обслуживания учёные рекомендуют уделить особое внимание удобочитаемости кода. Лучше сделать его более документированным и протестировать, чтобы легко и быстро исправить ошибку при необходимости. А вот мониторить эти недочёты лучше на общественных форумах вместо личных сообщений по почте. В сайтах пользователи делятся своими впечатления в неформальной форме и подробнее рассказывают об ошибках. Форумы обеспечат охват большей аудитории и позволят избежать повторений. 

Сохранить биомедицинское программное обеспечение помогут репозитории, такие как Comprehensive R Archive Network (CRAN) или Bioconductor. Их организация схожа по руководящим принципам с научными журналами, а непрерывная интеграция, тестирование, а также простые установщики входят в обслуживание. 

Повысить квалификацию разработчика могут волонтерские организации Software Carpentry и eScience Institute при Университете Вашингтона в Сиэтле, которые проводят учебные лагеря по разработке программного обеспечения и выкладывают учебные пособия на GitHub. В Амстердаме Нидерландский центр eScience предоставляет исследователям руководство по передовой практике разработки программного обеспечения. 

Основной проблемой развития индустрии открытого ПО исследователи выделяют низкое финансирование, однако в последнее время этой проблеме уделяется всё большее внимание. Проекты по обслуживанию программного обеспечения с открытым исходным кодом часто не соответствуют требованиям грантов Национального института здравоохранения (NIH) и Национального научного фонда в США. Но есть и другие финансовые потоки. Гранты предоставляют Отдел биологической инфраструктуры NSF, Национальный исследовательский институт генома человека NIH и Национальный институт рака, а также совместная программа Научно-исследовательского совета по биотехнологиям и биологическим наукам Великобритании и NSF. Поддержкой разработки открытого программного обеспечения занимаются и частные фонды: фонд Гордона и Бетти Мур, фонд Альфреда Слоуна и фонд Чан-Цукерберг. 

В Эдинбургском университете проводят бесплатные онлайн оценки устойчивости программного обеспечения, а также предоставляют стипендии в размере 3 000 фунтов стерлингов (около 3 800 долларов США) для исследователей и их коллег, которые работают в Великобритании. Также на базе университета можно проконсультироваться с экспертами в течение шести месяцев по вопросам разработки ПО и/или исправления ошибок. А в Германии за финансированием можно обратиться в Европейскую комиссию или инициативу deNBI Министерства Германии, которые обеспечивают Bioconductor. 

Написание открытого программного обеспечения, которое работает не только для одного пользователя, но и станет полезным для других, отнимает много усилий и ресурсов. Несмотря на видимые сложности, исследователи продолжают работу в этой области и часто успешно. К примеру, биологам из Калифорнийского университета удалось получить 138 000 долларов от фонда Альфреда Слоуна и фонда Форда. А в мае благотворительная организация Чан-Цукерберг объявила о запросе на три проекта по биомедицинскому программному обеспечению с открытым исходным кодом. Проблема финансирования обсуждается также на страницах ведущих научных журналов. 

Источник: How to support open-source software and stay sane 
By Anna Nowogrodzki 
Published 01 Juli 2019 in Nature 571, 133-134 (2019) 
doi: 10.1038/d41586-019-02046-0

Ваш комментарий будет первым

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, пользовательских данных (сведения о местоположении; тип и версия ОС; тип и версия Браузера; тип устройства и разрешение его экрана; источник откуда пришел на сайт пользователь; с какого сайта или по какой рекламе; язык ОС и Браузера; какие страницы открывает и на какие кнопки нажимает пользователь; ip-адрес) в целях функционирования сайта, проведения ретаргетинга и проведения статистических исследований и обзоров. Если вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.

x