Encouraging OSS
contribution
Patrick Stephens
Fluent Bit maintainer
November 2024
Open Source Monitoring
Conference 2024
THANKS FOR OSS
chronosphere.io
Goals
Encourage contribution
● More people and companies to contribute to OSS
● Issues, PRs, docs, tests, resources or otherwise
● Answering questions, community engagement, blogs, spreading the love!
● Benefits for individuals and enterprises
chronosphere.io
More goals
Talk about myself (and Fluent Bit)!
● Not the typical OSS developer so encourage others
● I am terrified of approaching people so come chat please
chronosphere.io
What is Fluent Bit
High Performance & Low Resource Usage
- Optimized for speed and efficiency
- Minimizes CPU and memory footprint, reducing energy consumption
Vendor Neutral & Flexible Integration
- Open source and vendor-agnostic
- Supports seamless integration with popular ecosystems like
Prometheus, OpenTelemetry, and more.
Broad Ecosystem Support
- Extensive plugin ecosystem for easy data routing and processing
- Suitable for cloud, on-premise, and edge deployments
chronosphere.io
$ whoami
Patrick Stephens
● 22+ years experience software engineering
● Primarily in defence doing C++ & Java as an
infra/platform engineer & architect
● More recently containers, K8S and Golang
pat@chronosphere.io
https://www.linkedin.com/in/patrickjkstephens/
https://github.com/patrick-stephens
chronosphere.io
A typical “day”
1. Start with Slack
2. Check issues/discussions - “try with latest” or “request for more info”
3. PR contributions or review
4. Write blog post/training webinar/conference presentation
5. Book reviews - not that typical!
6. Community meetings
chronosphere.io
Slack/community interaction
Some users cannot contribute directly
but can answer questions
Generally common themes so easy to
answer or ask for info
Typically see the first visibility of
problems as well as common use cases
Lots of engagement
https://launchpass.com/fluent-all
chronosphere.io
Documentation and use cases
Knocked up more detailed answers in blog posts as well.
● Repost links to answer questions easily
Easiest way to contribute:
● Correct/add something
● Example of your usage - docs and/or test cases
● Language reviews
A lot of questions around the same themes in Slack.
“The docs don’t say this”, well let’s add it then.
chronosphere.io
Advice and suggestions
A priority-queue of suggestions for contribution
● Engage - join in with community events & channels
● Sponsor - compute or other resources
Direct/Technical help
● Simplify - reproduce issues to help users & maintainers
● Document - add missing or update incorrect information
● Test - add unit or integration tests for your use cases
● Triage - first line of response
● Implement - provide features or functionality
Follow issue/PR templates and contribution guides.
chronosphere.io
Advice and suggestions
A priority-queue of suggestions for contribution
● Engage - join in with community events & channels
● Sponsor - compute or other resources
Direct/Technical help
● Simplify - reproduce issues to help users & maintainers
● Document - add missing or update incorrect information
● Test - add unit or integration tests for your use cases
● Triage - first line of response
● Implement - provide features or functionality
Follow issue/PR templates and contribution guides.
chronosphere.io
Advice and suggestions
A priority-queue of suggestions for contribution
● Engage - join in with community events & channels
● Sponsor - compute or other resources
Direct/Technical help
● Simplify - reproduce issues to help users & maintainers
● Document - add missing or update incorrect information
● Test - add unit or integration tests for your use cases
● Triage - first line of response
● Implement - provide features or functionality
Follow issue/PR templates and contribution guides.
chronosphere.io
Advice and suggestions
A priority-queue of suggestions for contribution
● Engage - join in with community events & channels
● Sponsor - compute or other resources
Direct/Technical help
● Simplify - reproduce issues to help users & maintainers
● Document - add missing or update incorrect information
● Test - add unit or integration tests for your use cases
● Triage - first line of response
● Implement - provide features or functionality
Follow issue/PR templates and contribution guides.
chronosphere.io
Advice and suggestions
A priority-queue of suggestions for contribution
● Engage - join in with community events & channels
● Sponsor - compute or other resources
Direct/Technical help
● Simplify - reproduce issues to help users & maintainers
● Document - add missing or update incorrect information
● Test - add unit or integration tests for your use cases
● Triage - first line of response
● Implement - provide features or functionality
Follow issue/PR templates and contribution guides.
chronosphere.io
Advice and suggestions
A priority-queue of suggestions for contribution
● Engage - join in with community events & channels
● Sponsor - compute or other resources
Direct/Technical help
● Simplify - reproduce issues to help users & maintainers
● Document - add missing or update incorrect information
● Test - add unit or integration tests for your use cases
● Triage - first line of response
● Implement - provide features or functionality
Follow issue/PR templates and contribution guides.
chronosphere.io
Advice and suggestions
A priority-queue of suggestions for contribution
● Engage - join in with community events & channels
● Sponsor - compute or other resources
Direct/Technical help
● Simplify - reproduce issues to help users & maintainers
● Document - add missing or update incorrect information
● Test - add unit or integration tests for your use cases
● Triage - first line of response
● Implement - provide features or functionality
Follow issue/PR templates and contribution guides.
chronosphere.io
Why contribute as an individual?
Personal and technical development
● Technical skills specific to that project
● More general communication skills and working with others
● Networking and job offers
chronosphere.io
Why contribute as a company?
Company benefits
● Direct testing of how it is used
● Reduce costs of patches/updates on top
● Speed of fixes and go to market
chronosphere.io
Wrap-up
You can contribute in various ways:
● Documentation, answering questions, blog posts, training.
● Reproducing issues with simple tests
● Adding tests or CICD
● Implementing fixes and features
● Supporting via resource or infrastructure usage
Using OSS and contributing to it can benefit you commercially too.
● Features you need added, scenarios you use tested, etc.
chronosphere.io
Questions?
Patrick Stephens
pat@chronosphere.io
http://www.linkedin.com/in/patrickjkstephens/
Fluent Bit
Slack
5 free copies for questions!
45% off all Manning products until December 4:
oscm45
https://bit.ly/fluentbit-workshop

