SlideShare a Scribd company logo
1 of 34
Download to read offline
Samsung Open Source Group 1
How to Contribute to GStreamer
Luis de Bethencourt
Samsung Open Source Group
luisbg@osg.samsung.com
Samsung Open Source Group 2
About Me
● Originally from the Canary Islands. Currently in London.
● Joined GStreamer in 2010
– b870ff15b50c76ef2bad9733493e97b60eca32de
gaudieffects: Adds new plugin 'gaudieffects'
● Working for Samsung's Open Source Group
Samsung Open Source Group 3
Agenda
● Motivation
● The GStreamer Community
● GStreamer development process
– Good practices
– Infrastructure
Samsung Open Source Group 4
Motivation
Samsung Open Source Group 5
Motivation
● GStreamer is a large and global collaborative software development project
● To handle this, maintainers have a very well optimized workflow
● Each project is different. There isn't a single way to submit a patch
● This talk aims to introduce the GStreamer Community
● And give you a running start to help you join and contribute
Join us now and play with GStreamer.
You'll be cool hacker, you'll be cool.
Samsung Open Source Group 6
The GStreamer Community
Samsung Open Source Group 7
Global Community
Samsung Open Source Group 8
Growing Community
Data from openhub.net
● 1,056 contributors (989 by my count)
Samsung Open Source Group 9
Growing Community
git log --reverse --format="%aI %aN" | sort -k 2 | uniq -f 1
Samsung Open Source Group 10
Active Community
Data from openhub.net
● 88,547 commits
Samsung Open Source Group 11
Codebase Growth
Data from openhub.net
● 1,556,544 lines of code
Samsung Open Source Group 12
Professional
● Commits by the day of the week
Samsung Open Source Group 13
Easy to have impact
● 13.6% of contributors have more than 20 commits
● Top 5 contributors represent 42% of commits
● Commits by author
Samsung Open Source Group 14
Release Cycle
● 0.0.1 [1999-06]
● 0.10 [2005-12]
● 1.0 [2012-09]
● 1.2 [2013-09]
● 1.4 [2014-07]
● 1.6 [2015-09]
Samsung Open Source Group 15
1.6 Release Stats
● 6,558 commits
● 230 contributors
● 122 new contributors
Samsung Open Source Group 16
Commercially Backed
● 1.6 Release contributions
– Centricular 44%
– Collabora 17%
– Samsung 15%
– Rest 24%
(Mostly) based on email address domains
Samsung Open Source Group 17
People stay, must be fun!
● 1.6 Release contributors
– 4% joined before 2006
– 17% joined before 2010
– 28% joined before 2012
Samsung Open Source Group 18
Contribution steps
Samsung Open Source Group 19
Contribution steps
● Early research
● Patch preparation
● Patch formatting and posting
● Waiting feedback
● Patches landed
Samsung Open Source Group 20
Early research
● Experiment with gst-launch-1.0
● Learn about elements with gst-inspect-1.0
● Read GStreamer Application Development Manual
– http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/index.html
● Read GStreamer Plugin Writer's Guide
– http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/index.html
● Read examples in codebase
– They can be found in the “tests/examples” folder of each GStreamer module
– For example: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/tests/examples
● GstPlayer (or any other application based on Gstreamer, except snappy)
● Read the codebase
● Ask questions in the mailing list or IRC
Samsung Open Source Group 21
Contribution ladder
GStreamer is a big Open Source project where you not only have to do technical
work but also will have to interact with its big (and diverse) friendly community.
For that reason, it's important to get started in a way that enables the newcomer to
contribute patches but also to understand the community and related workflows
Contribution ladder to get started:
– Bug triaging
– Bug reporting
– Code reviewing
– Bug fixing
– Enhancements or new features
Samsung Open Source Group 22
Build GStreamer
●
mkdir -p gst/uninstalled
●
cd gst/uninstalled
●
git clone git://anongit.freedesktop.org/gstreamer/gstreamer
(and all interesting modules in http://cgit.freedesktop.org/gstreamer/)
●
cd ../..
●
cp gst/uninstalled/gstreamer/scripts/gst-uninstalled ..
●
edit MYGST in gst-uninstalled
●
/gst-uninstalled
(now all paths lead to the uninstalled version)
●
echo $PATH
●
cd gstreamer
●
/autogen.sh; make
(congratulations! you have your own latest gstreamer core)
●
which gst-launch-1.0
(gst-inspect-1.0 will only have coreelements)
●
cd ..; cp gstreamer/scripts/git-update.sh .
●
/git-update.sh
Samsung Open Source Group 23
First Steps with GStreamer
●
Test failures: Test reported bugs in GStreamer's Bugzilla (bugzilla.gnome.org/browse.cgi?
product=GStreamer)
●
Report bugs: Check the continuous integration server
(https://jenkins.arracacha.collabora.co.uk/) or you run 'make check'. Once you selected the tests,
you check if it has been reported in Bugzilla. If it isn't, report it. You can try to find the root issue
why they fail and work on a patch to fix it. Join the conversation with useful information!
●
Fix bugs: you go to the GStreamer's Bugzilla and search for relevant bugs that you might help
with and/or you might have an interest in working on.
●
Enhancements or new features: open a new bug thread in Bugzilla with your idea and design.
Confirm the feature is of interest and the design is approved before you start coding.
Small steps: at the beginning, it's normally more useful to start with bug triaging, test failures,
small fixes because it allows you know the workflow and community in an easier and faster way
Samsung Open Source Group 24
Patch formatting and posting
● Gst-indent
– Run gst-indent on .c files.
– You can find it at: http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tools/gst-indent
●Bugzilla
– Register an account in bugzilla.gnome.org
– Two possible ways to submit a patch:
–Create a new bug
● https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
– If a bug already exist, attach your patch to it
– Add link to bugzilla as the last line of the commit message
Samsung Open Source Group 25
The perfect commit message
commit 41fdf21a60ca69bdc90bef367fbce41dcf4415ad
Author: Tim-Philipp Müller <tim@centricular.com>
Date: Sat May 30 14:27:05 2015 +0100
queue: avoid slice allocs/frees for each item
Microoptimisation: Let GstQueueArray store our
item struct. That way we don't have to alloc/free
temporary QueueItem slices for every item we want
to put into the queue.
https://bugzilla.gnome.org/show_bug.cgi?id=750149
Samsung Open Source Group 26
Patch formatting and posting
● Gst-indent
– Run gst-indent on .c files.
– You can find it at: http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tools/gst-indent
●Bugzilla
– Register an account in bugzilla.gnome.org
– Two possible ways to submit a patch:
–Create a new bug
● https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
– If a bug already exist, attach your patch to it
– Add link to bugzilla as the last line of the commit message
Samsung Open Source Group 27
Waiting for feedback
●
Review happens in bugzilla
●
Give some time for reviewers to show up
●
If no reviews in a week
– Ask people directly
– Who? Git log and git blame are your friends
Samsung Open Source Group 28
Patches landed
●Once accepted. A maintainer will push the commit upstream.
●Set the patch state to 'Committed' in bugzilla.
●Set the bug milestone and status.
– Current milestone 1.7.1
– Status: Resolved and Fixed
●
o/
Samsung Open Source Group 29
Be Social
It is very important to communicate with the group. They are a lovely bunch.
●
Mailing lists: http://gstreamer.freedesktop.org/lists/
– gstreamer-announce – for important announcements (moderated)
– gstreamer-devel – general discussion (open for you to talk here)
●
IRC: #gstreamer @ irc.freenode.net
●
GStreamer Conference: every year around October
●
GStreamer Hackfests: twice a year
If you do this, you will normally be able to get engaged in GStreamer in a much
easier way, which will help you to grow your knowledge and status in the
community.
Samsung Open Source Group 30
Finding Bugs
●
Use GStreamer from the git (development version)
●
Run gstreamer/tree/scripts/five-bugs-a-day.pl
●
Search in https://bugzilla.gnome.org/browse.cgi?product=GStreamer
Samsung Open Source Group 31
Finding Bugs
●
That said, it is best to focus on an area of Gstreamer to develop
expertise or even maintain a component. Then bugs will come to you.
Samsung Open Source Group 32
Find Me
● If you ever struggle when joining or participating with the community…
●
luis@debethencourt.com
luisbg@osg.samsung.com
luisbg @ freenode
@luisbg
Samsung Open Source Group 33
Questions?
Samsung Open Source Group 34
Thank You!

More Related Content

What's hot

Javascript in linux desktop (ICOS ver.)
Javascript in linux desktop (ICOS ver.)Javascript in linux desktop (ICOS ver.)
Javascript in linux desktop (ICOS ver.)Yuren Ju
 
Tutorial to setup OpenStreetMap tileserver with customized boundaries of India
Tutorial to setup OpenStreetMap tileserver with customized boundaries of IndiaTutorial to setup OpenStreetMap tileserver with customized boundaries of India
Tutorial to setup OpenStreetMap tileserver with customized boundaries of IndiaArun Ganesh
 
chainer-trt: ChainerとTensorRTで超高速推論
chainer-trt: ChainerとTensorRTで超高速推論chainer-trt: ChainerとTensorRTで超高速推論
chainer-trt: ChainerとTensorRTで超高速推論belltailjp
 
Доклад Антона Поварова "Go in Badoo" с Golang Meetup
Доклад Антона Поварова "Go in Badoo" с Golang MeetupДоклад Антона Поварова "Go in Badoo" с Golang Meetup
Доклад Антона Поварова "Go in Badoo" с Golang MeetupBadoo Development
 
Profiling and optimizing go programs
Profiling and optimizing go programsProfiling and optimizing go programs
Profiling and optimizing go programsBadoo Development
 
Monitoring with Ganglia
Monitoring with GangliaMonitoring with Ganglia
Monitoring with GangliaFastly
 
GR8Conf 2011: GContracts
GR8Conf 2011: GContractsGR8Conf 2011: GContracts
GR8Conf 2011: GContractsGR8Conf
 
Ganglia monitoring
Ganglia monitoringGanglia monitoring
Ganglia monitoringChen Robert
 
LXC on Ganeti
LXC on GanetiLXC on Ganeti
LXC on Ganetikawamuray
 
Ganglia Monitoring Tool
Ganglia Monitoring ToolGanglia Monitoring Tool
Ganglia Monitoring Toolsudhirpg
 
ggExtra Package-ggMarginal and Example -Shiny and Shinyjs
ggExtra Package-ggMarginal and Example -Shiny and ShinyjsggExtra Package-ggMarginal and Example -Shiny and Shinyjs
ggExtra Package-ggMarginal and Example -Shiny and ShinyjsDr. Volkan OBAN
 
Basics of gtk_ilugc
Basics of gtk_ilugcBasics of gtk_ilugc
Basics of gtk_ilugcilugc
 
RSA NetWitness Log Decoder
RSA NetWitness Log DecoderRSA NetWitness Log Decoder
RSA NetWitness Log DecoderSusam Pal
 
Global Interpreter Lock: Episode III - cat &lt; /dev/zero > GIL;
Global Interpreter Lock: Episode III - cat &lt; /dev/zero > GIL;Global Interpreter Lock: Episode III - cat &lt; /dev/zero > GIL;
Global Interpreter Lock: Episode III - cat &lt; /dev/zero > GIL;Tzung-Bi Shih
 
GUI Programming with Perl / GTK
GUI Programming with Perl / GTKGUI Programming with Perl / GTK
GUI Programming with Perl / GTKAnuradha Weeraman
 
OpenStack for Centos
OpenStack for CentosOpenStack for Centos
OpenStack for CentosChandan Kumar
 
Kernel Recipes 2015: Introduction to Kernel Power Management
Kernel Recipes 2015: Introduction to Kernel Power ManagementKernel Recipes 2015: Introduction to Kernel Power Management
Kernel Recipes 2015: Introduction to Kernel Power ManagementAnne Nicolas
 
New Views on your History with git replace
New Views on your History with git replaceNew Views on your History with git replace
New Views on your History with git replaceChristian Couder
 

What's hot (20)

Javascript in linux desktop (ICOS ver.)
Javascript in linux desktop (ICOS ver.)Javascript in linux desktop (ICOS ver.)
Javascript in linux desktop (ICOS ver.)
 
Tutorial to setup OpenStreetMap tileserver with customized boundaries of India
Tutorial to setup OpenStreetMap tileserver with customized boundaries of IndiaTutorial to setup OpenStreetMap tileserver with customized boundaries of India
Tutorial to setup OpenStreetMap tileserver with customized boundaries of India
 
chainer-trt: ChainerとTensorRTで超高速推論
chainer-trt: ChainerとTensorRTで超高速推論chainer-trt: ChainerとTensorRTで超高速推論
chainer-trt: ChainerとTensorRTで超高速推論
 
Доклад Антона Поварова "Go in Badoo" с Golang Meetup
Доклад Антона Поварова "Go in Badoo" с Golang MeetupДоклад Антона Поварова "Go in Badoo" с Golang Meetup
Доклад Антона Поварова "Go in Badoo" с Golang Meetup
 
Profiling and optimizing go programs
Profiling and optimizing go programsProfiling and optimizing go programs
Profiling and optimizing go programs
 
Monitoring with Ganglia
Monitoring with GangliaMonitoring with Ganglia
Monitoring with Ganglia
 
Ganeti - build your own cloud
Ganeti - build your own cloudGaneti - build your own cloud
Ganeti - build your own cloud
 
GR8Conf 2011: GContracts
GR8Conf 2011: GContractsGR8Conf 2011: GContracts
GR8Conf 2011: GContracts
 
Ganglia monitoring
Ganglia monitoringGanglia monitoring
Ganglia monitoring
 
LXC on Ganeti
LXC on GanetiLXC on Ganeti
LXC on Ganeti
 
Ganglia Monitoring Tool
Ganglia Monitoring ToolGanglia Monitoring Tool
Ganglia Monitoring Tool
 
ggExtra Package-ggMarginal and Example -Shiny and Shinyjs
ggExtra Package-ggMarginal and Example -Shiny and ShinyjsggExtra Package-ggMarginal and Example -Shiny and Shinyjs
ggExtra Package-ggMarginal and Example -Shiny and Shinyjs
 
Efficient containers
Efficient containers Efficient containers
Efficient containers
 
Basics of gtk_ilugc
Basics of gtk_ilugcBasics of gtk_ilugc
Basics of gtk_ilugc
 
RSA NetWitness Log Decoder
RSA NetWitness Log DecoderRSA NetWitness Log Decoder
RSA NetWitness Log Decoder
 
Global Interpreter Lock: Episode III - cat &lt; /dev/zero > GIL;
Global Interpreter Lock: Episode III - cat &lt; /dev/zero > GIL;Global Interpreter Lock: Episode III - cat &lt; /dev/zero > GIL;
Global Interpreter Lock: Episode III - cat &lt; /dev/zero > GIL;
 
GUI Programming with Perl / GTK
GUI Programming with Perl / GTKGUI Programming with Perl / GTK
GUI Programming with Perl / GTK
 
OpenStack for Centos
OpenStack for CentosOpenStack for Centos
OpenStack for Centos
 
Kernel Recipes 2015: Introduction to Kernel Power Management
Kernel Recipes 2015: Introduction to Kernel Power ManagementKernel Recipes 2015: Introduction to Kernel Power Management
Kernel Recipes 2015: Introduction to Kernel Power Management
 
New Views on your History with git replace
New Views on your History with git replaceNew Views on your History with git replace
New Views on your History with git replace
 

Similar to How to Contribute to GStreamer

A Survivor's Guide to Contributing to the Linux Kernel
A Survivor's Guide to Contributing to the Linux KernelA Survivor's Guide to Contributing to the Linux Kernel
A Survivor's Guide to Contributing to the Linux KernelSamsung Open Source Group
 
Managing software product versioning with Gitflow, VSTS and Atlassian SourceTree
Managing software product versioning with Gitflow, VSTS and Atlassian SourceTreeManaging software product versioning with Gitflow, VSTS and Atlassian SourceTree
Managing software product versioning with Gitflow, VSTS and Atlassian SourceTreeBosnia Agile
 
Static Analysis of Your OSS Project with Coverity
Static Analysis of Your OSS Project with CoverityStatic Analysis of Your OSS Project with Coverity
Static Analysis of Your OSS Project with CoveritySamsung Open Source Group
 
7 tools for your devops stack
7 tools for your devops stack7 tools for your devops stack
7 tools for your devops stackKris Buytaert
 
Buytaert kris tools
Buytaert kris toolsBuytaert kris tools
Buytaert kris toolskuchinskaya
 
he Future of Continuous Integration in GNOME
he Future of Continuous Integration in GNOME he Future of Continuous Integration in GNOME
he Future of Continuous Integration in GNOME dmgerman
 
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...apidays
 
Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...
Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...
Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...Geshan Manandhar
 
How to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineHow to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineElasTest Project
 
Git for work groups ironhack talk
Git for work groups ironhack talkGit for work groups ironhack talk
Git for work groups ironhack talkTiago Ameller
 
Releaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy processReleaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy processChristopher Cundill
 
What is version control software and why do you need it?
What is version control software and why do you need it?What is version control software and why do you need it?
What is version control software and why do you need it?Leonid Mamchenkov
 
Agile_SDLC_Node.js@Paypal_ppt
Agile_SDLC_Node.js@Paypal_pptAgile_SDLC_Node.js@Paypal_ppt
Agile_SDLC_Node.js@Paypal_pptHitesh Kumar
 

Similar to How to Contribute to GStreamer (20)

A Survivor's Guide to Contributing to the Linux Kernel
A Survivor's Guide to Contributing to the Linux KernelA Survivor's Guide to Contributing to the Linux Kernel
A Survivor's Guide to Contributing to the Linux Kernel
 
Managing software product versioning with Gitflow, VSTS and Atlassian SourceTree
Managing software product versioning with Gitflow, VSTS and Atlassian SourceTreeManaging software product versioning with Gitflow, VSTS and Atlassian SourceTree
Managing software product versioning with Gitflow, VSTS and Atlassian SourceTree
 
Open Source_Git.pptx
Open Source_Git.pptxOpen Source_Git.pptx
Open Source_Git.pptx
 
FFmpeg: A Retrospective
FFmpeg: A RetrospectiveFFmpeg: A Retrospective
FFmpeg: A Retrospective
 
Introduction to git & github
Introduction to git & githubIntroduction to git & github
Introduction to git & github
 
Static Analysis of Your OSS Project with Coverity
Static Analysis of Your OSS Project with CoverityStatic Analysis of Your OSS Project with Coverity
Static Analysis of Your OSS Project with Coverity
 
7 tools for your devops stack
7 tools for your devops stack7 tools for your devops stack
7 tools for your devops stack
 
Buytaert kris tools
Buytaert kris toolsBuytaert kris tools
Buytaert kris tools
 
he Future of Continuous Integration in GNOME
he Future of Continuous Integration in GNOME he Future of Continuous Integration in GNOME
he Future of Continuous Integration in GNOME
 
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
 
Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...
Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...
Do You Git Your Code? Follow Simplified Gitflow Branching Model to Improve Pr...
 
How to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineHow to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipeline
 
Git for work groups ironhack talk
Git for work groups ironhack talkGit for work groups ironhack talk
Git for work groups ironhack talk
 
Releaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy processReleaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy process
 
Open source
Open sourceOpen source
Open source
 
Git Basics
Git BasicsGit Basics
Git Basics
 
Gerrit Code Review
Gerrit Code ReviewGerrit Code Review
Gerrit Code Review
 
What is version control software and why do you need it?
What is version control software and why do you need it?What is version control software and why do you need it?
What is version control software and why do you need it?
 
git-flow R3Labs
git-flow R3Labsgit-flow R3Labs
git-flow R3Labs
 
Agile_SDLC_Node.js@Paypal_ppt
Agile_SDLC_Node.js@Paypal_pptAgile_SDLC_Node.js@Paypal_ppt
Agile_SDLC_Node.js@Paypal_ppt
 

More from Samsung Open Source Group

The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)Samsung Open Source Group
 
Rapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBRapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBSamsung Open Source Group
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesSamsung Open Source Group
 
IoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondIoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondSamsung Open Source Group
 
IoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialIoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialSamsung Open Source Group
 
Open Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategyOpen Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategySamsung Open Source Group
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilitySamsung Open Source Group
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...Samsung Open Source Group
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceSamsung Open Source Group
 
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivityIoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivitySamsung Open Source Group
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxSamsung Open Source Group
 
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxIoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxSamsung Open Source Group
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsJerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsSamsung Open Source Group
 

More from Samsung Open Source Group (20)

The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)
 
Easy IoT with JavaScript
Easy IoT with JavaScriptEasy IoT with JavaScript
Easy IoT with JavaScript
 
Spawny: A New Approach to Logins
Spawny: A New Approach to LoginsSpawny: A New Approach to Logins
Spawny: A New Approach to Logins
 
Rapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBRapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USB
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
 
IoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondIoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and Beyond
 
IoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialIoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorial
 
GENIVI + OCF Cooperation
GENIVI + OCF CooperationGENIVI + OCF Cooperation
GENIVI + OCF Cooperation
 
Framework for IoT Interoperability
Framework for IoT InteroperabilityFramework for IoT Interoperability
Framework for IoT Interoperability
 
