OSS: Difference between revisions

From Training Material
Jump to navigation Jump to search
Created page with "{{Draft}} Category:private ;title: OSS Training Course ;author: Lukasz Sokolowski == OSS == OSS Training Materials {{Can I use your material}} == Introduction == * Code management, versioning, and licensing * Automation and code quality (best practices) * Continuous Integration (CI) on GitHub/GitLab * Automated testing (unit, integration, end-to-end) * Changelog (Keep a Changelog, Conventional Commits) * Issue management and roadmap * Best practices in issue cr..."
 
Line 29: Line 29:


== Code management, versioning, and licensing ==
== Code management, versioning, and licensing ==
Code management
'''Code management'''
* systematic handling of source code throughout its lifecycle
* '''systematic''' handling of '''source code''' throughout its '''lifecycle'''
* including: tracking changes, organizing files, and enabling collaboration
* including: tracking changes, organizing files, and enabling collaboration
* ensures code is reliable, traceable, and maintainable across teams and over time
* ensures code is reliable, traceable, and maintainable across teams and over time


Versioning
'''Versioning'''
* practice of assigning unique identifiers to different states of a codebase
* assigning '''unique''' identifiers to different '''states''' of a codebase
* developers can track modifications, revert to previous versions, and understand who made changes and why
* ''developers'' can '''track''' modifications, '''revert''' to previous versions, and understand '''who made changes and why'''
* this is foundational for collaboration, debugging, and ensuring code quality
* this is '''foundational''' for collaboration, debugging, and ensuring '''code quality'''


Licensing governs how software and its source code can be used, modified, and distributedOpen-source tools like Git are released under permissive licenses such as the GNU General Public License (GPL) version 2.0, which guarantees users the freedom to share and modify the softwareHowever, organizations must consider licensing implications when using version control platforms—especially with AI features—where public repositories may be used to train models, potentially raising intellectual property concerns.
'''Licensing'''
* governs how software and its source code can be used, modified, and distributed
* Open-source tools like Git are released under permissive licenses  
** such as the '''GNU General Public License (GPL) version 2.0''' - it guarantees users the freedom to share and modify the software
* However, organizations must consider licensing implications  
** when using version control platforms - especially with AI features
** public repositories may be used to train models
** potentially raising intellectual property concerns


Key tools like GitHub, GitLab, and Bitbucket support both centralized (CVCS) and distributed (DVCS) version control, with Git being the most widely adopted DVCS. These platforms enable modern workflows such as GitOps, CI/CD pipelines, and pull request-based code reviews, enhancing development speed and system reliability.
Key tools like GitHub, GitLab, and Bitbucket support both centralized (CVCS) and distributed (DVCS) version control, with Git being the most widely adopted DVCS. These platforms enable modern workflows such as GitOps, CI/CD pipelines, and pull request-based code reviews, enhancing development speed and system reliability.

Revision as of 20:52, 12 February 2026

THIS IS A DRAFT

This text may not be complete.

title
OSS Training Course
author
Lukasz Sokolowski


OSS

OSS Training Materials

Introduction

  • Code management, versioning, and licensing
  • Automation and code quality (best practices)
  • Continuous Integration (CI) on GitHub/GitLab
  • Automated testing (unit, integration, end-to-end)
  • Changelog (Keep a Changelog, Conventional Commits)
  • Issue management and roadmap
  • Best practices in issue creation (templates, labels, milestones)
  • Documentation
    • Effective README: objectives, installation, usage, contributions
    • Contributing Guide (CONTRIBUTING.md)
    • API documentation (Swagger, Sphinx, Docusaurus, etc.)

Intro Con't

  • TODO

Code management, versioning, and licensing

Code management

  • systematic handling of source code throughout its lifecycle
  • including: tracking changes, organizing files, and enabling collaboration
  • ensures code is reliable, traceable, and maintainable across teams and over time

Versioning

  • assigning unique identifiers to different states of a codebase
  • developers can track modifications, revert to previous versions, and understand who made changes and why
  • this is foundational for collaboration, debugging, and ensuring code quality

Licensing

  • governs how software and its source code can be used, modified, and distributed
  • Open-source tools like Git are released under permissive licenses
    • such as the GNU General Public License (GPL) version 2.0 - it guarantees users the freedom to share and modify the software
  • However, organizations must consider licensing implications
    • when using version control platforms - especially with AI features
    • public repositories may be used to train models
    • potentially raising intellectual property concerns

Key tools like GitHub, GitLab, and Bitbucket support both centralized (CVCS) and distributed (DVCS) version control, with Git being the most widely adopted DVCS. These platforms enable modern workflows such as GitOps, CI/CD pipelines, and pull request-based code reviews, enhancing development speed and system reliability.