OSMC 2024 | Ignite: A day in the life of an OSS maintainer by Patrick Stephens.pdf

  • 1.
    Encouraging OSS contribution Patrick Stephens FluentBit maintainer November 2024 Open Source Monitoring Conference 2024
  • 2.
  • 3.
    chronosphere.io Goals Encourage contribution ● Morepeople and companies to contribute to OSS ● Issues, PRs, docs, tests, resources or otherwise ● Answering questions, community engagement, blogs, spreading the love! ● Benefits for individuals and enterprises
  • 4.
    chronosphere.io More goals Talk aboutmyself (and Fluent Bit)! ● Not the typical OSS developer so encourage others ● I am terrified of approaching people so come chat please
  • 5.
    chronosphere.io What is FluentBit High Performance & Low Resource Usage - Optimized for speed and efficiency - Minimizes CPU and memory footprint, reducing energy consumption Vendor Neutral & Flexible Integration - Open source and vendor-agnostic - Supports seamless integration with popular ecosystems like Prometheus, OpenTelemetry, and more. Broad Ecosystem Support - Extensive plugin ecosystem for easy data routing and processing - Suitable for cloud, on-premise, and edge deployments
  • 6.
    chronosphere.io $ whoami Patrick Stephens ●22+ years experience software engineering ● Primarily in defence doing C++ & Java as an infra/platform engineer & architect ● More recently containers, K8S and Golang pat@chronosphere.io https://www.linkedin.com/in/patrickjkstephens/ https://github.com/patrick-stephens
  • 7.
    chronosphere.io A typical “day” 1.Start with Slack 2. Check issues/discussions - “try with latest” or “request for more info” 3. PR contributions or review 4. Write blog post/training webinar/conference presentation 5. Book reviews - not that typical! 6. Community meetings
  • 8.
    chronosphere.io Slack/community interaction Some userscannot contribute directly but can answer questions Generally common themes so easy to answer or ask for info Typically see the first visibility of problems as well as common use cases Lots of engagement https://launchpass.com/fluent-all
  • 9.
    chronosphere.io Documentation and usecases Knocked up more detailed answers in blog posts as well. ● Repost links to answer questions easily Easiest way to contribute: ● Correct/add something ● Example of your usage - docs and/or test cases ● Language reviews A lot of questions around the same themes in Slack. “The docs don’t say this”, well let’s add it then.
  • 10.
    chronosphere.io Advice and suggestions Apriority-queue of suggestions for contribution ● Engage - join in with community events & channels ● Sponsor - compute or other resources Direct/Technical help ● Simplify - reproduce issues to help users & maintainers ● Document - add missing or update incorrect information ● Test - add unit or integration tests for your use cases ● Triage - first line of response ● Implement - provide features or functionality Follow issue/PR templates and contribution guides.
  • 11.
    chronosphere.io Advice and suggestions Apriority-queue of suggestions for contribution ● Engage - join in with community events & channels ● Sponsor - compute or other resources Direct/Technical help ● Simplify - reproduce issues to help users & maintainers ● Document - add missing or update incorrect information ● Test - add unit or integration tests for your use cases ● Triage - first line of response ● Implement - provide features or functionality Follow issue/PR templates and contribution guides.
  • 12.
    chronosphere.io Advice and suggestions Apriority-queue of suggestions for contribution ● Engage - join in with community events & channels ● Sponsor - compute or other resources Direct/Technical help ● Simplify - reproduce issues to help users & maintainers ● Document - add missing or update incorrect information ● Test - add unit or integration tests for your use cases ● Triage - first line of response ● Implement - provide features or functionality Follow issue/PR templates and contribution guides.
  • 13.
    chronosphere.io Advice and suggestions Apriority-queue of suggestions for contribution ● Engage - join in with community events & channels ● Sponsor - compute or other resources Direct/Technical help ● Simplify - reproduce issues to help users & maintainers ● Document - add missing or update incorrect information ● Test - add unit or integration tests for your use cases ● Triage - first line of response ● Implement - provide features or functionality Follow issue/PR templates and contribution guides.
  • 14.
    chronosphere.io Advice and suggestions Apriority-queue of suggestions for contribution ● Engage - join in with community events & channels ● Sponsor - compute or other resources Direct/Technical help ● Simplify - reproduce issues to help users & maintainers ● Document - add missing or update incorrect information ● Test - add unit or integration tests for your use cases ● Triage - first line of response ● Implement - provide features or functionality Follow issue/PR templates and contribution guides.
  • 15.
    chronosphere.io Advice and suggestions Apriority-queue of suggestions for contribution ● Engage - join in with community events & channels ● Sponsor - compute or other resources Direct/Technical help ● Simplify - reproduce issues to help users & maintainers ● Document - add missing or update incorrect information ● Test - add unit or integration tests for your use cases ● Triage - first line of response ● Implement - provide features or functionality Follow issue/PR templates and contribution guides.
  • 16.
    chronosphere.io Advice and suggestions Apriority-queue of suggestions for contribution ● Engage - join in with community events & channels ● Sponsor - compute or other resources Direct/Technical help ● Simplify - reproduce issues to help users & maintainers ● Document - add missing or update incorrect information ● Test - add unit or integration tests for your use cases ● Triage - first line of response ● Implement - provide features or functionality Follow issue/PR templates and contribution guides.
  • 17.
    chronosphere.io Why contribute asan individual? Personal and technical development ● Technical skills specific to that project ● More general communication skills and working with others ● Networking and job offers
  • 18.
    chronosphere.io Why contribute asa company? Company benefits ● Direct testing of how it is used ● Reduce costs of patches/updates on top ● Speed of fixes and go to market
  • 19.
    chronosphere.io Wrap-up You can contributein various ways: ● Documentation, answering questions, blog posts, training. ● Reproducing issues with simple tests ● Adding tests or CICD ● Implementing fixes and features ● Supporting via resource or infrastructure usage Using OSS and contributing to it can benefit you commercially too. ● Features you need added, scenarios you use tested, etc.
  • 20.
    chronosphere.io Questions? Patrick Stephens pat@chronosphere.io http://www.linkedin.com/in/patrickjkstephens/ Fluent Bit Slack 5free copies for questions! 45% off all Manning products until December 4: oscm45 https://bit.ly/fluentbit-workshop