Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20260726 - iPlayground 2026 - Contributing to A...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

20260726 - iPlayground 2026 - Contributing to Apple Container Without Writing Swift: A Cloud Native Engineer's Open Source Journey

Avatar for ChengHao Yang

ChengHao Yang

July 26, 2026

More Decks by ChengHao Yang

Other Decks in Programming

Transcript

  1. $ whoami ChengHao Yang (tico88612) • CNCF Ambassador • Co-organizer

    @ CNTUG • Lead organizer @ KCD Taipei 2025 • Maintainer @ Kubespray • Release Team @ Kubernetes v1.32~v1.37 • Contributor @ Kubernetes • Contributor @ Container 􀣺 3
  2. Agenda In Session Not In Session • Introduction Apple Container

    • Comparison of all container tools • How to nd the issue • Why Apple Container chose Kata • Building an open source mindset Containers • How to use Metal in Apple Container fi 4
  3. 􀟞􀪬 Backend Dependencies Develop iOS Application / Frontend Application iOS

    Developer / Frontend Developer Depend Depend Develop Backend Developer Backend Application 7
  4. fl ff How to setup your develop environment Know the

    packages you need Try to setup dependencies in your host And you're stuck Every project needs di erent versions Version con icts everywhere And you give up 8
  5. 10

  6. Apple Container • A native way to run Linux containers

    on macOS • Developed by Apple • First seen at WWDC 2025 • Version 1.0.0 released at WWDC 2026 • Open Source: Apache-2.0 License 15
  7. 16

  8. 17

  9. How I Got Here? Learning Container Tools • The existing

    Docker-like tools are all pretty mature. • A brand-new tool is a chance to relearn container fundamentals. 19
  10. How I Got Here? Actively Developing • Apple Container is

    a brand-new project — rough edges everywhere. • Missing features aren't a problem. They're opportunities. • I get to work on an Apple project? Sounds good! 20
  11. How I Got Here? Contributing For Myself & Help Everyone

    • If I'm having a problem… • It means someone else is probably dealing with the same thing. • If I can solve it myself… • I can also help others solve it along the way. 21
  12. 24

  13. Level 1: Start with a Failing Test • Want to

    try contributing but don't know how? • Just look at the documentation and follow it from the beginning. • Do we need to start from a Good First Issue? • Not mandatory, just getting familiar with the project and the contribution process. • Not every Good First Issue is labeled. 28
  14. 􀄫 􀄫 􀄫 􀄫􀄫 􀄫 􀄫 􀄫 Level 2: Improve

    the Feature Delete All Network UX Improve - Original Yes Input Network Name All is set All Network Always include the default network No Filter the Network Name Network name include default Yes Print Error Message No Continue…… 30
  15. 􀄫 􀄫 􀄫 􀄫􀄫 􀄫 􀄫 􀄫 Level 2: Improve

    the Feature Delete All Network UX Improve - Fixed Input Network Name Yes Network name include default Print Error Message No Yes All is set All Network Exclude the Default network No Filter the Network Name Continue…… 31
  16. Level 2: Improve the Feature • Most PRs can start

    with xing bugs. • If a maintainer opens an issue, they want it xed. • Your PR is almost always welcome. fi fi 33
  17. Level 3: Create What's Missing Container Registry List • Once

    you've built up a basic level of trust, you can start trying to implement new features. • There's a chance to collaborate with other contributors to get it done. 37
  18. 40

  19. 41

  20. Scenario 1: The issue I wanted to work on got

    snatched up • Easy issues usually get snatched up pretty quickly. • You can start by nding 2-3 issues to build some basic trust. • I don't recommend spending too much time looking for easy ones. fi 42
  21. Scenario 2: Someone claimed the issue but ended up ghosting

    • This happens a lot. • Politely check if they are still doing it. • If you're really short on time, just go ahead and release whatever you've got done so far. 45
  22. Scenario 3: No one reviews my PR • Is this

    change actually on the project's roadmap? • Is the di small enough for reviewers to digest? • Did CI run and pass? If it hasn't even run, it might be time to ping a maintainer. ff 48
  23. Takeaway • Apple Container is an open source project, which

    is a native way to run Linux containers on macOS. • You don't need to nd an issue — you can just start. • You don't need to speak the language — the code speaks for you. • You don't need to be an insider — the door is open. fi 50
  24. Thank You! Please feel free to contact me! • Website:

    https://tico.tw • Facebook: @tico88612 • Instagram: @__tico88612__ • GitHub: @tico88612 • LinkedIn: in/tico88612 Blog LinkedIn GitHub • Telegram: @tico88612 51