LGC Open-Source - June 2025 - APC/OSPO
Attendees: P. Elson, F. Klumb, J. Gutekunst, G.Kautzmann, D.Wassmer
Licensing
Authority
- Final licensing decisions rest with the Group Leader.
Tooling
- A CERN license assessment tool has been available since mid-April.
Current Decision
-
Preferred license at CERN: Apache 2.0
-
Initial license: GPLv3 for LGC and SurveyLib due to external dependencies
-
Transition to Apache 2.0 may be considered in the future, depending on compatibility and community growth.
Contribution Legal Framework
-
A DCO (Developer Certificate of Origin) or CLA (Contributor License Agreement) will be drafted to govern contributions.
-
The DCO/CLA will explicitly allow license changes with contributor agreement.
Open Points
-
OSPO to confirm compatibility of GPLv3, Apache 2.0, and MPL2.
-
Clarify licensing constraints for SurveyPad and CSGeo DLL (e.g., disable transformation functionality in distributed versions).
Actions
-
Apply GPLv3 to LGC and SurveyLib as the starting point (APC)
-
Draft DCO/CLA with license transition clause (OSPO/APC)
-
Organize a license alignment meeting with Swisstopo and OSPO (OSPO/APC)
SBOM (Software Bill of Materials)
April Status
- SBOM recommended, especially for flagship components like LGC and SurveyPad (can be CMake-integrated).
June Update
-
Deprioritized for now.
-
Contact Brice Copy if/when needed.
Actions
-
Postpone SBOM generation for LGC
-
Reassess SBOM strategy in future
REUSE Compliance
April
- LGC needs machine-readable copyright headers.
June
-
SurveyLib already partially REUSE-compliant.
-
REUSE integration should be automated in the pipeline.
Actions
-
Finalize REUSE compliance for LGC and SurveyLib (APC)
-
Integrate REUSE checks into GitLab CI/CD (APC)
-
Review REUSE implementation with OSPO (APC/OSPO)
GitHub vs GitLab Strategy
Development Location
-
GitHub will be the primary development platform for visibility, contribution flow, and collaboration.
-
GitLab will remain the authoritative internal mirror, hosting CI/CD pipelines, sensitive internal integrations, and housekeeping.
CI/CD Strategy
-
CI/CD will continue to run exclusively on GitLab.
-
GitHub contributors will not see pipeline results but can submit pull requests.
-
CI/CD jobs involving CERN infrastructure will only be triggered by CERN members.
Contribution Flow
-
Contributions go through GitHub via pull requests.
-
CERN maintainers validate and synchronize to GitLab (manual or automated).
-
GitLab remains the source of truth for CI/CD, tagging, and releases.
Access Control
-
External contributors cannot access GitLab CI/CD.
-
CERN contributors can be manually added to GitLab projects if needed.
Open Points
-
Validate GitHub → GitLab sync strategy
-
Lightweight contributor access to GitLab remains to be clarified
-
Define contributor roles and automation logic
Actions
-
Test GitHub ↔ GitLab sync on a test project (e.g., LGCGateway) (APC)
-
Confirm contributor permissions and access behavior (APC)
-
Add "How to Contribute" section in each repo (APC + OSPO)
-
Review CI/CD trigger restrictions and document contributor rules (APC/OSPO)
GitHub Organization Structure
Main Organization
-
Central GitHub organization (name TBD) to host key repositories:
LGC,SurveyLib,SurveyPad,SuGL
Utility Scripts / Plugins
-
Secondary repositories may contain scripts/utilities shared across projects.
-
Consider using manifests or catalog indexing for discoverability.
Recommendations
-
Avoid CERN GitHub org due to lack of sub-org support.
-
Maintain independent namespace and governance for flexibility.
Actions
-
Create GitHub organization and define structure (APC)
-
Define manifest or cataloging mechanism for shared components (OSPO/APC)
-
Document internal structure and governance (APC)
Documentation Strategy
Tooling
- MkDocs chosen for clarity, simplicity, and web-native formatting.
Rollout Plan
-
Migrate existing Confluence user manual (for versions ≤ v2.8.0).
-
Refactor for v2.9.0 and implement documentation versioning.
(e.g.,/current,/v2.8, etc.)
Hosting
- MkDocs output may be hosted via GitHub Pages or GitLab Pages, depending on the chosen repo structure.
Branding
- Clarify rules for using the CERN logo, name, and associated branding in public repositories.
Actions
-
Migrate 1:1 user manual from Confluence to MkDocs (APC)
-
Rework and modernize documentation for v2.9.0 with versioning (APC)
-
Confirm branding usage policies with OSPO (OSPO)