You don't need to be a
10x Ninja Rockstar
TO CONTRIBUTE TO OPEN SOURCE
Open Source Projects
http://www.commitstrip.com/en/2014/05/07/the-truth-behind-open-source-apps/
Why Contribute to Open Source?
Why should I contribute?
Why should a business contribute?
Why Should I Contribute to Open
Source?
To give something back.
To collaborate with some really smart people.
It's interesting and challenging.
It's fun!
It's a great opportunity to learn something new.
It will help you get better jobs in future.
◦ It helps you write better code.
◦ It teaches you about good development practises and quality control.
◦ It looks good on a CV.
Why should a business contribute to
Open Source?
Helps staff learn more about that Open Source product they use
Skilled staff in certain Open Source Projects gives opportunities for selling:
◦ Consultancy
◦ Training
Contribution to an Open Source project helps you guide the direction of that project, perhaps to add
features that you want.
Open Source participation is like free on-the-job training.
In addition to learning about the Open Source product itself, your employees learn about:
◦ Software engineering practices
◦ Testing and quality assurance
◦ Communication skills
◦ Teamwork
◦ Leadership
Open Source participation impresses potential customers and new employees.
Makes upgrading easier if changes are part of the core product rather than patches to the product
How Can I Contribute to Open Source?
How can I contribute?
How can a business contribute?
How can I contribute to open source?
Write code.
Answer questions on forums (e.g. StackOverflow).
Bug Testing.
Submit bug reports
(SSCCE – Short, Self-Contained, Correct Example – http://www.sscce.org/)
Improve documentation / FAQ.
Translations.
Organize user groups in your local area.
Blog about Open Source adoption and contribution, and about packages/libraries that you use.
Write Tutorials
Organise classes: teach what you know.
Speak at a technical conferences.
How can I contribute to open source?
Understand the goals of the project; make sure your contribution is in line with them.
Play by the rules of the project that you're contributing to.
Submit complete patches that implement full features: include any test information and
documentation.
Have low expectations. Learn to accept rejection.
Persevere! Improve upon comments and keep sending updates.
Be humble. Never add your name to the list of contributors yourself. The project leader should do so,
if she or he values your work.
Be honest about your available time and skills.
Be a doer, not a talker or a troll.
How can a business contribute to open
source?
Push your changes to Open Source Software back to the developers of those projects.
Allow staff members to work on Open Source libraries/applications that your company uses.
Partner with an Open Source project for a case study.
Offer to host meet-ups for Open Source projects.
Offer to provide pizza for Open Source project meet-ups.
Provide testimonials about the Open Source Software that your business uses.
Donate to, or participate in foundations associated with projects.
Sponsor conferences.
Contributing to Open Source
Questions?
Who am I?
Mark Baker
Design and Development Manager
InnovEd (Innovative Solutions for Education) Ltd
Coordinator and Developer of:
Open Source PHPOffice library
PHPExcel, PHPWord,PHPPowerPoint, PHPProject, PHPVisio
Minor contributor to PHP core
@Mark_Baker
https://github.com/MarkBaker
http://uk.linkedin.com/pub/mark-baker/b/572/171

You don't need to be a 10x Ninja Rockstar to contribute to Open Source

  • 1.
    You don't needto be a 10x Ninja Rockstar TO CONTRIBUTE TO OPEN SOURCE
  • 2.
  • 3.
    Why Contribute toOpen Source? Why should I contribute? Why should a business contribute?
  • 4.
    Why Should IContribute to Open Source? To give something back. To collaborate with some really smart people. It's interesting and challenging. It's fun! It's a great opportunity to learn something new. It will help you get better jobs in future. ◦ It helps you write better code. ◦ It teaches you about good development practises and quality control. ◦ It looks good on a CV.
  • 5.
    Why should abusiness contribute to Open Source? Helps staff learn more about that Open Source product they use Skilled staff in certain Open Source Projects gives opportunities for selling: ◦ Consultancy ◦ Training Contribution to an Open Source project helps you guide the direction of that project, perhaps to add features that you want. Open Source participation is like free on-the-job training. In addition to learning about the Open Source product itself, your employees learn about: ◦ Software engineering practices ◦ Testing and quality assurance ◦ Communication skills ◦ Teamwork ◦ Leadership Open Source participation impresses potential customers and new employees. Makes upgrading easier if changes are part of the core product rather than patches to the product
  • 6.
    How Can IContribute to Open Source? How can I contribute? How can a business contribute?
  • 7.
    How can Icontribute to open source? Write code. Answer questions on forums (e.g. StackOverflow). Bug Testing. Submit bug reports (SSCCE – Short, Self-Contained, Correct Example – http://www.sscce.org/) Improve documentation / FAQ. Translations. Organize user groups in your local area. Blog about Open Source adoption and contribution, and about packages/libraries that you use. Write Tutorials Organise classes: teach what you know. Speak at a technical conferences.
  • 8.
    How can Icontribute to open source? Understand the goals of the project; make sure your contribution is in line with them. Play by the rules of the project that you're contributing to. Submit complete patches that implement full features: include any test information and documentation. Have low expectations. Learn to accept rejection. Persevere! Improve upon comments and keep sending updates. Be humble. Never add your name to the list of contributors yourself. The project leader should do so, if she or he values your work. Be honest about your available time and skills. Be a doer, not a talker or a troll.
  • 9.
    How can abusiness contribute to open source? Push your changes to Open Source Software back to the developers of those projects. Allow staff members to work on Open Source libraries/applications that your company uses. Partner with an Open Source project for a case study. Offer to host meet-ups for Open Source projects. Offer to provide pizza for Open Source project meet-ups. Provide testimonials about the Open Source Software that your business uses. Donate to, or participate in foundations associated with projects. Sponsor conferences.
  • 10.
    Contributing to OpenSource Questions?
  • 11.
    Who am I? MarkBaker Design and Development Manager InnovEd (Innovative Solutions for Education) Ltd Coordinator and Developer of: Open Source PHPOffice library PHPExcel, PHPWord,PHPPowerPoint, PHPProject, PHPVisio Minor contributor to PHP core @Mark_Baker https://github.com/MarkBaker http://uk.linkedin.com/pub/mark-baker/b/572/171

Editor's Notes

  • #6 Companies understand the unique value derived from software developed through open communities and are welcoming its use in mission critical settings throughout the enterprise. Companies that adopt open source are in a prime position to contribute back to the open source communities on which they depend. For example, most of the Linux kernel is developed and maintained by employees from companies like IBM and RedHat. However, corporate culture in many companies (and particularly in small businesses) tends to lean strictly toward consumption of open source and away from contribution. For example, in a recent survey of the Liferay community we discovered almost 75% of companies that responded do not reward or encourage open source contribution. After responding to the boss' complaint about the website being slow and implementing the grand supplier chain portal redesign, computing staff do not have a lot of spare time for what employers may consider "pet projects" that must be done "off the clock."  What these companies fail to realize is that open source participation is a form of free on-the-job training. Sure, it takes time to fix a bug or implement a new feature, test it, prepare a code commit, and work with the core development team to incorporate the change into the codebase. The good news is that in doing these tasks, employees are learning about sound software engineering practices, quality assurance, leadership, communication skills, and teamwork (often across geographic and cultural boundaries)—a classic win-win for the company and its staff. In addition, each successful contribution is one less thing that the company has to support during future upgrades. Finally, as staff develop expertise through participation, they become much more efficient in using the software, and reduce the cost of incremental feature development and future maintenance. Companies can sell that expertise through value added services related to the project. Companies decide whether to enter into business with other companies based on more than just the bottom line. Forming a deep relationship with the open source communities on which you depend sends a strong signal to your current and potential customers that you are willing to invest in the mutual benefits of open source, and you’d be just as likely to do so with them. Highly skilled job seekers also participate heavily in open source projects and seek out companies with an active presence as potential employers, so it pays to become ingrained in core communities associated with your business.
  • #9 1. Understand the goals of the project and make sure your contribution is in line with them. Work in parallel with the main trunk codebase, and in concert with the project roadmap. Open source projects are fueled by community participation, and the current community has committed to the existing project goals and architecture. While creativity and innovation are important, start by 'coloring between the lines' and working within the existing direction. If you feel the architecture requires re-factoring, considering adding plug-points to graft on your extensions. 2. Submit complete patches that implement full features. Include any test information and documentation. Because open source contributions are vetted and maintained by others, automated test cases and documentation are mandatory patch components. 3. Play by the rules of the project that you're contributing to. Open source is all about community building and crowd sourcing. Project rule violations fractures trust and diminishes collaboration. 4. Be humble. Never add your name to the list of contributors yourself. The project leader should do so, if she or he values your work. It takes awhile to gain street creds and be granted the keys. Take time to understand the view of others, and do not attempt to scale project meritocracy by diminishing others. 5. Have low expectations. Learn to accept rejection. While open source provides a solid foundation, budget enough time and effort to integrate the project into your solution. If an early commit stomps on your work, re-factor your and move on. 6. Persevere. Improve upon comments and keep sending updates. Committers are busy gate-keepers, and may place low priority on your contribution. Keep enhancing the contribution and politely pointing out the contribution's value to the wider community. 7. Be honest and vocal about your available time and skills. While contributing source code can be daunting, other less code-intensive contribution opportunities exist. You may be more comfortable contributing documentation, blog posts, and presentations. 8. Be a doer, not a talker or a troll. Open source project momentum is based on source code, test cases, samples, and documentation. If you are contributing more to email discussion lists rather than the code repository, consider re-prioritizing your effort.
  • #10 It doesn’t take a lot of effort, but encouraging a culture of open source participation will have lasting positive effects on the company, its staff, and the open source communities to which it contributes.