본문으로 건너뛰기
cccskills
무료GitHub에 공개

rseng-licensing

Covers how to license research software: copyright and public-domain basics, choosing between permissive, copyleft, and Creative Commons licenses, basic compatibility with dependency licenses, and adding a LICENSE file or per-file SPDX/REUSE metadata. Use when the user asks which open source license to pick, how to add a LICENSE file, what MIT vs GPL vs Apache means, whether two licenses are compatible, how to license documentation or data alongside code, or mentions REUSE, SPDX, CC0, or public domain. Also use PROACTIVELY when a repository has no LICENSE file - an unlicensed repository legally blocks all reuse. (Full dependency-tree audits, SPDX expressions, dual licensing and CI license enforcement are rseng-license-compliance.)

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

fdiblen/rseng-agent-skills스타 24(GitHub 24 + cccskills 0)

실행 점수 미검증

설치 방법 보기

포함된 파일(2)

  • SKILL.md8.3 KB
  • references.md507 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Licensing research software

Use this skill when someone is choosing a license for research software, adding a LICENSE file, reconciling the licenses of dependencies, or deciding how to cover documentation and data that ship with code. Without a license, others have no legal right to reuse the work, even when the author intended them to - so a clear, accessible license is what makes the "R" (reusability) in FAIR real.

Ground the discussion: copyright vs license

Before recommending anything, make these distinctions explicit:

  • Copyright exists automatically from the moment a work is created; it does not need to be asserted. It gives only the creator the right to reproduce and use the work.
  • A license is the document that grants others permission to use, modify, extend, or redistribute the work, and states the conditions. It needs no signature - a user cannot both rely on the license and deny its terms.
  • "No license" is not the same as "public domain". No license means nobody may legally reuse the work; public domain (or a dedication like CC0 or the Unlicense) means everybody may.
  • Small contributions may not be copyrightable at all.

Always check ownership before advising a license:

  • Employees usually do not own IP created during employment - the employer does. Confirm whether permission from the institution is required.
  • Watch for third-party rights baked into the work.
  • Grant conditions may already mandate open release; if so, that usually removes the need for extra institutional permission. Flag this rather than assume.

Pick a license by what it must permit and require

Recommend an existing OSI-approved license; never draft or edit one unless the user is a copyright lawyer. Remember that once granted, a license's permissions cannot be revoked.

Decision drivers to ask about:

  • What licenses do the dependencies carry, and what do they oblige? A copyleft dependency can force the whole combined work to be copyleft.
  • Should anyone who modifies and redistributes be required to release their changes' source? If yes, lean copyleft; if no, lean permissive.
  • Is maximum, frictionless reuse the priority - even inside closed, commercial products? Lean permissive.
  • Does the research community have a conventional default license? Match it unless there is a reason not to.

Permissive licenses

Minimal restrictions: redistributors must keep the license text and a copyright notice. Permissively licensed code can be folded into closed source products.

  • MIT, BSD (several variants): short, simple, allow copy/modify/merge/ sublicense/sell.
  • Apache 2.0: similar, plus an explicit patent grant - contributors license their relevant patents to users free of charge.

Copyleft licenses

Require derivatives, copies, and redistributions to be released under a compatible copyleft license. This keeps downstream products open but can block combination with code whose terms are incompatible.

  • GPL: strong copyleft; a whole derivative work, including an application that links a GPL library, must be GPL with source provided. Long and hard for non-lawyers to parse.
  • LGPL: lets proprietary software use/link the component without the whole application becoming copyleft. Dynamic linking keeps proprietary code proprietary; static linking obliges LGPL terms or a way to re-link.
  • AGPL: closes the "software as a network service" gap - operators of AGPL web applications must offer users the source, even though users never receive a copy locally.

Creative Commons - for non-code artifacts

Code licenses do not fit documentation, datasets, drawings, logos, music, or maps. Use Creative Commons for those. The baseline rights combine into six licenses:

  • BY (Attribution) - required in all CC licenses; credit the creator.
  • SA (Share-Alike) - derivatives must use a compatible CC license (copyleft- like).
  • NC (Non-Commercial) - non-commercial use only.
  • ND (No Derivatives) - no redistribution of modified versions.

The six: CC BY, CC BY-SA, CC BY-NC, CC BY-NC-SA, CC BY-ND, CC BY-NC-ND. For a public-domain dedication of non-code work, use CC0. Note that NC and ND variants are not "open" in the open source sense - flag this when a user wants their work broadly reusable.

Check license compatibility

When code combines multiple sources, compatibility is the trap:

  • Incompatible terms between a copyleft license and another license can legally prevent combining the two codebases.
  • Combining copyleft code generally forces the entire combined work under that copyleft license - confirm the user is willing to accept that before they add such a dependency.
  • Audit every dependency's obligations before settling on the project's own license, not after.

Add the license to the repository

Once chosen, apply it concretely:

  • Put the full license text in a file named LICENSE (LICENSE.txt or LICENSE.md are also accepted) in the repository root.
  • On GitHub, use the built-in "Add a license" flow, which drops in the exact text. Otherwise create the file and paste the canonical text yourself.
  • A single project-wide license is recommended for small-to-moderate codebases. Only split licenses across parts of a large codebase when there is a real need.
<!-- REUSE-IgnoreStart -->
  • To license per file (mixed licenses, or fine-grained provenance), adopt REUSE: add a short SPDX identifier header to each file (SPDX-License-Identifier: MIT) so licensing is machine-readable and every file is unambiguously covered. Use SPDX identifiers whenever a tool or metadata field asks for the license.
<!-- REUSE-IgnoreEnd -->
  • For software that also ships data or documentation, consider a LICENSE that specifies distinct terms for software, content, and metadata (for example code under an OSI license, docs under CC BY).

