Interview: Florian Staudacher and Steven Hancock
There’s been a lot of big progress in the past few months with our community involvement. We’ve gotten down in the trenches with some fantastic community developers that have helped us make great strides forward in the growth of our social platform.
Florian Staudacher and Steven Hancock are two of our most proficient community devs, and recently have been awarded commit rights to the main Diaspora code branch on GitHub. I’m here today to sit down and chat with them.
1. What about the Diaspora project was compelling enough that you wanted to contribute with code in your spare time?
Florian: I guess it was a happy coincidence of me rediscovering Ruby/Rails with their 3.0 release at the same time I was looking for a social network/communication platform I could use or install myself and that doesn’t completely ignore privacy and is as de-centralized as possible. I recognized Diaspora on this List on Wikipedia from the reports of the great success on Kickstarter and a article I had read recently. So I installed it and gave it a try.
Steven: I see the way the big social networks are already being used by people around the world to communicate, stay informed on current events and make real changes in the world around them. Diaspora and other open and distributed social networks have the potential to be an even more powerful tool without many of the privacy and security concerns that can come with a large, centralized and corporate-owned (for-profit) site.
2. What appeals to you about free and open source software the most?
F: The freedom to just look at the code and learn from it – I think we shoudn’t keep progress from each other on purpose. Also the awesome flexibility … just compare a simple webserver on a linux system with a similar configuration using another very popular OS – it’s smaller, faster and doesn’t cost a fortune just to aquire the rights to install it.
S: I guess this one comes down to the fact that I’ve always liked to take things apart and see how they work, but I also enjoy being able to fix things if they’re broken or modify them to suit my needs. You can’t do that with proprietary/closed-source software.
3. Have you been involved in any FOSS projects in the past? What were your experiences?
F: I wouldn’t say that I have been involved much in other projects. Maybe a few bugreports here and there or a small patch. Diaspora is the first project I’ve really gotten my hands dirty with.
S: Let’s just say I’ve had mixed experiences. Other than Diaspora, I’d have to say my best experience contributing to a FOSS project was the RedCar editor, I wrote a small plugin and it wasn’t long before my plugin was part of the editor and I was given commit rights. I’d still be using and contributing to that editor today if my main PC hadn’t died on me (the one I’m using now is far too underpowered).
4. What are your favorite tools to work with?
F: I’ve used various flavours of Linux distributions with different desktop environments. My current favourite is KDE which has a great text editor “Kate” that I use for most of my editing. Vim has also gotten more and more of my attention lately, since I have to work over SSH increasingly so I use that, too.
S: When I had a Mac I fell in love with TextMate, so I like to use any editor with a similar look and feel. I’m on Ubuntu now so I usually use Sublime Text 2 or VIM. A unix-like OS is always a good thing, I love Ubuntu Linux and Mac OSX. Obviously I like Ruby and Rails. Heroku is always my first stop for hosting when I need to get something online quickly, easily and cheaply.
5. What’s the feature that you’d most want to work on?
F: I’d have to say my wishlist would probably be server-to-server communication, integration with other networks, an Android client, automated testing, mobile layout or desktop browser UI. But during the semester I don’t want to tackle anything huge, otherwise I’ll probably never graduate
S: At some point, when I’m more familiar with the code, I’d love to work on federation. That’s definitely the most interesting feature, but also complicated (and honestly, it scares me a little.. lol). I’d also like to help with making the code more modular and making it easier to plug in new features with Rails engines without having to touch the core Diaspora code. An API for third-party apps would be nice too.
6. So, you both now have commit rights to the master branch. How did you get to where you are now?
F: It wasn’t too hard, actually I have been submitting pull requests on Github since November(?) 2011 and I’m also hanging out in the IRC channels and reading the mailing lists. I guess it became annoying to constantly accept my pull requests…
S: I saw a couple things that needed to be worked on, offered to help and dove right into the code. It wasn’t long before I had commit rights. I’m sure the fact that I know my way around Rails and Git didn’t hurt, plus I was helping with some pretty big changes, pull requests are awesome (and even with commit rights, I still use them for code review purposes) but they would have probably slowed progress on the asset pipeline branch quite a bit.
7. What are you guys working on right now?
F: I try to pick small things I can do in a few hours or at most one or two days and work on that. Also, I have been a little busy on the issue tracker lately looking for loose ends and closing fixed issues.
S: Right now I’m working on getting our Bootstrap CSS dependencies updated to use 2.0.2 from the bootstrap-sass gem (done, unless there’s something I missed) and refactoring the emails.
8. On that note, I’m sure the two of you have seen our community guidelines. Would you say that the guidelines have helped development significantly?
F: Well, since I am co-author of a few wiki pages you can guess that documentation and guides are important to me. What I can say from my observations is that every project struggles with their documentation – and sadly, Diaspora is no exception there. But I think the situation has improved greatly in the last few months and I believe developers who have at least heard of Ruby on Rails and maybe Backbone.js should have no big problems to start contributing to Diaspora.
S: I’d say the guidelines have helped, especially the pull request guidelines. It’s nice to know what’s expected before you start writing code and sending pull requests to a project you haven’t worked on before.
9. There seems to be a growing trend with people flocking to distributed, decentralized social platforms. Where do you think the social web is heading within the next few years?
F: I love reading prognoses predicting the future in some way or the other, but I hate making them myself. I suppose the internet has been social since practically the beginning of the “WWW” and will be social in the future. In times of legislators trying to regulate or even block parts of the internet and companies selling identities to advertisers, decentralized and encrypted systems will become more popular, because contrary to popular belief most people aren’t stupid. Apart from that I don’t really want to predict anything.
S: I don’t think the current big names in social networking are going anywhere, and I don’t think they should (more ways to communicate is always a good thing). I do see things becoming more open, secure and decentralized. The fact that Diaspora and similar projects exist at all tells me that people still care about things like privacy, security and freedom of speech. I don’t see that changing any time soon.
10. What appeals to you the most about coding?
F: Wow, I never really thought about that… I guess it’s my way of being creative and getting a chance to participate in the wonder of computing. Whether it’s a network socket or threads in C, beautiful and convenient UIs with HTML/CSS or simply automating that stupid task I had to do for the hundredth time with a Bash script – it never fails to amaze me what is possible with a few lines of code.
S: I like to build things and fix things that people use. That doesn’t only apply to coding, I’m also pretty mechanically and electronically inclined (I’ve been taking things apart and seeing how they work for as long as I can remember). More specifically, I like coding because I see it as both an intellectual challenge and an art form, it’s a way for me to think about things logically but still express myself creatively. I’d be lying if I said I didn’t also love the fact that I can sit down in front of this complex and powerful machine and make it do whatever I want it to do.. lol.
11. Thanks for being a part of this and doing such awesome work. Is there anything you would like to say to any aspiring community devs out there?
F: First of all, don’t thank me – I have to thank you for giving me an opportunity to participate and help you make a difference. And to all the devs out there: find yourself an open-source project and start contributing! It is fun and rewarding
S: I’m happy to be a part of this, I’ve been able to put some of my knowledge to work for what I see as a good cause and I’ve also had the opportunity to learn a few things along the way. To any aspiring community devs out there, all I can say is if you see something you think you can help with, go for it. You’ll be happy you did, this is an awesome project and a great group of people to work with.