Международная конференция разработчиков
и пользователей свободного программного обеспечения

Асаблівасці выкарыстання сістэм кантролю версій для падрыхтоўкі навуковых публікацый

Антон Літвіненка, Кіеў, Ukraine

LVEE Winter 2012

Usage of version control systems (VCS) is proposed for overcoming typical issues of scientific publications preparation. The peculiarities of this VCS usage type are discussed. The advantages and disadvantages of centeralized and distributed VCS in respect to scientific publications preparation features are emphasized. Some proposals of exact VCS types, VCS hosting services, front-end programs etc. are given.

Падрыхтоўка навуковых прац да публікацыі з’яўляецца абавязковым этапам навуковага даследавання. Навуковая праца патрабуе арганізаванай супольнай працы ўсіх суаўтараў (для прац у галіне хіміі характэрна актыўнае выкарыстанне супольных даследаванняў між рознымі аддзеламі, арганізацыямі і краінамі, праз што ў падрыхтоўцы працы часта бярэ ўдзел 5—10 суаўтараў). Для дакладных навук тыповым з’яўляецца выкарыстанне вялікай колькасці дадатковых дадзеных: рысункаў, файлаў з лічбавымі формамі апісання спектраў, крысталічных структур, табліц з вынікамі эксперыментаў, файлаў з вынікамі праграмнай апрацоўкі эксперыментальных дадзеных альбо з вынікамі разлікаў і г.д. Мэтазгодным з’яўляецца таксама захоўванне побач калекцый спасылак (напрыклад, базаў BibTeX), некаторых арыгінальных публікацый і г.д. Навуковая праца праходзіць праз вялікую колькасць рэдагаванняў цягам пэўнага часу (ад некалькіх тыдняў да гадоў), некаторыя з якіх могуць радыкальна яе змяняць.

Такім чынам, перад аўтарамі паўстаюць наступныя праблемы:

  1. Неабходна выконваць рэзервовае капіраванне ўсяго працоўнага каталога. З улікам колькасці рэдагаванняў ды аб’ёмаў дадзеных поўная гісторыя публікацыі можа займаць заўважную колькасць месца на дыску.
  2. Рэзервовае капіраванне элементарнымі сродкамі не спрыяе напісанню дакладных каментарыяў наконт сутнасці зробленых зменаў, што робіць складаным пошук па гісторыі рэдагаванняў.
  3. Бязладнасць працэсу абмену дадзенымі, парушэнне аднастайнай сістэмы нумарацыі рэдагаванняў вядзе да рассінхранізацыі гісторыі рэдагаванняў на працоўных ды хатніх камп’ютарах розных суаўтараў — такім чынам, частка гісторыі становіцца недаступнай, а гісторыя ўвогуле — хаатычнай і неарганізаванай.
  4. Змены файлаў з дадатковымі дадзенымі не заўсёды звязаныя са зменамі асноўнага тэксту публікацыі, і адказ на пытанне “якому рэдагаванню аднаго файла адпавядае гэтая версія другога файла” можа быць нетрывіяльным.

Для рашэння аналагічных праблем у галіне распрацоўкі праграмнага забеспячэння актыўна ўжываюцца сістэмы кантролю версій (СКВ, version control systems, VCS). Мэтазгодным падаецца выкарыстаць аналагічны падыход і для падрыхтоўкі навуковых публікацый. Гэта дазваляе не дубляваць інфармацыю (захоўваючы толькі розніцу між версіямі), зрабіць больш арганізаванай гісторыю рэдагаванняў, цэнтралізаваць абмен рэдагаваннямі.

Разам з тым, у задачы падрыхтоўкі публікацыі ёсць некаторыя асаблівасці ў параўнанні з задачай распрацоўкі ПЗ:

  1. Рэдагуюцца пераважна двайковыя дадзеныя (асабліва ў выпадку, калі тэкст публікацыі рыхтуецца ў WYSIWYG-рэдактарах).
  2. Навуковая праца не прадугледжвае сталага развіцця, яна канчаецца апублікаваннем.
  3. Навуковай працы не ўласцівае актыўнае галінаванне, таму большасць магчымасцяў СКВ, звязаных з галінаваннем, не з’яўляюцца істотнымі для гэтай задачы.
  4. Роля часткі суаўтараў часта зводзіцца выключна да “плённай дыскусіі” і выказвання заўваг, актыўна рэдагуюць звычайна ўсяго некалькі людзей.
  5. Навуковая праца мусіць заставацца закрытай да моманту яе апублікавання.

Практычныя спробы рэалізаваць падрыхтоўку навуковае працы да публікацыі былі выкананыя (і выконваюцца цяпер) з выкарыстаннем СКВ SVN і Mercurial (як прыклады цэнтралізаванай і дэцэнтралізаванай СКВ, адпаведна).

Галоўныя перавагі цэнтралізаванай СКВ у працэсе падрыхтоўкі навуковых прац:

  1. Вялікая колькасць двайковых дадзеных схіляе да мадэлі супольнай працы, якая прадугледжвае блакіраванне файлаў (locking) — гэта магчыма толькі ў цэнтралізаванай СКВ.
  2. Мадэль працы СКВ прасцей для разумення неадмыслоўцамі.

Галоўныя перавагі дэцэнтралізаванай СКВ у працэсе падрыхтоўкі навуковых прац:

  1. Незалежнасць ад наяўнасці і якасці канала сувязі.
  2. Большасць аперацый адбываецца лакальна, і, праз тое, хутка.
  3. Наяўнасць Інтэрнэт-сэрвісаў, што надаюць паслугі хостынгу дэцэнтралізаваных СКВ для закрытых прац малых груп суаўтараў бясплатна (напрыклад, bitbucket.org) — для SVN знайсці такія сэрвісы цяжэй.

Асаблівасці задачы цалкам дапускаюць працэс выкарыстання СКВ выключна з дапамогай графічнага інтэрфейсу (напрыклад, RapidSVN, TortoiseSVN, TortoiseHg). Для стварэння бясплатных рэпазіторыяў могуць быць выкарыстаныя сэрвісы bitbucket.org, xp-dev.com і г.д.


TortoiseHg у меню правадніка Windows.


Акно Hg Workbench праграмы TortoiseHg.

Такім чынам, сістэмы кантролю версій, выкарыстанне якіх з’яўляецца тыповым для задач распрацоўкі праграмнага забеспячэння, могуць быць плённа выкарыстаныя для задач падрыхтоўкі навуковых прац да публікацыі, хаця такое выкарыстанне СКВ мае шэраг асаблівасцяў, якія ўплываюць як на выбар СКВ, так і на працэс працы з ёй.

Лицензия Creative Commons
Текст тезисов доступен под лицензией Creative Commons Attribution-ShareAlike 3.0.

Presentation