What is this talk about? • Let's use our data analysis tools to analyze our FOSS projects • Let's make smarter decisions based on what we learn • Teach others what we've learned and help them reproduce our experiments
Python is more readable than other languages. Unit testing helps us maintain quality. We don't do unit testing; it takes too much time for too little benefit. Python is good for beginners. C++ is better for beginners. Happy programmers make better programmers.
Making Software ● Offices: doors open or closed? ● Pair programming: yea or nay? ● Modern code review ● Failure prediction using organizational structure
To merge or not to merge: 1. How active the area affect by the pull request has been recently 2. The size of the project 3. The number of files changed by the pull request.
Tools ● git2json: Tools to pull out data from VCS history ● gitcoach by Mike Hoye: “You modified file X? Consider also modifying file Y.” ● Idea: PR-lint: suggest improvements to pull requests based on Gousios
● Study how you write software ● Teach your friends something cool ● And back it up with evidence ● Share what you learn with others ● Build tools to make this easier THANKS http://tavi.sh/solitude Send me emails! [email protected] @tavarm