SlideShare ist ein Scribd-Unternehmen logo
1 von 30
5 Unspoken Rules of Contributing to Open
Source Software
Michael Nelson cmljnelson cmljnelson.wordpress.com
Quick Survey
Created a Pull Request?
Submitted a Patch?
Written code to work with WordPress?
Participated in a Developer Chat?
Use WordPress?
Reportsed an issue?
Who am I?
My First Pull Request DisasterMy First Pull Request Disaster
Customizing BuddyPress Docs
My First Pull Request Disaster
Customizing BuddyPress Docs
My First Pull Request Disaster
Customizing BuddyPress Docs
My First Pull Request Disaster
Customizing BuddyPress Docs
Video: You Can't Just Open a Pull Request and Run
My First Pull Request Disaster
Post Mortem
Pull Request Rejected
Client Couldn't Update the Plugin
What's The Big Difference?
Closed Source vs Open Source
What's The Big Difference?
Closed Source vs Open Source
Client Site BuddyPress
Docs
WordPressClient Site BuddyPress
Docs
WordPress
Sites 1 8,000 276,000,000
Client Site BuddyPress
Docs
WordPress
Sites 1 8,000 276,000,000
PHP Versions 5.5 5.2 - 7.1 5.2 – 7.1
Client Site BuddyPress
Docs
WordPress
Sites 1 8,000 276,000,000
PHP Versions 5.5 5.2 - 7.1 5.2 – 7.1
Plugins ~10 52,000 52,000
Client Site BuddyPress
Docs
WordPress
Sites 1 8,000 276,000,000
PHP Versions 5.5 5.2 - 7.1 5.2 – 7.1
Plugins ~10 52,000 52,000
Collaborators 0 40 500
Client Site BuddyPress
Docs
WordPress
Sites 1 8,000 276,000,000
PHP Versions 5.5 5.2 - 7.1 5.2 – 7.1
Plugins ~10 52,000 52,000
Collaborators 0 40 500
Hackers Few A Few More A TON!
What's The Big Difference?
Should You Take the Plunge into Open Source Software?
● Learn from
World Class
Professionals
● Support
Software you
Depend On
● Build Reputation
Rule 1: Justify Your Changes
My Hand-Made Sweater Analogy
Rule 1: Justify Your Changes
Pitfalls of Patches
● Bugs
● Incompatible with PHP, MySQL or
webserver
● Conflicts with Plugins and
Customizations
● Obstructs Other Features
● Performance
● Unused
● Complicates the UI
● Hard to Understand
● Maintenance Burden
What could go wrong with a patch?
Rule 1: Justify Your Changes
● Describe the feature
● Your use-case
What to Mention
An Improved Pull Request
● Prior art
● Why this implementation
Rule 2: Be Willing to Discuss & Revise
A More Typical Pull Request's Discussion
● JJJ involved since 2008, main BuddyPress developer
● 7 code revisions
● 11 months
Rule 2: Be Willing to Discuss & Revise
An Improved Pull Request Discussion
How would you respond?
Rule 3: Be Positive and Grateful
We're Humans, not Laptops
To have healthy open source
communities, we need to learn
how to be smart about our
emotions...
Your community is made of
humans not laptops. Always
communicate in a friendly way
regardless of your current
emotions.
-Flavio Percoco, Red
Hat
Rule 3: Be Positive and Grateful
WordPress "Big Names" Always Keep It Positive
Rule 3: Be Positive and Grateful
Show Your Gratitude for Free Software
What is your favourite
WordPress plugin?
Have you done anything
to support it?
Rule 4: Small Changes Are Easier
Less Code Means Less Discussion
Not all maintainers are
keen on accepting
massive change sets
from new contributors.
-Radek Pazdera
Rule 4: Small Changes Are Easier
How to Keep Patches Small
● STOP if it's getting
big!
● Make separate
patches
● Focus the patch's
purpose and avoid
unnecessary
improvements
● Don't Repeat Yourself
Rule 4: Small Changes Are Easier
How to Achieve Big Features with Small Patches
Snippet from my Original Pull Request
Rule 4: Small Changes Are Easier
Alternative Change
...the rest in my own plugin
How to Achieve Big Features with Small Patches
Rule 5: Companion Software is Easiest
Make Your Own Project Instead of Complicating Someone Else's
Should your
favourite
WordPress
plugin be added
to core?
Rule 5: Companion Software is Easiest
The Benefits of Companion Software over Creating a Patch
● Bug free!
● Better for non-users
● If popular, justifies later
merge
● Can be developed faster
● You get a plugin-owner
badge!
Rule 5: Companion Software is Easiest
WordPress' Companion Software Policies
Core should provide features that 80%
or more of end users will actually use.
If the next version of WordPress comes
with a feature that the majority of users
immediately want to turn off... then
we’ve blown it.
https://wordpress.org/about/philosophy/#clean
Rule 5: Companion Software is Easiest
What Will Your Own Plugin Make You?
Summary
1. Justify your Changes
2. Be Willing to Discuss and Revise
3. Be Gracious and Positive
4. Small Changes are Easier
5. Companion Software is the Easiest
How to Fulfill Your Destiny
● use open source software, and rate it
● suggest an improvements
● open pull requests
● create a plugin, put it on WordPress.org & GitHub
● participate in WordPress dev on Trac and Slack
Questions and Suggestions?
Michael Nelson cmljnelson cmljnelson.wordpress.com

