SlideShare a Scribd company logo
Towards Better
Open-Source
Development:
Improving PyQtGraph’s
Feature-Development
Process
Thesis Presentation
By Aditya Kelekar
BE (IT) Metropolia University of Applied Sciences
-
– Let’s spare a moment to think about
what is happening with a giant open-
source software project….
At a well-known open-source project
Source: Linux Kernel Report 2017, Linux Foundation
Figure 1:
Top companies
contributing to
the Linux kernel,
4.8– 4.13 in 2017
Linux Kernel Contributors
Table of Contents
– 1. What is PyQtGraph and where does it come from?
– 2. Open Source Feature Development: Known Facts
– 3. Analysis of PyQtGraph’s Feature Development Process
– 4. Guidelines for PyQtGraph’s Feature Process
Improvements
– 5. Conclusions
PyQtGraph: A graphic library
Functionalities:
– Basic 2D plotting
– Image display with interactive
lookup tables
– 3D graphics system
– Library of widgets and modules
useful for science/engineering
applications
Source: www.pyqtgraph.orgFigure 2: Histogram drawn with
PyQtGraph
PyQtGraph:
Components & Competitors
Figure 3:
PyQtGraph’s Dependencies
and Other Graphics Libraries
NOTE: Size of shapes is not an
indicator of any metric
Feature Development in Open-Soure Software
– Iterative process with a public repository
– Mailing list, Forum Boards
– Small, frequent changes to code repository
– Few key developers (that is, limited resources)
– Atleast one maintainer
Applying Pirate Metrics to
PyQtGraph Project
Figure 4: The
AARRR! Metrics
for PyQtGraph
Source:
Pirate Metrics: A new
way to measure open
source community
success by Gaby Fachler
To Accept or Not to Accept?
– A dilemma often presenting itself to the maintainer:
– One side:
– Accepting (new) code appeases the feature contributor; (possibly also) other
users
– Other side:
– New code becomes the responsibility of the maintainer
PyQtGraph’s Code Development
– Bug Reports and New Feature Proposals on GitHub Issues, GitHub Pull Request
and PyQtGraph GoogleGroups pages
– Maintainer of the GitHub (and also founder): Luke Campagnola
– 8-10 user queries/feature proposals every month
– 60 percent of user queries/feature proposals are answered
– About 40 ‘listed’ contributors
– All development is voluntary-based
– FAQ for prospective contributors is available
PyQtGraph Google Group Statistics
Figure 5: Data Related to Number of Posts on PyQtGraph ’Google
Group’ Forum site
Analysing the Library Forum Posts
– Only posts where the maintainer had commented were analysed
– Corresponding changes in code in Github were studied
– A list of observations was created
– 3 cases of feature development were studied
– The 3 cases represented different feature development outcomes
A Successful Development Cycle
aa
Figure 6: Timeline
of events for a
typical successful
feature-addition
process.
Case of Unsuccessful Feature
Development
Figure 7:
Timeline of
interactions for
the “New Time
Axis” proposed
feature
Suggested Improvements for Feature
Development Process
– Need for a Collaboration Tool.
(Objective: focus the current development resources towards feature completion)
– A new metric to assign collaboration level for new feature code posts
– Visibility of across GithHub and Google Groups forum
– While feature development in progress: correction list auto-tracking features
Pirate Metrics + Interactions
Component
Figure 8:
Extended
Pirate Metrics
with
Interactions
component
PyQtGraph’s GitHub Pull
Requests Page
Conclusions: Beneficiaries &
Limitiations of Scope
– This study could aid:
• a developer wishing to contribute to the PyQtGraph project code
• maintainer of the PyQtGraph project
• User studying the open-source process
- Limitations:
 Research based only on one open-source library
 Each open-source project may have its own dynamics
References:
– 1. Luke Campagnola. PyQtGraph Project Home page:
http://www.pyqtgraph.org/ [Internet] [cited 24 April 2018]
– 2. Luke Campagnola. PyQtGraph Project Official Documentation page:
http://www.pyqtgraph.org/documentation/installation.html [Internet] [cited 24
April 2018]
– 3. Pirate Metrics: A new way to measure open source community success.
https://opensource.com/business/16/6/pirate-metrics [Internet] [cited 24 April
2018]
Thank You!
Any Questions?

More Related Content

Similar to Towards Better Open-Source Development:

FinalReport
FinalReportFinalReport
FinalReport
Katy Lee
 
Git influencer -catherine shen
Git influencer -catherine shenGit influencer -catherine shen
Git influencer -catherine shen
Catherine Shen
 
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
AmarnathKambale
 
A data-driven approach for understanding Open Design @ Design For Next
A data-driven approach for understanding Open Design @ Design For NextA data-driven approach for understanding Open Design @ Design For Next
A data-driven approach for understanding Open Design @ Design For Next
MAKE-IT
 
Maruti gollapudi cv
Maruti gollapudi cvMaruti gollapudi cv
Maruti gollapudi cv
Maruti Gollapudi
 