Open Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategyOpen Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate Strategy
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT Interoperability
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
IoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the Cloud
 
SOSCON 2016 JerryScript
SOSCON 2016 JerryScriptSOSCON 2016 JerryScript
SOSCON 2016 JerryScript
 
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivityIoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
 
Run Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT NetworkRun Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT Network
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
 
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxIoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsJerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
 

Recently uploaded

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile EnvironmentVictorSzoltysek
 

Recently uploaded (20)

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 

How to Contribute to GStreamer

  • 1. Samsung Open Source Group 1 How to Contribute to GStreamer Luis de Bethencourt Samsung Open Source Group luisbg@osg.samsung.com
  • 2. Samsung Open Source Group 2 About Me ● Originally from the Canary Islands. Currently in London. ● Joined GStreamer in 2010 – b870ff15b50c76ef2bad9733493e97b60eca32de gaudieffects: Adds new plugin 'gaudieffects' ● Working for Samsung's Open Source Group
  • 3. Samsung Open Source Group 3 Agenda ● Motivation ● The GStreamer Community ● GStreamer development process – Good practices – Infrastructure
  • 4. Samsung Open Source Group 4 Motivation
  • 5. Samsung Open Source Group 5 Motivation ● GStreamer is a large and global collaborative software development project ● To handle this, maintainers have a very well optimized workflow ● Each project is different. There isn't a single way to submit a patch ● This talk aims to introduce the GStreamer Community ● And give you a running start to help you join and contribute Join us now and play with GStreamer. You'll be cool hacker, you'll be cool.
  • 6. Samsung Open Source Group 6 The GStreamer Community
  • 7. Samsung Open Source Group 7 Global Community
  • 8. Samsung Open Source Group 8 Growing Community Data from openhub.net ● 1,056 contributors (989 by my count)
  • 9. Samsung Open Source Group 9 Growing Community git log --reverse --format="%aI %aN" | sort -k 2 | uniq -f 1
  • 10. Samsung Open Source Group 10 Active Community Data from openhub.net ● 88,547 commits
  • 11. Samsung Open Source Group 11 Codebase Growth Data from openhub.net ● 1,556,544 lines of code
  • 12. Samsung Open Source Group 12 Professional ● Commits by the day of the week
  • 13. Samsung Open Source Group 13 Easy to have impact ● 13.6% of contributors have more than 20 commits ● Top 5 contributors represent 42% of commits ● Commits by author
  • 14. Samsung Open Source Group 14 Release Cycle ● 0.0.1 [1999-06] ● 0.10 [2005-12] ● 1.0 [2012-09] ● 1.2 [2013-09] ● 1.4 [2014-07] ● 1.6 [2015-09]
  • 15. Samsung Open Source Group 15 1.6 Release Stats ● 6,558 commits ● 230 contributors ● 122 new contributors
  • 16. Samsung Open Source Group 16 Commercially Backed ● 1.6 Release contributions – Centricular 44% – Collabora 17% – Samsung 15% – Rest 24% (Mostly) based on email address domains
  • 17. Samsung Open Source Group 17 People stay, must be fun! ● 1.6 Release contributors – 4% joined before 2006 – 17% joined before 2010 – 28% joined before 2012
  • 18. Samsung Open Source Group 18 Contribution steps
  • 19. Samsung Open Source Group 19 Contribution steps ● Early research ● Patch preparation ● Patch formatting and posting ● Waiting feedback ● Patches landed
  • 20. Samsung Open Source Group 20 Early research ● Experiment with gst-launch-1.0 ● Learn about elements with gst-inspect-1.0 ● Read GStreamer Application Development Manual – http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/index.html ● Read GStreamer Plugin Writer's Guide – http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/index.html ● Read examples in codebase – They can be found in the “tests/examples” folder of each GStreamer module – For example: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/tests/examples ● GstPlayer (or any other application based on Gstreamer, except snappy) ● Read the codebase ● Ask questions in the mailing list or IRC
  • 21. Samsung Open Source Group 21 Contribution ladder GStreamer is a big Open Source project where you not only have to do technical work but also will have to interact with its big (and diverse) friendly community. For that reason, it's important to get started in a way that enables the newcomer to contribute patches but also to understand the community and related workflows Contribution ladder to get started: – Bug triaging – Bug reporting – Code reviewing – Bug fixing – Enhancements or new features
  • 22. Samsung Open Source Group 22 Build GStreamer ● mkdir -p gst/uninstalled ● cd gst/uninstalled ● git clone git://anongit.freedesktop.org/gstreamer/gstreamer (and all interesting modules in http://cgit.freedesktop.org/gstreamer/) ● cd ../.. ● cp gst/uninstalled/gstreamer/scripts/gst-uninstalled .. ● edit MYGST in gst-uninstalled ● /gst-uninstalled (now all paths lead to the uninstalled version) ● echo $PATH ● cd gstreamer ● /autogen.sh; make (congratulations! you have your own latest gstreamer core) ● which gst-launch-1.0 (gst-inspect-1.0 will only have coreelements) ● cd ..; cp gstreamer/scripts/git-update.sh . ● /git-update.sh
  • 23. Samsung Open Source Group 23 First Steps with GStreamer ● Test failures: Test reported bugs in GStreamer's Bugzilla (bugzilla.gnome.org/browse.cgi? product=GStreamer) ● Report bugs: Check the continuous integration server (https://jenkins.arracacha.collabora.co.uk/) or you run 'make check'. Once you selected the tests, you check if it has been reported in Bugzilla. If it isn't, report it. You can try to find the root issue why they fail and work on a patch to fix it. Join the conversation with useful information! ● Fix bugs: you go to the GStreamer's Bugzilla and search for relevant bugs that you might help with and/or you might have an interest in working on. ● Enhancements or new features: open a new bug thread in Bugzilla with your idea and design. Confirm the feature is of interest and the design is approved before you start coding. Small steps: at the beginning, it's normally more useful to start with bug triaging, test failures, small fixes because it allows you know the workflow and community in an easier and faster way
  • 24. Samsung Open Source Group 24 Patch formatting and posting ● Gst-indent – Run gst-indent on .c files. – You can find it at: http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tools/gst-indent ●Bugzilla – Register an account in bugzilla.gnome.org – Two possible ways to submit a patch: –Create a new bug ● https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer – If a bug already exist, attach your patch to it – Add link to bugzilla as the last line of the commit message
  • 25. Samsung Open Source Group 25 The perfect commit message commit 41fdf21a60ca69bdc90bef367fbce41dcf4415ad Author: Tim-Philipp Müller <tim@centricular.com> Date: Sat May 30 14:27:05 2015 +0100 queue: avoid slice allocs/frees for each item Microoptimisation: Let GstQueueArray store our item struct. That way we don't have to alloc/free temporary QueueItem slices for every item we want to put into the queue. https://bugzilla.gnome.org/show_bug.cgi?id=750149
  • 26. Samsung Open Source Group 26 Patch formatting and posting ● Gst-indent – Run gst-indent on .c files. – You can find it at: http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tools/gst-indent ●Bugzilla – Register an account in bugzilla.gnome.org – Two possible ways to submit a patch: –Create a new bug ● https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer – If a bug already exist, attach your patch to it – Add link to bugzilla as the last line of the commit message
  • 27. Samsung Open Source Group 27 Waiting for feedback ● Review happens in bugzilla ● Give some time for reviewers to show up ● If no reviews in a week – Ask people directly – Who? Git log and git blame are your friends
  • 28. Samsung Open Source Group 28 Patches landed ●Once accepted. A maintainer will push the commit upstream. ●Set the patch state to 'Committed' in bugzilla. ●Set the bug milestone and status. – Current milestone 1.7.1 – Status: Resolved and Fixed ● o/
  • 29. Samsung Open Source Group 29 Be Social It is very important to communicate with the group. They are a lovely bunch. ● Mailing lists: http://gstreamer.freedesktop.org/lists/ – gstreamer-announce – for important announcements (moderated) – gstreamer-devel – general discussion (open for you to talk here) ● IRC: #gstreamer @ irc.freenode.net ● GStreamer Conference: every year around October ● GStreamer Hackfests: twice a year If you do this, you will normally be able to get engaged in GStreamer in a much easier way, which will help you to grow your knowledge and status in the community.
  • 30. Samsung Open Source Group 30 Finding Bugs ● Use GStreamer from the git (development version) ● Run gstreamer/tree/scripts/five-bugs-a-day.pl ● Search in https://bugzilla.gnome.org/browse.cgi?product=GStreamer
  • 31. Samsung Open Source Group 31 Finding Bugs ● That said, it is best to focus on an area of Gstreamer to develop expertise or even maintain a component. Then bugs will come to you.
  • 32. Samsung Open Source Group 32 Find Me ● If you ever struggle when joining or participating with the community… ● luis@debethencourt.com luisbg@osg.samsung.com luisbg @ freenode @luisbg
  • 33. Samsung Open Source Group 33 Questions?
  • 34. Samsung Open Source Group 34 Thank You!