Weitere ähnliche Inhalte

Was ist angesagt?

Getting Started With a Blog
Getting Started With a BlogGetting Started With a Blog
Getting Started With a Blog
John Dorner
 

Was ist angesagt? (19)

Staying Connected: Securing Your WordPress Website
Staying Connected: Securing Your WordPress WebsiteStaying Connected: Securing Your WordPress Website
Staying Connected: Securing Your WordPress Website
 
Getting Started With a Blog
Getting Started With a BlogGetting Started With a Blog
Getting Started With a Blog
 
10 Things Not To Do With WordPress
10 Things Not To Do With WordPress10 Things Not To Do With WordPress
10 Things Not To Do With WordPress
 
Don't lose revenue. Go viral with no downtime.
Don't lose revenue. Go viral with no downtime.Don't lose revenue. Go viral with no downtime.
Don't lose revenue. Go viral with no downtime.
 
WordPress Plugins 101
WordPress Plugins 101WordPress Plugins 101
WordPress Plugins 101
 
Lean Responsive
Lean ResponsiveLean Responsive
Lean Responsive
 
Wrangling Wordpress To Make Your Blog Do What You Want
Wrangling Wordpress To Make  Your Blog Do What You WantWrangling Wordpress To Make  Your Blog Do What You Want
Wrangling Wordpress To Make Your Blog Do What You Want
 
Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery
 
Auckland WordPress Meetup - Question and Answers
Auckland WordPress Meetup - Question and AnswersAuckland WordPress Meetup - Question and Answers
Auckland WordPress Meetup - Question and Answers
 
Zero cost serverless Real time web app
Zero cost serverless Real time web appZero cost serverless Real time web app
Zero cost serverless Real time web app
 
WordPress security & sanitation for beginners
WordPress security & sanitation for beginnersWordPress security & sanitation for beginners
WordPress security & sanitation for beginners
 
Prototyping for Business Outcomes at ModevUX
Prototyping for Business Outcomes at ModevUXPrototyping for Business Outcomes at ModevUX
Prototyping for Business Outcomes at ModevUX
 
How to Write an Efficient Defect Case & Save Money
How to Write an Efficient Defect Case & Save MoneyHow to Write an Efficient Defect Case & Save Money
How to Write an Efficient Defect Case & Save Money
 
How to break up epics (for Product Managers)
How to break up epics (for Product Managers)How to break up epics (for Product Managers)
How to break up epics (for Product Managers)
 
WordCamp Denmark Keynote
WordCamp Denmark KeynoteWordCamp Denmark Keynote
WordCamp Denmark Keynote
 
Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery
 