London atlassian meetup 31 jan 2016 jira metrics-extract slides
London atlassian meetup 31 jan 2016 jira metrics-extract slidesLondon atlassian meetup 31 jan 2016 jira metrics-extract slides
London atlassian meetup 31 jan 2016 jira metrics-extract slides
Rudiger Wolf
 
Primers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code ReviewPrimers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code Review
Delft University of Technology
 
Big Data projects.pdf
Big Data projects.pdfBig Data projects.pdf
Big Data projects.pdf
ssuserf0a206
 
Data Sharing, Distribution and Updating Using Social Coding Community Github ...
Data Sharing, Distribution and Updating Using Social Coding Community Github ...Data Sharing, Distribution and Updating Using Social Coding Community Github ...
Data Sharing, Distribution and Updating Using Social Coding Community Github ...
Universität Salzburg
 
EDUPUB Implementation Demo Showcase - Reference SW using Readium JS
EDUPUB Implementation Demo Showcase - Reference SW using Readium JSEDUPUB Implementation Demo Showcase - Reference SW using Readium JS
EDUPUB Implementation Demo Showcase - Reference SW using Readium JS
Open Cyber University of Korea
 
CI / CD with fabric8
CI / CD with fabric8 CI / CD with fabric8
CI / CD with fabric8
James Rawlings
 
Building Reactive Real-time Data Pipeline
Building Reactive Real-time Data PipelineBuilding Reactive Real-time Data Pipeline
Building Reactive Real-time Data Pipeline
Trieu Nguyen
 
Software Development Practices.pdf
Software Development Practices.pdfSoftware Development Practices.pdf
Software Development Practices.pdf
Ezhumalai p
 
Mohit Kalra
Mohit KalraMohit Kalra
Mohit Kalra
mdk8989
 
Research data spring: streamlining deposit
Research data spring: streamlining depositResearch data spring: streamlining deposit
Research data spring: streamlining deposit
Jisc RDM
 
Crunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCONCrunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCON
Dawn Foster
 
Crunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community MetricsCrunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community Metrics
Dawn Foster
 
Cytoscape: Now and Future
Cytoscape: Now and FutureCytoscape: Now and Future
Cytoscape: Now and Future
Keiichiro Ono
 
Final Algos
Final AlgosFinal Algos
Final Algos
Anirudh Mallem
 
Self-Service IoT Data Analytics with StreamPipes
Self-Service IoT Data Analytics with StreamPipesSelf-Service IoT Data Analytics with StreamPipes
Self-Service IoT Data Analytics with StreamPipes
Apache StreamPipes
 

Similar to Towards Better Open-Source Development: (20)

FinalReport
FinalReportFinalReport
FinalReport
 
Git influencer -catherine shen
Git influencer -catherine shenGit influencer -catherine shen
Git influencer -catherine shen
 
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
 
A data-driven approach for understanding Open Design @ Design For Next
A data-driven approach for understanding Open Design @ Design For NextA data-driven approach for understanding Open Design @ Design For Next
A data-driven approach for understanding Open Design @ Design For Next
 
Maruti gollapudi cv
Maruti gollapudi cvMaruti gollapudi cv
Maruti gollapudi cv
 
London atlassian meetup 31 jan 2016 jira metrics-extract slides
London atlassian meetup 31 jan 2016 jira metrics-extract slidesLondon atlassian meetup 31 jan 2016 jira metrics-extract slides
London atlassian meetup 31 jan 2016 jira metrics-extract slides
 
Primers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code ReviewPrimers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code Review
 
Big Data projects.pdf
Big Data projects.pdfBig Data projects.pdf
Big Data projects.pdf
 
Data Sharing, Distribution and Updating Using Social Coding Community Github ...
Data Sharing, Distribution and Updating Using Social Coding Community Github ...Data Sharing, Distribution and Updating Using Social Coding Community Github ...
Data Sharing, Distribution and Updating Using Social Coding Community Github ...
 
EDUPUB Implementation Demo Showcase - Reference SW using Readium JS
EDUPUB Implementation Demo Showcase - Reference SW using Readium JSEDUPUB Implementation Demo Showcase - Reference SW using Readium JS
EDUPUB Implementation Demo Showcase - Reference SW using Readium JS
 
CI / CD with fabric8
CI / CD with fabric8 CI / CD with fabric8
CI / CD with fabric8
 
Building Reactive Real-time Data Pipeline
Building Reactive Real-time Data PipelineBuilding Reactive Real-time Data Pipeline
Building Reactive Real-time Data Pipeline
 
Software Development Practices.pdf
Software Development Practices.pdfSoftware Development Practices.pdf
Software Development Practices.pdf
 
Mohit Kalra
Mohit KalraMohit Kalra
Mohit Kalra
 
Research data spring: streamlining deposit
Research data spring: streamlining depositResearch data spring: streamlining deposit
Research data spring: streamlining deposit
 
Crunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCONCrunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCON
 
Crunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community MetricsCrunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community Metrics
 
