Oprogramowanie stało się fundamentalnym elementem współczesnych badań naukowych. Naukowcy często tworzą własne rozwiązania do analizy i wizualizacji danych, jednak ich podejście do dokumentacji, wersjonowania i udostępniania kodu bywa niesystematyczne. Plany Zarządzania Oprogramowaniem (ang. Software Management Plans, SMPs) powstały jako odpowiedź na potrzebę uporządkowania tego procesu.

Plan Zarządzania Oprogramowaniem zawiera ogólne i techniczne informacje na temat wykorzystywanego oraz tworzonego oprogramowania. Mogą one dotyczyć zapewnienia jakości, wydania i publicznej dostępności, czy też kwestii prawnych i etycznych wpływających na rozwijane oprogramowanie. SMP zestawia i podsumowuje wszystko to, co dotyczy tworzenia, dokumentowania, przechowywania, wersjonowania, licencjonowania, archiwizowania, a ostatecznie publikowania oprogramowania stworzonego lub używanego w projekcie. Należy również opisać tutaj związany z tymi procesami sprzęt i inne niezbędne zasoby, w tym powiązane aplikacje i biblioteki programistyczne, publikacje tekstowe oraz wszelkie inne dane.

Monitorując aspekty związane z oprogramowaniem, SMP ma na celu wydłużenie okresu jego przydatności (zarówno do bezpośredniego zastosowania, jak i dalszego przetwarzania), jednocześnie ułatwiając wsparcie użytkownika i służąc zapewnieniu jakości.

Co powinien zawierać SMP:
  • informacje ogólne i techniczne o projekcie,
  • zasady zapewnienia jakości kodu,
  • strategię publikacji i dostępności,
  • aspekty prawne i etyczne,
  • plany długoterminowego przechowywania,
  • powiązania z innymi zasobami cyfrowymi.
Dostępne platformy i szablony:
 

Dostęp: https://dmponline.dcc.ac.uk/

  • najstarszy i najbardziej podstawowy szablon
  • koncentracja na przyszłym wykorzystaniu kodu
  • 38 kluczowych pytań
 

Dostęp: https://ds-wizard.org/

  • zaawansowane wsparcie dla zasad FAIR
  • wykorzystanie kontrolowanych słowników
  • zorientowanie na nauki przyrodnicze
 

Dostęp: https://dmp.opidor.fr/

  • najbardziej rozbudowany szablon (98 pytań)
  • szczegółowe metadane
  • kompleksowe podejście do zarządzania
 

Dostęp: https://rdmorganiser.github.io/

  • dedykowany naukowcom-programistom
  • praktyczne podejście do dokumentacji
  • zintegrowany z RDMO
 

Dostęp: https://ug.zib.de/doc/html/index.php

  • zorientowany na rozwój oprogramowania
  • silny nacisk na dokumentację
  • integracja z GitLab/Wiki

 

Aspekty techniczne i standardy:
 

Powstały jako rozwinięcie pierwotnych zasad FAIR (Findable, Accessible, Interoperable, Reusable), specjalnie dostosowane do unikalnych wymagań oprogramowania naukowego. W przeciwieństwie do statycznych danych badawczych, oprogramowanie jest dynamiczne - ewoluuje w czasie, wymaga aktualizacji i ma złożone zależności od innych komponentów.

Zasady te gwarantują, że oprogramowanie naukowe będzie możliwe do odnalezienia przez innych badaczy, dostępne poprzez standardowe protokoły, mogące współpracować z innymi narzędziami oraz nadające się do ponownego wykorzystania. Przykładowo, oprogramowanie powinno posiadać unikalny identyfikator (np. DOI), być opatrzone bogatymi metadanymi opisowymi oraz mieć jasno określone warunki licencyjne i dokumentację techniczną.

 

W świecie oprogramowania naukowego funkcjonują dwa główne standardy metadanych:

  • Bioschemas
  • CodeMeta

Bioschemas został zaprojektowany z myślą o naukach przyrodniczych i oferuje rozbudowany system opisu narzędzi obliczeniowych. Pozwala na szczegółowe opisanie funkcjonalności, wymagań technicznych oraz powiązań z innymi zasobami.

CodeMeta z kolei reprezentuje bardziej minimalistyczne podejście, skupiając się na podstawowych informacjach o kodzie źródłowym. Oba standardy bazują na Schema.org i umożliwiają integrację z szerszym ekosystemem naukowym. Dzięki tym standardom, oprogramowanie może być łatwiej odkrywane przez wyszukiwarki i systemy katalogowe.

 

Machine-actionable SMPs (maSMPs) to kolejny krok w ewolucji planów zarządzania oprogramowaniem. Ich głównym celem jest umożliwienie automatycznego przetwarzania informacji zawartych w SMP przez różne systemy informatyczne.

Przykładowo, dobrze skonstruowany maSMP może automatycznie generować dokumentację techniczną na podstawie kodu i metadanych, monitorować zgodność z przyjętymi standardami i dobrymi praktykami, śledzić zależności między różnymi wersjami oprogramowania czy też integrować się z systemami kontroli wersji i repozytoriami kodu.

 

Skuteczne zarządzanie oprogramowaniem naukowym wymaga sprawnej komunikacji między różnymi systemami i narzędziami. Dlatego tak ważne jest stosowanie standardowych protokołów komunikacji i formatów danych.

W praktyce oznacza to wykorzystanie:

  • interfejsów API opartych o REST,
  • standardowych formatów jak JSON czy XML do wymiany danych,
  • wspólnych schematów metadanych,
  • ustandaryzowanych identyfikatorów zasobów.

Systemy te muszą również współpracować z szerszą infrastrukturą badawczą, w tym z repozytoriami instytucjonalnymi i platformami publikacyjnymi. Szczególnie istotna jest integracja z systemami zarządzania danymi badawczymi, ponieważ oprogramowanie często stanowi kluczowy element w procesie przetwarzania i analizy danych.

 

Perspektywa rozwoju

Choć obecnie żadna agencja finansująca nie wymaga formalnie SMP, obserwujemy rosnące zainteresowanie tą koncepcją. Przykładowo, Fundacja Volkswagena już uwzględnia aspekty zarządzania oprogramowaniem w swojej polityce Open Science, a inne instytucje prawdopodobnie podążą tą drogą.


Tekst powstał na podstawie: Grossmann, Y.V., Lanza, G., Biernacka, K., Hasler, T. and Helbig, K. (2024) Software Management Plans – Current Concepts, Tools, and Application. Data Science Journal, 23:43, 1-16. DOI: https://doi.org/10.5334/dsj-2024-043.