Webinar - Accessibility: The journey.
Webinar - Accessibility: The journey.Webinar - Accessibility: The journey.
Webinar - Accessibility: The journey.
 
AMP up Your WordPress Site
AMP up Your WordPress SiteAMP up Your WordPress Site
AMP up Your WordPress Site
 
Agile Issue Types and Decomposition
Agile Issue Types and DecompositionAgile Issue Types and Decomposition
Agile Issue Types and Decomposition
 

Ähnlich wie 5 unspoken rules of contributing to open source software v2

What is WordPress and Why Is Everyone Talking About it
What is WordPress and Why Is Everyone Talking About itWhat is WordPress and Why Is Everyone Talking About it
What is WordPress and Why Is Everyone Talking About it
BobWP.com
 
Avoiding Errors: Troubleshoot Wordpress like a Pro!
Avoiding Errors: Troubleshoot Wordpress like a Pro!Avoiding Errors: Troubleshoot Wordpress like a Pro!
Avoiding Errors: Troubleshoot Wordpress like a Pro!
J_Cortes
 
WordPress Optimisation Strategies
WordPress Optimisation StrategiesWordPress Optimisation Strategies
WordPress Optimisation Strategies
auexpo Conference
 
WordPress Optimisation - A4UExpo
WordPress Optimisation - A4UExpoWordPress Optimisation - A4UExpo
WordPress Optimisation - A4UExpo
Joost de Valk
 

Ähnlich wie 5 unspoken rules of contributing to open source software v2 (20)

Working effectively with legacy codes
Working effectively with legacy codesWorking effectively with legacy codes
Working effectively with legacy codes
 
Simplifying the Web Accessibility Test Lab
Simplifying the Web Accessibility Test LabSimplifying the Web Accessibility Test Lab
Simplifying the Web Accessibility Test Lab
 
What is WordPress and Why Is Everyone Talking About it
What is WordPress and Why Is Everyone Talking About itWhat is WordPress and Why Is Everyone Talking About it
What is WordPress and Why Is Everyone Talking About it
 
Reno WordPress Meetup: Gershwin
Reno WordPress Meetup: GershwinReno WordPress Meetup: Gershwin
Reno WordPress Meetup: Gershwin
 
Avoiding Errors: Troubleshoot Wordpress like a Pro!
Avoiding Errors: Troubleshoot Wordpress like a Pro!Avoiding Errors: Troubleshoot Wordpress like a Pro!
Avoiding Errors: Troubleshoot Wordpress like a Pro!
 
Unrestricted plr advance word press mastery kit
Unrestricted plr advance word press mastery kitUnrestricted plr advance word press mastery kit
Unrestricted plr advance word press mastery kit
 
Preparing for the WebGeek DevCup
Preparing for the WebGeek DevCupPreparing for the WebGeek DevCup
Preparing for the WebGeek DevCup
 
WordPress Optimisation Strategies
WordPress Optimisation StrategiesWordPress Optimisation Strategies
WordPress Optimisation Strategies
 
WordPress Optimisation - A4UExpo
WordPress Optimisation - A4UExpoWordPress Optimisation - A4UExpo
WordPress Optimisation - A4UExpo
 
WordPress Upgrades: Read, Set, Go!
WordPress Upgrades: Read, Set, Go!WordPress Upgrades: Read, Set, Go!
WordPress Upgrades: Read, Set, Go!
 
Git Makes Me Angry Inside
Git Makes Me Angry InsideGit Makes Me Angry Inside
Git Makes Me Angry Inside
 
Rapid Prototyping and Usability Testing - HUXPA
Rapid Prototyping and Usability Testing - HUXPARapid Prototyping and Usability Testing - HUXPA
Rapid Prototyping and Usability Testing - HUXPA
 
2.-IT-266_APDET-Module-2-of-3.pptx
2.-IT-266_APDET-Module-2-of-3.pptx2.-IT-266_APDET-Module-2-of-3.pptx
2.-IT-266_APDET-Module-2-of-3.pptx
 
