The document discusses open source software and contributing to open source projects. It defines open source software as community-driven, collaboratively built, transparent, and available for all to change and redistribute. Open source relies on a self-motivated community with different levels of involvement from users to code contributors. Organizations can influence projects through contributions like code, resources, or sponsorship. The document encourages contributing to open source to build skills, learn collaboration, and gain public experience for one's resume. It provides tips like being patient, sharing ideas, accepting criticism, and staying engaged through developer forums and mailing lists.
2. What’s Open Source Software
• Software that is
• community driven
• built in collaborative manner
• open to everyone
• transparent to all involved
• available for change, redistribution, etc
3. Community driven
Community
self motivated and self driven group of people working together
on shared goals
• meritocracy
• passion
• engagement
• self growing - inspiring new members
4. Collaboration and contribution
It’s not all about code
• There are different levels of involvement
• user
• advanced user
• expert
• code contributor
• team member
6. Organization contribution
• Take and give - again different levels of contribution
• Influence road map of the project
• Provide contributors
• Become a sponsor
• Run the projects
• Gain better visibility in the industry
That’s how Open Standards are created - by organization
collaboration
7. Open Source Contributor
• Your work is open - whatever you do is public
• By doing the work you gain respect and develop your skills
• Don’t reinvent the wheel - use what’s there and if needed
build it only once
• global collaboration - learn how to efficiently work with
distributed teams
• value your ideas - passion about working with the project
8. Difference between proprietary
and open source
• While working on open source you build your resume -
public references of your experience
• Less hierarchy - respect and expertise are the most
important
• In many cases proprietary software is based on open source
though not mentioned as such
• why to add additional layer of complexity on top of open
source
9. Our Personal Experience
• Be patient
• Be motivated
• Share your ideas
• Learn by helping others
• Don’t be shy
• Learn to accept criticism (“turn off the ego”)
• Take and give back
• Don’t be perfect - prepare for redo things
10. Contribute!
• Fork the repository in GitHub
• Clone the repository / make a branch for your contribution
• Push and create pull requests (from github UI)
• Then keep your fork up to date
• git remote add blessed <repo URL>
• git fetch blessed <branch>
• git rebase blessed/<branch>