NETWORK ANALYSIS: PEOPLE AND OPEN SOURCE COMMUNITIES Dawn M. - - PowerPoint PPT Presentation

network analysis people and open source communities
SMART_READER_LITE
LIVE PREVIEW

NETWORK ANALYSIS: PEOPLE AND OPEN SOURCE COMMUNITIES Dawn M. - - PowerPoint PPT Presentation

NETWORK ANALYSIS: PEOPLE AND OPEN SOURCE COMMUNITIES Dawn M. Foster PhD Student @geekygirldawn University of Greenwich dawn@dawnfoster.com London, UK fastwonderblog.com WHOAMI Geek, traveler, reader


slide-1
SLIDE 1

NETWORK ANALYSIS: PEOPLE AND OPEN SOURCE COMMUNITIES

Dawn M. Foster

@geekygirldawn ¡ dawn@dawnfoster.com ¡ fastwonderblog.com PhD ¡Student ¡ University ¡of ¡Greenwich ¡ London, ¡UK

slide-2
SLIDE 2

WHOAMI

  • Geek, traveler, reader
  • 20 year tech career. Past 15

years doing community &

  • pen source (Intel, Jive,

Puppet Labs, etc.)

  • PhD student at University of

Greenwich researching Linux kernel

Photos by Josh Bancroft, Don Park

slide-3
SLIDE 3

WHAT IS NETWORK ANALYSIS?

Studies relationships between units and looks for patterns and structure in those relationships

Image from ANAMIA Project

slide-4
SLIDE 4

AGENDA AND INFO

  • Gathering your data
  • Data manipulation for

network analysis

  • Visualization
  • What else can you do?

Image from a Northern Marina Islands Network

Scripts, Data, and More:
 github.com/geekygirldawn/linuxcon_2015

slide-5
SLIDE 5

I 💗 METRICS GRIMOIRE

MailingListStats aka MLStats CVSAnalY - repos Bicho - bugs More

Photo by Bitergia

http://metricsgrimoire.github.io/

slide-6
SLIDE 6

MLSTATS

a) Install mlstats

$ python setup.py install

b) Create database

mysql> create database mlstats;

c) Import data by running mlstats

$ mlstats --db-user=USERNAME --db-password=PASS http://URLOFYOURLIST

slide-7
SLIDE 7

MLSTATS: EXTRACT DATA

SELECT mp.email_address AS sender,
 (SELECT mp2.email_address FROM 
 messages m2, messages_people mp2 WHERE m2.is_response_of=m.is_response_of 
 AND mp2.message_id=m2.is_response_of limit 1) AS receiver FROM messages_people mp, messages m WHERE YEAR(m.first_date)=2015 AND MONTH(m.first_date)=1 AND mp.message_id=m.message_id;

people sending emails subquery: who they replied to limit time for manageable data

Network Analysis Output for R / Visone: sender@example.com in_reply_to@example.com sender1@example.com in_reply_to1@example.com sender2@example.com in_reply_to2@example.com ...

slide-8
SLIDE 8

EXTRACT DATA: SCRIPTS

Reformat / clean up data Reproducible Reduce human error linuxcon.py script

Image from Mark Grealish

github.com/geekygirldawn/linuxcon_2015

slide-9
SLIDE 9

R / VISONE

Convert data for better use with network analysis Visualize data using
 RStudio and Visone

slide-10
SLIDE 10

Image from WebOps.com

slide-11
SLIDE 11

GOURCE

Visualize data using Gource

slide-12
SLIDE 12

GOURCE CUSTOM FORMAT

Pipe Separated File

timestamp - A unix timestamp of when the update occured.
 username - The name of the user who made the update.
 type - Update type - (A)dded, (M)odified or (D)eleted.
 file - Path of the file.
 color - Color for the file in hex (FFFFFF) format (Optional)

Examples:

1275543595|andrew|A|src/main.cpp
 1275543700|bob|M|src/main.cpp

https://github.com/acaudwell/Gource/wiki/Custom-Log-Format

slide-13
SLIDE 13

EXAMPLE:

a) Extract data using mlstats / database queries b) Generate Gource custom format (pipe sep file)

unixtime|user-email_sender|A|new
 unixtime|user-email_sender|M|user-in_response_to

OR) Run linuxcon.py from my linuxcon_2015 repo (a & b) c) Run Gource

$ gource -i 10 --max-user-speed 100 -a 1 --highlight-users 
 gource_output.log

github.com/geekygirldawn/linuxcon_2015

slide-14
SLIDE 14

OTHER OPTIONS

Bug data Wikis Other stuff

https://github.com/acaudwell/Gource/wiki/Custom-Log-Format

Photo by Bitergia

slide-15
SLIDE 15

Image from WebOps.com

slide-16
SLIDE 16

WHAT ELSE?

So many visualization tools Python network packages Network analysis is more than just pretty pictures!

slide-17
SLIDE 17

Dawn Foster University of Greenwich Centre for Business Network Analysis www2.gre.ac.uk/about/faculty/business/research/centres/cbna/home @geekygirldawn, dawn@dawnfoster.com fastwonderblog.com

THANK YOU