Unknown Struggles of Open Source Software Developers Contributing to Science


by

Wavebreakmedia

The appearance of the black hole was publicized and became a topic in April 2019, but the achievement that remains in this scientific history was achieved using the Python graph drawing library Matplotlib created by open source. Thus, although it is an open source software that is indispensable for scientific research using PCs now, the science writer Anna Nowogrodzki has put together a number of problems that developers face and how to solve them.

How to support open-source software and stay sane
https://www.nature.com/articles/d41586-019-02046-0

◆ Problems seen from the user side
Although open source software used for research is often written by scientists themselves, scientists are not experts in software development, so they often do not have the best practices for code documentation and testing. However, software that is not well-maintained is not conducive to research, but it can also waste the time and effort of scientists.

'Biologists struggle every day with codes written by other researchers,' said Adam Cipepel, a computational biologist who works at the Cold Spring Harbor Laboratory in New York. Some tools are likely to run and crash immediately, not be compiled well, and there are no supported websites ', says the effort.


by

Rawpixel

'Still, open source software is still a science,' said Wolfgang Harbor of the European Molecular Biology Institute. If you release open source software, it is essential to have support tasks and FAQs in preparation. Is not an easy thing, but I enjoy it. '

◆ Past from the developer's point of view
For software developers, the release of open source software is not a goal but a beginning of distress. Some people even hire dedicated engineers, but most of the work on open source software is covered by free volunteers. Mr. Sieppel has created a software called PHAST that brings together a useful program for genome research, but because PHAST's technical support is done by himself, he often takes to midnight.


by

dolgachov

While careful coding and support can be a lot of work, Mr. Andres Muller, who works on machine learning research at Columbia University, said, “It is essential to good software engineering practices and documentation for long-lived software. 'I'm talking.' Müller places particular emphasis on continuous integration using TravisCI etc. and version control as represented by Git .

Continuous integration is a development approach where developers periodically merge their code into the repository . Adopting this method will automatically build and test each time you commit, making it easier to find bugs.

Also, with version control, it is possible to revert to the previous version as appropriate, for example, if a fatal bug is found in the latest version. 'It's 100% time-saving by adopting continuous integration and version control,' said Muller.


by David Wagner

'We recommend that you emphasize code readability over software performance,' said Nelle Varoquaux, who studies computational biology at the University of California at Berkeley. Because, when developing software, it is inevitable that bugs will occur, so it is more important than anything to make it easier to find out if something goes wrong.

Mr. Harbor also advises that 'the best way to interact with users is with a forum-style knowledge community like Stack Overflow , not email.' This is because questions and answers are widely published, and they play the role of FAQ. Also, the fact that the question text is widely visible means 'prompts that you are a thoughtful questioner'.

Developing open source software requires a lot of money, time, and effort, and often comes with a lot of hardship. Still, it's worth the effort, Nowogrodzki says. In the field of open source software development, it is often the case that programmers can find subtle mistakes and refinements that scientists can notice, even though they can not notice.

Mr. Nowogrodzki says, “With the development of experts in that path, software becomes more valuable,” and the efforts of scientists who are working on open source software contribute to the development of science. I once again emphasized that there are

in Software,   Science, Posted by log1l_ks