Open source software culture and development can be difficult for tech enthusiasts without experience with it to grok, so I was thrilled to run a discussion on the basics of open source at Refresh SD this week. Check out my slides above.
I’m actively working on becoming a better speaker, so I’m testing different preparation techniques. For my CodeConf talk, I wrote my entire transcript word for word and basically memorized it, rehearsing it full-through several times. This time, my audience was a smaller, less specialized group, and I reserved half of my 45 minutes for Q&A and discussion, so I tried a more casual approach—just put together the slides, an outline, and went for it. It worked. I’m happy with my SpeakerRate reviews, even though I still have to learn to slow down and relax. So, while this isn’t a straight transcript, here’s a brief overview of what the talk covered.
I started off with how open source software’s copyleft philosophy gets expressed through licenses. I covered the main difference between the GPL license and the MIT/BSD/Apache-style license, mainly focusing on the sticky wicket that is the “share-alike” clause. My two examples of license conflicts were the VLC iPhone app controversy, and the Matt Mullenweg’s argument against the non-GPL’ed Thesis theme author, Chris Pearson.
Then I addressed the development methodology and tools we use at ThinkUp to do public, collaborative development, and some of implications of that, such as constant discussion and code review and peer teaching and learning. Since I practically live on GitHub, I got to talk about the basics of source control, and some of the philosophy behind git and GitHub, like how it makes forking a feature.
We covered what I think is the strongest force behind open source: its culture and contributors. I got to show off some of the fantastic contributors I’ve been lucky enough to have in my projects, including unusual suspects, from folks like Seth who report bugs and make feature requests, to non-coders like Randy who admin our IRC channel and run our podcast, to talented young designers like John Rowley who created our gorgeous app icon for Todo.txt Touch, to our Google Summer of Code mentee Ekansh who built ThinkUp’s Google Map of tweet replies.
Then I ran down some of the ways to make money with open source software, which led to the classic “free as in speech versus free as in beer” conversation. Probably the biggest source of apprehension around contributing to or making open source software is the question of how anyone makes money. So, we covered how the Mozilla Foundation makes millions of dollars a year through Google search referrals from the Firefox search box; how Matt Mullenweg turned WordPress.com into a hosting and service company; how Expert Labs funds ThinkUp development through a MacArthur/AAAS grant, and how I make money selling my Todo.txt Touch app in the Android Market.
Then we covered the question of why anyone with the skills to design, write, QA, or develop software would volunteer their time to an open source project. My informal observation of the contributors to my projects: “I want to learn” is the top motivator, followed up with a tie between “I love this software but this bug is driving me crazy” or “I have a commercial interest in this software.”
Lastly I highlighted some great comments I got to a Google+ post asking what interested OSS first-timers should know. Thanks to everyone who contributed to that thread.
Thanks a million to Refresh SD for having me, and to everyone who came out to the see the talk, for listening, talking, and taking a copy of the Lifehacker book off my hands. Turns out public speaking can be a lot more fun than scary.