Agent checklist

When helping with a licensing task, work through this order:

  1. Confirm ownership and any funder/employer constraints.
  2. Inventory dependency licenses and their obligations.
  3. Choose permissive vs copyleft from the user's reuse goals, then a specific license; use Creative Commons for non-code artifacts.
  4. Add a root LICENSE file with the canonical text (GitHub flow or manual).
  5. If per-file clarity is needed, add SPDX headers via REUSE.
  6. Record the SPDX identifier in package metadata (for example pyproject.toml, DESCRIPTION, package.json).

Working with this skill

The generated references.md beside this file lists the source material and pointers:

  • references.md - verified Learn more pointers

Compliance engineering - dependency license audits, compatibility analysis, dual licensing, SPDX expressions and REUSE verification - is rseng-license-compliance; this skill covers choosing and applying a license.

Learn more (verified):

<!-- related-skills:begin -->

Related skills

Check whether any of these applies before moving on:

  • rseng-citation-metadata - SPDX id in metadata files
  • rseng-data-management - licensing datasets alongside code
  • rseng-fair-ml - licensing model weights
  • rseng-fair-software - license implements reusability
  • rseng-license-compliance - dependency audits and enforcement
  • rseng-open-source-migration - licensing freed code
<!-- related-skills:end -->

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Covers operating AI coding agents securely: auditing whether the agent runs sandboxed, permission and dangerous-command configuration, containerized environments, secrets kept out of context, network egress and token privileges, prompt-injection risk, and the privacy of agent use itself. Use PROACTIVELY when permission gating is broadly disabled (skip-permissions modes), when secrets are visible to the agent's shell, or when the agent processes untrusted code, issues or web content; when a project holds personal or confidential data while a cloud agent is active (what leaves the machine, retention, training use), or when the user asks how to run coding agents safely or privately. (Supply-chain security: rseng-security; disclosing agent contributions: rseng-ai-declaration.)

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

fdiblen/rseng-agent-skills242026년 9월 23일 업데이트

Covers declaring AI involvement with the AI Declaration Format (https://ai-declaration.org): creating and maintaining an aidecl.yaml that records which AI tools and agents were used, what each contributed, when and how much, plus the README disclosure footnote, JSON/JSON-LD export and CI validation. Machine-readable disclosure is the practice; this format is one implementation. Use PROACTIVELY when an AI assistant or agent creates or modifies a project's content - generate aidecl.yaml if missing, update it after AI-assisted changes. Also use when the user asks about AI transparency, provenance, disclosure or EU AI Act disclosure, wants to state that NO AI was used, or mentions aidecl. For concealment requests see rseng-honesty; for the human review duty see rseng-human-verification.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

fdiblen/rseng-agent-skills242026년 9월 23일 업데이트

Covers long-term archiving of research software and data: Software Heritage save requests and SWHID persistent identifiers, Zenodo deposits with versioned DOIs and forge integration, choosing domain and institutional repositories, deciding what to archive (code, data, environments, documentation) and when, and archiving at project retirement. Use when the user wants software or data preserved beyond the life of a forge account, grant or lab, mentions Software Heritage, SWHIDs, Zenodo deposits or archiving, retires or hands over a project, prepares artifacts that must stay resolvable for a paper, or when funder policy requires long-term preservation. (Cutting the release itself is rseng-publishing-releasing; day-to-day data storage and repository choice is rseng-data-management.)

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

fdiblen/rseng-agent-skills242026년 9월 23일 업데이트

Covers processing research data that outgrows one machine's memory: out-of-core and chunked computation, Dask for scaling the scientific Python stack, Spark for distributed tabular pipelines, lazy evaluation, partitioning strategies, idempotent and restartable batch jobs, and knowing when NOT to distribute. Use when datasets no longer fit in memory, when the user mentions Dask, Spark, out-of-core or larger-than-memory data, when a pandas/NumPy workflow hits memory limits, or when designing batch pipelines over many files. (Cluster job submission and job arrays are rseng-hpc-computing; pipeline orchestration engines are rseng-workflows; profile first with rseng-performance-profiling.)

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

fdiblen/rseng-agent-skills242026년 9월 23일 업데이트

Covers continuous integration and delivery for research software: CI/CD concepts, automating builds and tests with GitHub Actions and GitLab CI/CD, and wiring an organization's GitLab CI infrastructure to a GitHub-hosted project. Use when the user asks to set up CI, write a pipeline or workflow file (.github/workflows, .gitlab-ci.yml), add automated builds/tests on push or pull request, publish a package or deploy docs when a tag or release is cut, cache dependencies to speed up CI runs, choose between GitHub Actions and GitLab CI, use self-hosted or GPU runners, mirror a repo, or report external CI status back to GitHub. For what to test and shrinking a test matrix see rseng-testing; for linter and pre-commit policy see rseng-code-quality.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

fdiblen/rseng-agent-skills242026년 9월 23일 업데이트

Covers verifying that every citation is real, correct and current: checking references in manuscripts, READMEs, references files and code metadata against Crossref and OpenAlex, screening cited DOIs against the Retraction Watch database, catching fabricated or mis-attributed citations (a documented AI failure mode), and keeping bibliographies and CITATION.cff files resolvable. Use PROACTIVELY before any bibliography, reference list or citation metadata is finalized or published, whenever the agent itself has produced citations, and when the user asks to check references, mentions broken DOIs, retracted papers or citation verification, or prepares a manuscript, README or software paper with references. (Making your own software citable is rseng-citation-metadata.)

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

fdiblen/rseng-agent-skills242026년 9월 23일 업데이트

fdiblen의 스킬 모두 보기

이 스킬의 문제 신고