Aligning Product Strategy with Customer Feature Requests
Aligning Product Strategy with Customer Feature RequestsAligning Product Strategy with Customer Feature Requests
Aligning Product Strategy with Customer Feature Requests
 
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
 
Emergency WordPress Troubleshooting
Emergency WordPress TroubleshootingEmergency WordPress Troubleshooting
Emergency WordPress Troubleshooting
 
Developers Best Practices
Developers Best PracticesDevelopers Best Practices
Developers Best Practices
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
 
Seven Habits Of Highly Effective Asp Net Mvc D
Seven Habits Of Highly Effective Asp Net Mvc DSeven Habits Of Highly Effective Asp Net Mvc D
Seven Habits Of Highly Effective Asp Net Mvc D
 
AD - Developer communication and Technology
AD - Developer communication and TechnologyAD - Developer communication and Technology
AD - Developer communication and Technology
 

Kürzlich hochgeladen

AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
Alluxio, Inc.
 

Kürzlich hochgeladen (20)

How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 
A Guideline to Gorgias to to Re:amaze Data Migration
A Guideline to Gorgias to to Re:amaze Data MigrationA Guideline to Gorgias to to Re:amaze Data Migration
A Guideline to Gorgias to to Re:amaze Data Migration
 
APVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purityAPVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purity
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data Migration
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdf
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion Production
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM Integration
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java Developers
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 

5 unspoken rules of contributing to open source software v2

  • 1. 5 Unspoken Rules of Contributing to Open Source Software Michael Nelson cmljnelson cmljnelson.wordpress.com
  • 2. Quick Survey Created a Pull Request? Submitted a Patch? Written code to work with WordPress? Participated in a Developer Chat? Use WordPress? Reportsed an issue?
  • 4. My First Pull Request DisasterMy First Pull Request Disaster Customizing BuddyPress Docs
  • 5. My First Pull Request Disaster Customizing BuddyPress Docs
  • 6. My First Pull Request Disaster Customizing BuddyPress Docs
  • 7. My First Pull Request Disaster Customizing BuddyPress Docs Video: You Can't Just Open a Pull Request and Run
  • 8. My First Pull Request Disaster Post Mortem Pull Request Rejected Client Couldn't Update the Plugin
  • 9. What's The Big Difference? Closed Source vs Open Source
  • 10. What's The Big Difference? Closed Source vs Open Source Client Site BuddyPress Docs WordPressClient Site BuddyPress Docs WordPress Sites 1 8,000 276,000,000 Client Site BuddyPress Docs WordPress Sites 1 8,000 276,000,000 PHP Versions 5.5 5.2 - 7.1 5.2 – 7.1 Client Site BuddyPress Docs WordPress Sites 1 8,000 276,000,000 PHP Versions 5.5 5.2 - 7.1 5.2 – 7.1 Plugins ~10 52,000 52,000 Client Site BuddyPress Docs WordPress Sites 1 8,000 276,000,000 PHP Versions 5.5 5.2 - 7.1 5.2 – 7.1 Plugins ~10 52,000 52,000 Collaborators 0 40 500 Client Site BuddyPress Docs WordPress Sites 1 8,000 276,000,000 PHP Versions 5.5 5.2 - 7.1 5.2 – 7.1 Plugins ~10 52,000 52,000 Collaborators 0 40 500 Hackers Few A Few More A TON!
  • 11. What's The Big Difference? Should You Take the Plunge into Open Source Software? ● Learn from World Class Professionals ● Support Software you Depend On ● Build Reputation
  • 12. Rule 1: Justify Your Changes My Hand-Made Sweater Analogy
  • 13. Rule 1: Justify Your Changes Pitfalls of Patches ● Bugs ● Incompatible with PHP, MySQL or webserver ● Conflicts with Plugins and Customizations ● Obstructs Other Features ● Performance ● Unused ● Complicates the UI ● Hard to Understand ● Maintenance Burden What could go wrong with a patch?
  • 14. Rule 1: Justify Your Changes ● Describe the feature ● Your use-case What to Mention An Improved Pull Request ● Prior art ● Why this implementation
  • 15. Rule 2: Be Willing to Discuss & Revise A More Typical Pull Request's Discussion ● JJJ involved since 2008, main BuddyPress developer ● 7 code revisions ● 11 months
  • 16. Rule 2: Be Willing to Discuss & Revise An Improved Pull Request Discussion How would you respond?
  • 17. Rule 3: Be Positive and Grateful We're Humans, not Laptops To have healthy open source communities, we need to learn how to be smart about our emotions... Your community is made of humans not laptops. Always communicate in a friendly way regardless of your current emotions. -Flavio Percoco, Red Hat
  • 18. Rule 3: Be Positive and Grateful WordPress "Big Names" Always Keep It Positive
  • 19. Rule 3: Be Positive and Grateful Show Your Gratitude for Free Software What is your favourite WordPress plugin? Have you done anything to support it?
  • 20. Rule 4: Small Changes Are Easier Less Code Means Less Discussion Not all maintainers are keen on accepting massive change sets from new contributors. -Radek Pazdera
  • 21. Rule 4: Small Changes Are Easier How to Keep Patches Small ● STOP if it's getting big! ● Make separate patches ● Focus the patch's purpose and avoid unnecessary improvements ● Don't Repeat Yourself
  • 22. Rule 4: Small Changes Are Easier How to Achieve Big Features with Small Patches Snippet from my Original Pull Request
  • 23. Rule 4: Small Changes Are Easier Alternative Change ...the rest in my own plugin How to Achieve Big Features with Small Patches
  • 24. Rule 5: Companion Software is Easiest Make Your Own Project Instead of Complicating Someone Else's Should your favourite WordPress plugin be added to core?
  • 25. Rule 5: Companion Software is Easiest The Benefits of Companion Software over Creating a Patch ● Bug free! ● Better for non-users ● If popular, justifies later merge ● Can be developed faster ● You get a plugin-owner badge!
  • 26. Rule 5: Companion Software is Easiest WordPress' Companion Software Policies Core should provide features that 80% or more of end users will actually use. If the next version of WordPress comes with a feature that the majority of users immediately want to turn off... then we’ve blown it. https://wordpress.org/about/philosophy/#clean
  • 27. Rule 5: Companion Software is Easiest What Will Your Own Plugin Make You?
  • 28. Summary 1. Justify your Changes 2. Be Willing to Discuss and Revise 3. Be Gracious and Positive 4. Small Changes are Easier 5. Companion Software is the Easiest
  • 29. How to Fulfill Your Destiny ● use open source software, and rate it ● suggest an improvements ● open pull requests ● create a plugin, put it on WordPress.org & GitHub ● participate in WordPress dev on Trac and Slack
  • 30. Questions and Suggestions? Michael Nelson cmljnelson cmljnelson.wordpress.com

