DevOps & Cloud
0/5 sections
0%

Open Source

Open source is the backbone of modern technology. Understanding how to contribute, license, maintain, and benefit from open source is essential for every software engineer.

1Contributing to Open Source

    Finding Projects
  • GitHub Explore / Trending
  • goodfirstissue.dev
  • Labels: good first issue, help wanted, beginner

Contribution Workflow ```bash # Fork on GitHub, then: git clone https://github.com/YOUR_USERNAME/project.git git remote add upstream https://github.com/ORIGINAL/project.git git checkout -b fix/issue-123

# Make changes, commit with conventional format git commit -m "fix: handle null pointer in user.getProfile() (#123)"

# Keep up to date git fetch upstream && git rebase upstream/main git push origin fix/issue-123 # Open Pull Request on GitHub ```

    PR Best Practices
  • One PR per concern
  • Reference the issue: "Fixes #123"
  • Add tests for your change
  • Update docs if needed
  • Respond promptly to reviews

2Open Source Licenses

LicenseCommercial UseMust Share Source
MIT✓✗ (permissive)
Apache 2.0✓✗ (permissive)
GPL v3✓✓ (copyleft)
LGPL v3✓Only modified lib
BSD 2/3-Clause✓✗ (permissive)
AGPL v3✓✓ (incl. network use)
    Key Distinctions
  • Permissive (MIT, Apache, BSD): use in closed-source commercial products
  • Copyleft (GPL): derivatives must also be open source
  • Weak copyleft (LGPL): libraries can be linked from non-GPL code
  • Network copyleft (AGPL): covers SaaS deployments

Always add a LICENSE file GitHub's license picker simplifies selection.

3Maintaining a Project

Repository Structure `` project/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ci.yml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── CODE_OF_CONDUCT.md ├── LICENSE └── README.md ``

GitHub Actions CI ``yaml name: CI on: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: { node-version: 20 } - run: npm ci - run: npm test - run: npm run lint ``

4Semantic Versioning

    SemVer MAJOR.MINOR.PATCH
  • MAJOR: breaking API changes (1.0.0 → 2.0.0)
  • MINOR: backward-compatible new features (1.0.0 → 1.1.0)
  • PATCH: bug fixes (1.0.0 → 1.0.1)

Conventional Commits (enables automated changelogs) `` feat: add user authentication (#45) fix: correct null pointer in getUser() docs: update API reference refactor: extract payment logic to service BREAKING CHANGE: rename createUser to registerUser ``

Automated Releases ``bash npx semantic-release # analyzes commits → bumps version → creates GitHub release → publishes to npm ``

npm Publishing ``bash npm login npm version patch # or minor / major npm publish --access public ``

5Career in Open Source

    Why Contribute
  • Fastest way to level up reading production codebases beats tutorials
  • Public commits tell your story living resume
  • Networking maintainers often hire contributors
  • Reputation that transfers across companies

Starting Points (by difficulty) 1. Fix typos in documentation (lowest friction) 2. Improve error messages to be more actionable 3. Add missing tests to existing functionality 4. Translate documentation to other languages 5. Fix a tagged good first issue

    Going Deeper
  • Become a regular contributor to 2-3 focused projects
  • Propose and implement features that solve your own problems
  • Start your own library that solves a real, narrow problem well
    Great Projects for Learning
  • React (facebook/react) excellent PR process
  • VS Code (microsoft/vscode) great issue triaging
  • Python (python/cpython) rigorous review culture
  • Rust (rust-lang/rust) RFC process for major changes

Explore the Full Portfolio

This is the complete portfolio of Sufi Khan Sulaiman, a technology leader specialising in B2B commerce and digital automation. Start from the Home page for the overview, then move through two decades of career experience across FLIR Systems, Lorex Technology, and 1c Platform, and the full catalogue of project case studies spanning headless commerce migrations, AI recommendation engines, and multi-channel fulfilment systems.

The skills and certifications page maps the technical and leadership capabilities behind the work, while the articles and the knowledge base break down the thinking into actionable frameworks. For hands-on learning, the tutorials and applications sections cover practical builds from front-end fundamentals to full-stack web apps.

For consulting engagement, the expertise page outlines service offerings, the ecommerce hub covers platform architecture and automation strategy, and the ecommerce guide (PDF) is a downloadable 55-page field manual. When you are ready to talk, the contact page is the direct line.