Lobsters

How to get a DOI for your blog posts

블로그 글에 DOI를 부여하는 방법 — Rogue Scholar로 학술 인용 가능한 블로그 만들기

학계가 논문을 인용할 때 쓰는 영구 식별자 DOI를 개인 블로그 글에도 무료로 붙이는 방법을 다룹니다. 과학 블로그용 오픈 액세스 아카이브 Rogue Scholar에 피드를 등록하면 새 글이 발행될 때마다 자동으로 DOI가 발급되며, 도메인 이전이나 사이트 개편에도 인용 링크가 살아남습니다. 다만 중앙화된 게이트키퍼에 의존한다는 구조적 한계와 CC BY 라이선스 강제 등의 주의점도 함께 짚습니다.

본문

개인 블로그 글이 학술 논문이나 책에 인용될 때 가장 큰 문제는 URL이 깨진다는 점입니다. 저자 Terence Eden은 자신의 블로그 글이 논문, 서적, 콘퍼런스, 뉴스 기사에 꾸준히 인용되어 왔는데, 학계의 표준 인용 방식은 URL이 아니라 DOI(Digital Object Identifier)라고 설명합니다. DOI는 특정 문서를 가리키는 고유하고 영속적인 코드로, 도메인을 바꾸거나 사이트 구조를 재정비해도 리다이렉트만 갱신하면 미래의 연구자가 원문을 따라갈 수 있습니다. 그는 앞서 블로그에 ISSN(International Standard Serial Number)과 ORCiD를 받은 경험도 소개합니다.

Rogue Scholar에 등록해 자동으로 DOI 받기

학술 기관 소속이라면 기관이 구독하는 서비스가 DOI를 발급해 주고, arXiv에 올려도 DOI가 생기지만, 비학계인이 자기 사이트에 글을 유지하면서 DOI를 얻는 길은 대부분 비싼 유료 서비스뿐이었습니다. 대안은 Rogue-Scholar.org로, 과학 블로그 글을 보존하고 DOI로 인용 가능하게 만들어 주는 오픈 액세스 아카이브이자 레지스트리입니다. 조건은 두 가지입니다. 전문을 담은 피드(full-text feed)가 있어야 하고, 콘텐츠를 Creative Commons Attribution(CC BY)으로 라이선스해야 합니다. 저자는 신청 폼을 작성하고 Slack에서 승인 조건을 논의한 뒤 며칠 만에 rogue-scholar.org/communities/shkspr/에 커뮤니티 페이지를 얻었고, 이후 Rogue Scholar가 피드를 주기적으로 폴링해 새 글마다 자동으로 DOI를 발급합니다. 실험 결과 새 글 발행 후 몇 분이면 DOI가 나왔습니다.

과거 글 처리, API 조회, 버전 DOI

기본적으로 Rogue Scholar는 피드에서 가장 최근에 갱신된 글 40개를 수집합니다. 최근 수정한 오래된 글도 '최근 갱신'에 포함되어 DOI를 받았습니다. 오래된 글을 일괄 등록하는 쉬운 방법은 아직 없어 저자는 소급 적용용 WordPress 플러그인을 만들고 있다고 합니다. 발급된 DOI는 InvenioRDM 기반 API로 조회할 수 있으며, 글 URL을 URL 인코딩해 rogue-scholar.org/api/records?q=metadata.identifiers.identifier:"..." 형태로 무인증 요청하면 JSON이 반환되고 hits→hits→0→links→doi 경로에서 DOI를 찾을 수 있습니다. 주목할 점은 글 하나당 DOI가 두 개 생긴다는 것입니다. 글 전체용 하나와 특정 버전용 하나이며, 글을 수정하면 새 버전 DOI가 발급되어 수정 전 버전을 정확히 인용할 수 있습니다. 블로그 전체를 가리키는 vanity DOI(저자의 경우 10.59350/shkspr)도 존재합니다.

자가 발급과 HTML 메타데이터 표기

블로그가 스스로 DOI를 생성해 Atom 피드의 <id> 항목에 https://doi.org/10.59350/... 형태로 넣으면, Rogue Scholar가 이를 감지해 대신 등록해 줍니다. 유효한 DOI 생성 절차는 0에서 1,099,511,627,775 사이의 난수를 만들고 Base32 문자열로 변환한 뒤 두 자리 체크섬을 붙이고 10.59350/ 접두사를 다는 것입니다. HTML 메타데이터로는 Zotero 기준 <meta name=citation_doi content=...>를 <head>에 넣는 방식이 표준이며, Dublin Core 방식으로는 <meta name=DC.Identifier content=doi:...>를 AltMetric이 권장합니다. 본문 안에는 Schema.org의 sameAs 속성을 이용해 <a itemprop="sameAs" href="https://doi.org/...">로 표기할 수 있습니다.

알아둘 한계와 우려

DOI는 다수 기관이 발급하지만 전역 고유성을 위해 doi.org라는 중앙 게이트키퍼에 의존하므로, IndieWeb 진영의 탈중앙화 이상과는 거리가 있습니다. doi.org가 망하거나 악의적으로 변하면 모든 링크가 죽고, Rogue Scholar가 해킹당하면 DOI가 불량 사이트로 리다이렉트될 수도 있습니다. 아카이빙된 HTML/PDF에는 CSS 레이아웃이 사라지고, 콘텐츠의 해시나 암호학적 서명이 없어 아카이브의 정확성을 검증할 방법도 없습니다. Google Scholar 알림은 doi.org 링크 인용을 잡아주지 않으며, 인용 추적은 Rogue Scholar의 Citation Tracking에 의존해야 합니다. 메타데이터상 출판사는 Rogue Scholar의 모기업인 Front Matter로 표시되어 인용 관리자마다 출처 표기가 달라집니다. 라이선스는 CC BY만 허용되어 저자가 선호하는 CC BY-SA는 본 사이트에만 유지됩니다. 특정 글을 제외하려면 피드에서 걸러야 하고(WordPress에서는 /feed/atom/?cat=-1234 같은 방법), 한번 등록된 콘텐츠는 삭제나 철회가 불가능해 실수로 발행한 글도 아카이브에 영구히 남습니다. 저자는 모든 글에 DOI를 부여하는 게 다소 과해 보이지만 DOI 공간이 고갈되는 것도 아니고, 학술 블로그가 제대로 인용되는 것이 중요하다고 결론 내립니다.

Lobsters 반응

  • @mro — Terence의 글은 읽는 재미가 있지만, DOI가 멋진 URI로 해결되지 않는 무엇을 해주는 걸까요? (W3C의 'Cool URIs don't change' 문서 링크와 함께, 영구 식별자 대신 변하지 않는 URI 설계로 충분하지 않느냐는 반문)

원문: Terence Eden's Blog / 번역·요약: Trawling