Cytoscape: Now and Future
Cytoscape: Now and FutureCytoscape: Now and Future
Cytoscape: Now and Future
 
Final Algos
Final AlgosFinal Algos
Final Algos
 
Self-Service IoT Data Analytics with StreamPipes
Self-Service IoT Data Analytics with StreamPipesSelf-Service IoT Data Analytics with StreamPipes
Self-Service IoT Data Analytics with StreamPipes
 

Recently uploaded

Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
IJECEIAES
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
MadhavJungKarki
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
nedcocy
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
VANDANAMOHANGOUDA
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
Object Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOADObject Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOAD
PreethaV16
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
Atif Razi
 
morris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdfmorris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdf
ycwu0509
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 
Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...
bijceesjournal
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
bjmsejournal
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Sinan KOZAK
 

Recently uploaded (20)

Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
Object Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOADObject Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOAD
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
 
morris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdfmorris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdf
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 
Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
 

Towards Better Open-Source Development:

  • 1. Towards Better Open-Source Development: Improving PyQtGraph’s Feature-Development Process Thesis Presentation By Aditya Kelekar BE (IT) Metropolia University of Applied Sciences
  • 2. - – Let’s spare a moment to think about what is happening with a giant open- source software project…. At a well-known open-source project
  • 3. Source: Linux Kernel Report 2017, Linux Foundation Figure 1: Top companies contributing to the Linux kernel, 4.8– 4.13 in 2017 Linux Kernel Contributors
  • 4. Table of Contents – 1. What is PyQtGraph and where does it come from? – 2. Open Source Feature Development: Known Facts – 3. Analysis of PyQtGraph’s Feature Development Process – 4. Guidelines for PyQtGraph’s Feature Process Improvements – 5. Conclusions
  • 5. PyQtGraph: A graphic library Functionalities: – Basic 2D plotting – Image display with interactive lookup tables – 3D graphics system – Library of widgets and modules useful for science/engineering applications Source: www.pyqtgraph.orgFigure 2: Histogram drawn with PyQtGraph
  • 6. PyQtGraph: Components & Competitors Figure 3: PyQtGraph’s Dependencies and Other Graphics Libraries NOTE: Size of shapes is not an indicator of any metric
  • 7. Feature Development in Open-Soure Software – Iterative process with a public repository – Mailing list, Forum Boards – Small, frequent changes to code repository – Few key developers (that is, limited resources) – Atleast one maintainer
  • 8. Applying Pirate Metrics to PyQtGraph Project Figure 4: The AARRR! Metrics for PyQtGraph Source: Pirate Metrics: A new way to measure open source community success by Gaby Fachler
  • 9. To Accept or Not to Accept? – A dilemma often presenting itself to the maintainer: – One side: – Accepting (new) code appeases the feature contributor; (possibly also) other users – Other side: – New code becomes the responsibility of the maintainer
  • 10. PyQtGraph’s Code Development – Bug Reports and New Feature Proposals on GitHub Issues, GitHub Pull Request and PyQtGraph GoogleGroups pages – Maintainer of the GitHub (and also founder): Luke Campagnola – 8-10 user queries/feature proposals every month – 60 percent of user queries/feature proposals are answered – About 40 ‘listed’ contributors – All development is voluntary-based – FAQ for prospective contributors is available
  • 11. PyQtGraph Google Group Statistics Figure 5: Data Related to Number of Posts on PyQtGraph ’Google Group’ Forum site
  • 12. Analysing the Library Forum Posts – Only posts where the maintainer had commented were analysed – Corresponding changes in code in Github were studied – A list of observations was created – 3 cases of feature development were studied – The 3 cases represented different feature development outcomes
  • 13. A Successful Development Cycle aa Figure 6: Timeline of events for a typical successful feature-addition process.
  • 14. Case of Unsuccessful Feature Development Figure 7: Timeline of interactions for the “New Time Axis” proposed feature
  • 15. Suggested Improvements for Feature Development Process – Need for a Collaboration Tool. (Objective: focus the current development resources towards feature completion) – A new metric to assign collaboration level for new feature code posts – Visibility of across GithHub and Google Groups forum – While feature development in progress: correction list auto-tracking features
  • 16. Pirate Metrics + Interactions Component Figure 8: Extended Pirate Metrics with Interactions component
  • 18. Conclusions: Beneficiaries & Limitiations of Scope – This study could aid: • a developer wishing to contribute to the PyQtGraph project code • maintainer of the PyQtGraph project • User studying the open-source process - Limitations:  Research based only on one open-source library  Each open-source project may have its own dynamics
  • 19. References: – 1. Luke Campagnola. PyQtGraph Project Home page: http://www.pyqtgraph.org/ [Internet] [cited 24 April 2018] – 2. Luke Campagnola. PyQtGraph Project Official Documentation page: http://www.pyqtgraph.org/documentation/installation.html [Internet] [cited 24 April 2018] – 3. Pirate Metrics: A new way to measure open source community success. https://opensource.com/business/16/6/pirate-metrics [Internet] [cited 24 April 2018]