<commit_before>#+TITLE:     Contributing to OSS
#+AUTHOR:    <NAME>
#+EMAIL:     <EMAIL>
#+DATE:      2020-06-10 Wed
#+DESCRIPTION: 
#+KEYWORDS: 
#+LANGUAGE:  en
#+OPTIONS:   H:1 num:nil toc:nil 
#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]
#+BEAMER_THEME: default
* JHUG: June 2020
** Contributing to Opensource
*** The 10 minute guide to
    - Why
    - What
    - Which
    - When
    - How
**** <NAME>
* About me
 - ASF member
 - Committer
   - Apache Camel
   - Quarkus
 - Creator
  - Fabric8 Kubernetes framework
  - Spring Cloud Kubernetes
  - Dekorate
 - Red Hatter *(hint: why)*
* Why #1: You CAN get paid for it
   - Sponshorship
   - Get an OSS job
* Why #2: It's a strong point in your CV
** Proof 
    - skills
      - code reading
      - code writing
      - problem solving
      - comunication
    - passion
    - commitment (and sheer @#!&$#ing will)
** Achievement
    - Commiter
    - PMC
* Why #3: You learn alot
  - Contributing -> feedback loop 
    ~Art of learning - J<NAME>~
  - Diversity
    - styles
    - tools
    - patterns
* Why #4: Meet your heros
The are only two sports in the world ... 

* What #1: Code
  - Too obvious
    - Test
    - Fixes
    - Features
* What #2: Documentation
* What #3: Report issues
** Acknowledges
    - There are people using the project
    - There are people using the feature
** Essential 
    - Community building
    - Steering the project to the right direction

*** "Knowing the issue is 50% of the work"
* What #4: Community engagement
  - Forums
  - Mailing lists
  - Stack overflow
  - Talks
  - Videos
  - Blogging
* Which #1: New vs Established
** New
    - Simple codebase (?)
    - Crossing the chasm 
      - Community
      - Contributors
    - Less visibility
** Established
    - Complex codebase (?)
    - Larger contribution volume
    - Harder to standaout
      - Quarkus: 93 open pull requests ATM *(hint: when)*
*** Fact
    - In ASF incubator:
      - A podling *MUST* invite 1+ committer(s) 
* Which #2: Day job related
  - Motivation
  - Time
  - Multiple gains
** True story:
    - 1st contrubtion: Job related fix *Apache ServiceMix*
      - Meet the right people
        - Community engagement
          - IRC
          - Mailing lists
      - Introduced to *Apache Karaf*
      - Become an *Apache Karaf* committer
        - Started using *Apache Karaf* at work
        - Hired by *FuseSource* to work on *Apache Karaf*
* Which #3: Passion
  - Ephemeral contributions *(limited value)*
    - A bug getting fixed
  - Long term participation *(bigger returns)* *(hint how)*
    - Recognition
      - Committership
      - Influence
      - Job
      - Cool T-shirts

** If you don't like it you can't sustain it!
*** Find something you are passionate about!
* How #1 Google Summer of Code
   - A 3 month program for students
   - Mentoring from OSS organization
     - ASF
     - Eclipse
     - Red Hat
     - more
*** https://summerofcode.withgoogle.com/
* How #2 Github
  - Read the contributors guide
  - Familiarize with git and pull requests
  - Search for issues labeled:
    - Good first issue
    - Low hanging fruit
* Tips #1: It's a marathon
** Size doesn't matter!
   - A big contribution will get some attention
   - It's the long run the gives recognition
*** True story    
     - <NAME>. & Apache Camel
       - Created an excellent component
         - [[https://camel.apache.org/components/latest/hazelcast-map-component.html][camel-hazelcast]]
       - Didn't sustain the effort
       - Not even listed at [[https://camel.apache.org/manual/latest/team.html][contributors page]]
       - I often get credit for [[https://camel.apache.org/components/latest/hazelcast-map-component.html][camel-hazelcast]]
* Tips #2: Code first, talk later or not ...
  - Easier to communicate an idea in code
  - Give them a glimpse of the future 
    ~Pragmatic Programmer: Stone soup~
*** True stories    
    - Ideas rejected on paper
      - How about creating a DSL for manipulation Kuberentes resources?
        - [[https://github.com/fabric8io/kubernetes-client][Fabric8 Kubernetes Framework]]
      - What if we generated Kubernetes manifests using APT?
        - [[https://github.com/dekorateio/dekorate][Dekorate]]
* Tips #3: Do talk
  - Communication is important
    - Coordinate with others
    - Build bonds
* Tips #4: Don't be a jerk
  - Be polite!
  - Be friendly!
  - Don't be self entitled!
  - Don't take it out on others!
* Tips #5: Don't be intimidated
** Putting your code out there can be scary
    - You will make mistakes
      - *Everyone* does
        - Even the *legends*
      - And it's ok
      - But there might be those times ...
** True stories
  - I've been devsplained on field where I am undeniably an expert
  - I've been insulted and yelled for commiting pom.xml with SNAPSHOT deps
  
*** Nothing can beat the joy and reward of contributing!    

* Tips #6: Just do it
Your favorite motivation speech goes here!
* Thank you for your time!






<commit_msg>chore: Update jhug contributing to OSS presentation<commit_after>#+TITLE:     Contributing to OSS
#+AUTHOR:    <NAME>
#+EMAIL:     <EMAIL>
#+DATE:      2020-06-10 Wed
#+DESCRIPTION: 
#+KEYWORDS: 
#+LANGUAGE:  en
#+OPTIONS:   H:1 num:nil toc:nil 
#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]
#+BEAMER_THEME: default
* JHUG: June 2020
** Contributing to Opensource
*** The 15 minute guide to
    - Why
    - What
    - How
**** <NAME>
* About me
 - ASF member
 - Committer
   - Apache Camel
   - Quarkus
 - Creator
  - Fabric8 Kubernetes framework
  - Spring Cloud Kubernetes
  - Dekorate
 - <NAME> *(hint: why)*
* Why #1: You CAN get paid for it
   - Sponshorship
   - Get an OSS job
* Why #2: It's a strong point in your CV
** Proof 
    - skills
      - code reading
      - code writing
      - problem solving
      - comunication
    - passion
    - commitment (and sheer @#!&$#ing will)
** Achievement
    - Commiter
    - PMC
* Why #3: You learn alot
  - Contributing -> feedback loop 
    ~Art of learning - <NAME>~
  - Diversity
    - styles
    - tools
    - patterns
* Why #4: Meet your heros
The are only two sports in the world ... 
* What #1: Code
  - Too obvious
    - Test
    - Fixes
    - Features
* What #2: Documentation
  - All projects need a community
  - There can't be a community without documentation
* What #3: Report issues
** Acknowledges
    - There are people using the project
    - There are people using the feature
** Essential 
    - Community building
    - Steering the project to the right direction

*** "Knowing the issue is 50% of the work"
* What #4: Community engagement
  - Forums
  - Mailing lists
  - Stack overflow
  - Talks
  - Videos
  - Blogging
* Which #1: New vs Established
** New
    - Simple codebase (?)
    - Crossing the chasm 
      - Community
      - Contributors
    - Less visibility
** Established
    - Complex codebase (?)
    - Larger contribution volume
    - Harder to standaout
      - Quarkus: 93 open pull requests ATM *(hint: when)*
*** Fact
    - In ASF incubator:
      - A podling *MUST* invite 1+ committer(s) 
* Which #2: Day job related
  - Motivation
  - Time
  - Multiple gains
** True story:
    - 1st contrubtion: Job related fix *Apache ServiceMix*
      - Meet the right people
        - Community engagement
          - IRC
          - Mailing lists
      - Introduced to *Apache Karaf*
      - Become an *Apache Karaf* committer
        - Started using *Apache Karaf* at work
        - Hired by *FuseSource* to work on *Apache Karaf*
* Which #3: Passion
  - Ephemeral contributions *(limited value)*
    - A bug getting fixed
  - Long term participation *(bigger returns)* *(hint how)*
    - Recognition
      - Committership
      - Influence
      - Job
      - Cool T-shirts

** If you don't like it you can't sustain it!
*** Find something you are passionate about!
* How #1 Google Summer of Code
   - A 3 month program for students
   - Mentoring from OSS organization
     - ASF
     - Eclipse
     - Red Hat
     - more
*** https://summerofcode.withgoogle.com/
* How #2 Github
  - Read the contributors guide
  - Familiarize with git and pull requests
  - Search for issues labeled:
    - Good first issue
    - Low hanging fruit
* Tips #1: It's a marathon
** Size doesn't matter!
   - A big contribution will get some attention
   - It's the long run the gives recognition
*** True story    
     - <NAME>. & Apache Camel
       - Created an excellent component
         - [[https://camel.apache.org/components/latest/hazelcast-map-component.html][camel-hazelcast]]
       - Didn't sustain the effort
       - Not even listed at [[https://camel.apache.org/manual/latest/team.html][contributors page]]
       - I often get credit for [[https://camel.apache.org/components/latest/hazelcast-map-component.html][camel-hazelcast]]
* Tips #2: Code first, talk later or not ...
  - Easier to communicate an idea in code
  - Give them a glimpse of the future 
    ~Pragmatic Programmer: Stone soup~
*** True stories    
    - Ideas rejected on paper
      - How about creating a DSL for manipulation Kuberentes resources?
        - [[https://github.com/fabric8io/kubernetes-client][Fabric8 Kubernetes Framework]]
      - What if we generated Kubernetes manifests using APT?
        - [[https://github.com/dekorateio/dekorate][Dekorate]]
* Tips #3: Do talk
  - Communication is important
    - Coordinate with others
    - Build bonds
* Tips #4: Don't be a jerk
  - Be polite!
  - Be friendly!
  - Don't be self entitled!
  - Don't take it out on others!
* Tips #5: Don't be intimidated
** Putting your code out there can be scary
    - You will make mistakes
      - *Everyone* does
        - Even the *legends*
      - And it's ok
      - But there might be those times ...
** True stories
  - I've been devsplained on field where I am undeniably an expert
  - I've been insulted and yelled for commiting pom.xml with SNAPSHOT deps
  
*** Nothing can beat the joy and reward of contributing!    

* Tips #6: Just do it
Your favorite motivation speech goes here!
* Thank you for your time!







{'fraction_non_alphanumeric': 0.0942387646010691, 'fraction_numerical': 0.008711146307661849, 'mean_word_length': 2.4399046646237657, 'pattern_counts': {'":': 0, '<': 14, '<?xml version=': 0, '>': 16, 'https://': 12, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6706074', 'n_tokens_mistral': 3234, 'n_tokens_neox': 3047, 'n_words': 1171}