Objectives
Learn how contributing to Open Source Software (OSS) helps you, and how to contribute.
Note
|
|
-
OSS development == Real world development
-
Work on projects that matter
-
Build an independently verifiable resume
-
Work with and learn from Really Smart PeopleTM
-
Collaborative, team-based work
-
Produce deliverables for end-users
-
Develop good practices on using good tools:
-
SCM - Git, SVN, Hg
-
Build - make, Maven, Gradle, Rake
-
CI - Jenkins, Go, Travis, Teamcity
-
Issue management - Bugzilla, JIRA, Mantis, Trac, Redmine
-
Review contributions - Gerrit, GitHub, Bitbucket
-
User documentation - Asciidoc, Docbook, Publican
-
Note
|
|
Good open source projects:
-
Do not exist for vanity
-
Target a particular problem or set of related problems
-
Provide solutions for businesses and individuals
They’re integral to today’s computing infrastructure.
Note
|
|
-
Many open source projects are sponsored by foundations and large companies.
-
Contributions associate you with their work and culture.
-
Contributions also signal your knowledge about the problem and its solutions.
Note
|
|
From the Annual Linux Development Report 2013
-
Nearly 10,000 developers from more than 1,000 companies
-
Contributions from 1,100 developers from 225 companies in 2012
-
with growing numbers from mobile and embedded industries.
Note
|
|
Top 10 organizations sponsoring development, from the Annual Linux Development Report 2013
-
Red Hat
-
Intel
-
Texas Instruments
-
Linaro
-
SUSE
-
IBM
-
Samsung
-
Google
-
Vision Engraving Systems Consultants
-
Wolfson Microelectronics
Note
|
|
Contributions are independently verifiable and undisputable facts.
Why does it matter?
Note
|
|
Independently Verifiable
-
The burden of proof is not always on you.
-
Contributions are public: they can be examined and verified by others.
-
Contributions can be verified in release notes, mailing list archives, bug trackers, commit logs, and more.
Note
|
|
Undisputable
-
Projects guarantee all accredidation is accurate.
-
An accepted contribution has added value to the project.
-
Your code speaks for itself.
Note
|
|
… a real-world portfolio of work gives you an edge when applying for jobs. Contributing to an open source project provides you with that real-world portfolio …
-
Smart people tend to work with other smart people.
-
An OSS project with smart people draws and fosters others.
-
Many of them will be glad to help you learn. Take them up on it.
-
Very high quality of discussion. No bike-shedding.
Note
|
|
Learning takes many forms:
-
Understanding and fixing bugs.
-
Performing code reviews or having your code reviewed.
-
Deliberation over ideas.
-
Designing and implementing new features.
If you are engaged in the project, you will be learning.
Note
|
|
-
Choose a project to contribute to.
-
Preferably one that you already use.
-
-
Become very familiar with it.
-
Get involved on mailing lists, IRC, etc.
-
Discover problem areas. Use the issue tracker.
-
Learn about the processes. Some projects require contributions in only one form.
-
-
Discuss on resolving issues and adding features.
-
Submit a patch.
-
Be courteous.
-
Communicate well. Be accurate with technical and project-specific jargon.
-
Learn the political waters. Every project has them.
-
Remember that you will make mistakes. Learn from them!
-
Be persistent. Continued contributions build respect.
-
Become a committer. You can do anything now !
-
…within reason :)
-
-
Become very knowledgeable in an subject area. Create demand for you.
-
Be open to new opportunities:
-
Presenting at conferences
-
Reviewing books about the project, or even authoring them.
-
Supporting related projects that build on yours.
-
Consulting for companies part/full-time.
-
Note
|
|
Note
|
|
To create the world’s largest and most dynamic community for open software-defined storage
Note
|
|
-
Starts as an attempt to build supercomputers using commodity hardware
-
Storage becomes a bigger challenge and focus shifts to GlusterFS
-
GlusterFS starts getting noticed and people start using it
Note
|
|
-
Better management arrives and adoption of GlusterFS increases
-
Red Hat becomes the primary sponsor for the Gluster community
-
Grows into a community for open source, software-defined storage
Note
|
|
GlusterFS is
-
an open source, distributed, clustered, parallel, scale-out … filesystem
-
runs on commodity hardware
-
fully posix compliant
-
user friendly :)
-
easily extensible
…and much more.
Note
|
|
-
Install and use GlusterFS
-
Join #gluster IRC channel on freenode.net
-
Subscribe to the gluster-users mailing list
-
Interact with other users and give feedback
-
File bugs
Note
|
|
-
Join #gluster-dev on freenode and the [email protected] mailing list
-
Pick something you want to work on:
-
If you want to do something not present in the above two places, start a discussion and get it on there
-
Read the development workflow document at http://gluster.org/simpledevworkflow
-
Contribute code!
Note
|
|
-
Register on http://forge.gluster.org - the home of Open Source software-defined storage development
-
Contribute to a project of your choice
-
…or start your own project and announce it to the community
Note
|
|
Kickstart your contributions with this small contest
-
Visit http://titanpad.com/gluster-misspellings and pick something to fix
-
Fix it and submit the fix
-
Show the submission at the Red Hat booth
-
Win goodies!!
Note
|
|