Stefan Küng is one of Ohloh’s top kudo’d open source contributors. He is the driving force behind TortoiseSVN – a wildly successful Subversion GUI. We thought it’d be interesting to learn a little more about him and his open source work. We reached him where he lives, in Altstätten, Switzerland
How did you get started with TortoiseSVN?
We had some problems in our company where we stepped on each other’s feet while working on a software project. I thought there must be a solution for this kind of problem, so I went searching for source control systems. First I found CVS but that didn’t work for us for a variety of reasons. Then I found Subversion but then it wasn’t really user friendly because at that time there was no graphical user interface at that time so I thought “Ok – then I have to do it”.
Why make it open source?
My boss didn’t know or care much about software or open source. Since I wasn’t working on company time, so I thought “maybe I can get some help” if I made it open source. Then I found Tortoise. It wasn’t really usable at the time, it wouldn’t even compile. I asked if I could join and that’s how I started.
I joined in 2002 – although the Ohloh stats don’t show that – since we were on CVS at the time (on Tigris). As we went along I asked the Subversion developers if they could setup a Subversion repository for us and they did, in 2003.
How much time a week do you devote to Tortoise?
It depends on what I am working on at the time. Usually it’s around 20 hours, but sometimes it’s more.
Do you continue working on this on your own time?
Yes – of course.
You wrote this originally for your company but you did it all on your own time. Isn’t that a little odd?
It’s not really that odd. I had a problem which prevented me from working efficiently at the company. And with no support from the company or my boss, this was the only solution for me to get my work done.
Do you think you could have convinced your company to pay you to continue working on TortoiseSVN while at work?
Maybe with a different boss – but not with the one at that time (laughs).
What do you do professionally today?
We develop software and sensors for safety systems for cranes. The safety systems make sure that a crane can’t fall over if the lifted weight is moved too far away from the center of the crane.
I work now at a small company – not the same one I started at. We develop software for safety systems for cranes so that they don’t fall. The weight can be a problem sometimes so we will prevent the crane from falling.
Do you know many people in Open Source?
I don’t know many any of them personally. But of course, from the mailing list and the project I’m working on, I’m not alone anymore. I have a lot of friends online.
What keeps you going?
I enjoy it. It’s a hobby for me. It’s a completely different way to work with software. There are no deadlines and I get to choose features myself. It’s much more interesting for me.
Scintilla is one of them – because it is a very good control which we use in TortoiseSVN and the people there are open to suggestions – even if it’s not all of my suggestions. Generally my stack is composed of apps and libraries I use more often than others. I decided not to stack the stuff I use rarely. I tend to stack projects which I use at least once a week.
Why did you choose FlySpray as your issue tracking software?
That wasn’t my choice, it was Lübbe‘s from Tortoise. We had some problems with the issue tracker on Tigris. The problem there was that it would let anyone open issues, without first consulting the mailing list. We would end up with issues that weren’t even bugs, or already fixed a long time ago. We decided to look for another solution. Lübbe then decided to install FlySpray and we chose to keep using that. It’s small, easy to use and does what we want – we’re very satisfied.
How do you use Boost?
While TortoiseSVN is written in C++, we don’t use Boost there. I tried it once but it wouldn’t compile on Windows 64-bit, which is a requirement. However, I use those for my private projects and at my current company.
How long have you been developing software?
About 10 years now.
TortoiseSVN is a windows app – do you use Linux much?
No, not much. We currently use Windows where I work because the compilers for the microcrontrollers are only supported on Windows. Obviously TortoiseSVN only works on windows, so I keep using it on that.
Any chance we might see TortoiseSVN on Linux?
That questions shows up pretty often on our mailing list but I don’t think so. It’s a very big project and porting it to another OS would take a lot of time, which we don’t have. But there are already similar clients on Linux available, even though some are still in their early stages but show great promise and then add links to those: KSVN and SCPlugin.
How is TortoiseSVN evolving?
Every time Subversion releases new features we have to catch up and implement them in TortoiseSVN. Also there are a lot of people who ask for new features in the mailing list. Some features are easy to do but others are hard, especially if Subversion does not provide the feature with an API in its library.. We’ll sometimes have to work around Subversion and “do it ourselves”. All of which keeps us very busy.
You’ve received 19 kudos so far. How many of them are from people you know?
I currently know 3 or 4 of them. I may know more of them but I don’t recognize them from their Ohloh nicknames.
Why did you give kudos to:
bcollsuss (Ben Collins-Sussman) He’s a Subversion developer who I believe now works for Google. I’ve kudoed people who I generally know from mailing lists and he’s one of them. He’s one of those people who is open to suggestions. Not everyone on the Subversion project are that open to suggestions for new features or stuff I need in TortoiseSVN. Sometimes it’s much easier if features are implemented in Subversion directly rather than me working around it. Ben has been very considerate.
Simon Large (TortoiseSVN teammate) Simon has been involved with TortoiseSVN for about 3 years. He has been very active on the mailing lists answering questions – which is a huge help to me and gives me more time to code. He’s also contributed (with Lübbe) to the TortoiseSVN documentation.
Tobias Schafer (TortoiseSVN teammate) He’s been involved for the last 2 years. He helps me out by implementing new features and by answering questions on the mailing list.
Karl Fogel He’s the one who started Subversion. He’s also been with Subversion from the very beginning of Subversion. What impresses me most about him is that he always stays calm. No matter what subject comes up on the mailing list, he’s the one who can calm people down if discussions get a little bit heated.
How did you decide to give commit access to fellow TortoiseSVN teammates – say, Tobias?
I usually decide pretty quickly. There aren’t many committers apart from translators. In general if someone contributes 3 successful patches I will ask them if they’d like commit access. After contributing some patches, Tobias wanted to work on a bigger feature so I granted him commit access. I am primarily a coding guy, so I tend to give commit access pretty easily. The beauty of Subversion is that if someone messes up we can just revert what they did.
Emacs or Vim or..: Visual Studio
Open Source Licensing: I don’t really follow that too much.
Favorite Technology News Site: heise.de
Thanks a lot!