Hinweis der Redaktion

  1. * Welcome, I'm Mike. * Glad you fell for the click-bait title * purpose: help benefit from contributing to open source * my blog has a post, slides, link to my social media stuff * seeing how we're here in person, will make this a bit interactive. Learn from everyone
  2. Event Espresso $100,000, 000 annual ticket sales, running on 40,000 websites EventSmart is multisite site running EE, has 20,000 sites
  3. Story of my first pull request. * Where I was, * the company I worked for, * the client, * their needs.
  4. * BuddyPress Docs met needs * customized it quite easily * thought I'd share my improvement
  5. * Pull request was afterthought * no discussion ahead of time * no description of changes * no discussion.
  6. Video exagerates what went wrong. -Alt 2, Alt Enter, Ctr P Moral of the story
  7. * I was good at “closed source” (or at least private code, technically it was still open source) * But open source was a whole other ballgame
  8. Let's compare some facts
  9. * if open source is so much harder, why bother? - * let's look at the first rule I broke
  10. * no justification why Boone should take risk * because I thought my code was great, but it actually wasn't, and it had bugs
  11. Why do you need to justify it?
  12. How I would have done it differently
  13. Rule 3: be positive and grateful
  14. * Rule 4: reduce discussion by reducing code
  15. *Don't Rely on an existing project, help out with your own!