Over the past twelve months, I've had the pleasure of being a (small) part of the community of developers who have shouldered the hefty workload of guiding Desurium, the GPLed Desura client, to its first public release.
When the decision to open source the Desura client was made, I approached lodle (Mark Chandler) the client's lead developer about an interview discussing the process of setting up Desurium as a Free/Open Source project. In the months that followed, the topic shifted to focus more on Desurium's progress and goals, as INtense (Scott Reismanis) DesuraNET's Managing Director, as well as key community contributors Anagromataf, Jookia and Karolherbst added their thoughts.
How long have you been involved in the Desura community? What led you there, and what keeps you interested?
INtense: Since the beginning, when Desura was just an idea hatched by Mark (lodle), Dave (Henl3y) and I as a way to better distribute mods and hopefully games to our visitors.
Jookia: I think the humble bundles may have led me to Desura before it had Linux support, that or a screenshot of a horridly broken UI that was mentioned as progress. It had a little notification asking for my email address, and so I humoured it. I didn't expect for an actual Linux client to happen.
Jookia: What keeps me interested is that to my knowledge this is the only gaming service with a Linux client, and the ability to download copies of your games. So in case DesuraNET's buildings catch fire and burn all of their backups, I'll still have the games I bought. Also, finding new and fresh game ideas. Most games on other distribution services have large advertisements or are simply sequels. I can say that Desura is the only game client where I'm actually interested in the game's store window popping up.
Anagromataf: I joined desura on Dec 18, 2011. Karolherbst led me there when he told me that there was a linux client for Desura. A few days later I discovered that the client was open sourced, karolherbst found the github repository and I found the IRC chat.
Anagromataf: The developers keep desura interesting for me as the development as a whole is very open and discussed.
Karolherbst: Not long. I've created my desura account on 18th Dec 2011. The only reason for this was the fact, it was something like steam but only for Linux, so I could handle my games bought by humblebundle ;)
What previous experiences with community and open source development have you had?
lodle: None. Though while working on Desura I've had alot of experience working with open source third party libraries like wx, node.js and chrome and submitting patches for issues relating to them. Most got in but there where some that met with a lot of politics and didnt end up in.
INtense: I'm the web guy, so this question doesn't really apply to me but when developing the website I make use of all the tools I can find - why reinvent the wheel?
Anagromataf: Very little actually, I have been involved with karolherbst's project for a while before but that's it.
Karolherbst: Nothing, desura is my first open source and community driven development project I'm involved in.
What are your impressions of the Desura/Desurium client's releases on each platform (Windows, Linux and the eventual MacOS release)?
Anagromataf: The Windows client is solid and stable, while the official linux client tends to brake, though after moving the build system and fixing #33 ("Upload & Download issue") it became very usable.
Jookia: I haven't used it on Windows. But on Linux I can say it was great. It actually worked, and I could buy and download games. The only software that I've known to do things like that were various package managers. I was in the beta program, testing it before it was released to the public. There really weren't that many things wrong with it.
Karolherbst: I don't know the desura client on windows well, so I will skip this. The client on Linux is getting better. Some bugs (download/upload for example) were really annoying and had to be fixed. But I like the idea of having a open source gaming platform. On Mac OS X things looks a bit darker, because of "Gatekeeper" and the whole closed platform stuff is going on at the moment there. Yes, we should bring desura to Mac OS X, but I'm not sure if it's worth to do that.
INtense: Still got a long way to make it easy for 3rd parties to build, improve and test due to the fact that the app is only half the story and the other half is connecting to the web api's to download games and information.
How did the decision to release the Desura client's source under a Free Software licence come about?
lodle: It came about due to the fact that we felt Desura missed the mark by a couple of years in terms of competitor steam. In open sourcing it we can use the community involvement to make changes and fixes at a much faster rate then what is possible with the hired developers at Desura.
Jookia: I'm not sure how personal it is, or if it's for me to say, but lodle was working full time on the client for the past 6 years or so. Burnout and a few other factors led him to move on to other projects. DesuraNET has about two developers, excluding lodle. So he decided open sourcing it would be a good idea as it'd allow the community to maintain the client as it'd pretty much be beneficial for everyone.
Jookia: Once I had Desura installed, I mailed Desura and asked if they'd ever have a FOSS release. The reply I got was that it wasn't out of the question. Maybe that somehow sparked this chain events?
INtense: We are a niche provider of games, so our ability to develop at the pace we liked was limited. We've long seen how well opening up your software has worked for companies so we felt it made sense. Especially since the Linux community is so amazing in that regard.
Prior to the release of the source code, several community members participated in a code review of the existing Desura client source. Can you describe that process?
Jookia: We were given access to a private GitHub repository, and from there the code was available for scrutiny. We also had the IRC channel #desura at Freenode to communicate about any issues. The main thing we were meant to look out for were security issues.
lodle: There really wasn't much of a formal process. Most of the review was making sure the code compiled and there was no closed source code left in the code base. A lot of issues where also brought up during this time (i.e. compiling dependencies over using system deps) which as a company supporting a product didn't matter but during open source they would needed to be fixed.
What do you feel were the most positive things to come out of the code review? Were there any aspects of the review process which were problematic?
lodle: Positive things where feed back on code style and structure (not something you get when your the only one working on the code base) and the willingness of some of the community to help out. The problematic aspects was the adhoc nature of it and this caused some overlap and some things to get missed.
Jookia: The most positive thing to come out of the code review was the ability to compile the client. lodle had been using a mix of shell scripts, gyp and Visual Studio project files to manage compilation. He also had a build cluster and a fast Internet connection. After the first few hurdles of having to manually check out various projects from SVN and reading text files to tell which revisions in particular, building it wasn't suited for mortal computers. A bug in the build scripts meant that not specifying the amount of jobs resulted in your computer trying to make 128 jobs, as if it were some kind of cluster, and then freezing up the computer.
Jookia: I'm not saying the old build system was bad. It worked. But it was able to be improved. karolherbst managed to appear out of no where, remake the entire build system using CMake, then move things to patches and downloading tar balls and having things work fast. So instead of things taking hours to download or turning your computer in to a heater, it's all automated and works pretty well.
Jookia: Another worry was up until last month or so, we couldn't compile CEF by ourselves, and had to use Desura's binaries to run the browser part of the application. Of course the day I wrote a work around for it karolherbst managed to solve the problem itself.
What kind of response has the release of client's source garnered from both the existing Desura community, and the broader Free Software community?
lodle: The response has been positive however with my lack of free time to lead the community its been a slow process.
Jookia: Well that's the thing that's actually surprised me. There's been little interest. I could compare it to Doom 3's source code release: There's just been a code dump and people saying 'here, play with it'. Of course that's not the case as lodle is around, and Desura is an active product. People on the forums still talk about wanting a new release.
Jookia: There's been a few people wanting the server to be open source too. I'm not exactly sure what this would bring as I don't think anybody has the resources to host an entire gaming network.
What impacts can you see the open sourcing of the Desura client having on gamers and game developers? What longer term benefits do you think Desurium will gain from being a Free Software project?
Anagromataf: While not having that much of an impact on gamers now, the open sourcing will help to include Desura in major distributions like Mint/Ubuntu which in turn will have an impact for availability for games and thought help gamers and game developers on linux. In the long term it would also be helpfull to have paid developers for Desurium who can channel the community effort.
Karolherbst: Maybe there are a few games able to implement some nice feature they want in their gaming platform. So instead of saying to Desura Pty Ltd "we want this and this and this and this" they can implement this on their own. Of course you need enough games, which want to develop. Same for game devs. In long term I'm not quite sure, but technically it will lead to bette code, maybe. But we need more devs, so code reviewing wouldn't take development speed, what we don't have either.
Jookia: I've kind of thought as Desura as the service meant for developers, and I think having the client open source means the developers can have a bit more flexibility when it comes to making the game work with Desura.
Jookia: As for long term gains, I think that having Desura not be a proprietary blob of software means that it'd be a lot easier to fit in to a traditionally open source desktop. Maybe it'll act as a bridge (or gateway drug) to running proprietary games. After all, proprietary games are better than no games. Right?
The current milestones for the Desurium client outline key releases. Can you describe the upcoming milestones and why they are significant?
Jookia: There's three milestones right now. The highest priority is the 'we need to release something before people get angry' (or 'Linux Client Fix') milestone, where we release a Linux fix. There's quite a few fixes such as uploading and downloading not crashing, and other small improvements such as using system libraries if possible.
Anagromataf: The Linux Client Fix milestone is designated for a pre-release of desurium which will be much more usable then the first linux release.
Karolherbst: At the moment this is technically the most important one, because it will bring the windows and the linux client nearly on the same base (the download/upload bug appeared on Linux only).
Jookia: The next one is the 'we should release something' (or 'Initial Community Release') milestone, which mainly involves fixing bugs that didn't come about the past few months of serious changes, and getting a release done. Even on Windows.
Anagromataf: The Initial Community release is the designated 1.0 release.
Karolherbst: This is a quite nice milestone, because we want to fix a lot of bugs here (not just Linux related), but implement some nice features, too. Further it will show, that open sourcing can be an option if there is too much to do.
Jookia: After that there's the 'we need to beat Steam' (or 'Mac Release') milestone, which would just introduce major changes. Such as being able to use Desura on your Mac. If for some reason you use a Mac to game.
Anagromataf: The Mac release milestone is designated to have an impact when we managed a first sucessfull compile on mac and it is somewhat stable to use.
Looking at specific "issues" (that's GitHub speak for tickets representing bugs or enhancements), what kind of impact do you think that the following features will have when added:
"Mod" (short for game modification) and DLC support for Linux (#64)
Anagromataf: Desura is a client which came from ModDB and IndieDB finally having Mod and DLC support is significant to cater the needs of the consumer base, though not having that much of an impact on the DLC side.
Jookia: I'd love to see mods for games in Linux. More content is good content. As for the impact itself, I don't know how many mods there are for Linux games, so I can't really gauge it.
In-client chat support (#156)
Karolherbst: Would be a nice feature, because it is easir to communicate with others.
Anagromataf: Depends on the design of the chat and could range from major (when a good group chat feature is present and maybe a voice chat) or minor (when it only supports one on one chat)
Jookia: I'm not sure if I want to have yet another way to IM people, my Pidgin settings include 6 accounts. But the way that's kind of agreed on is to do it using an open protocol, which would mean it'd avoid reinventing the wheel and be able to communicate with most other protocols, and not even need the client to run to use it. I think I can recall a few people who have Steam on Wine just because they need to communicate with people.
Support for running Windows games under Wine (#63)
Anagromataf: as much as I don't like the idea of having wine as a supported distribution method for linux a release could broaden the game base a lot. I consider it more of a legacy support feature I'd like to have when many linux games are natively available.
Jookia: Ugh. I don't know if this is going to actually happen. It'd be really easy to do it, currently Mono and Flash games are supported, so just adding a Wine option would work in theory. But after coming so far in getting games to Linux, do we really want to enable the 'just use Wine' mentality? But on the flip side, having developers officially support Linux, even if it's technically through Wine, would do a lot to show that we do actually want games.
Karolherbst: This is quite interesting. But I don't like of saying implicitly: "Yeah Linux support would be nice, but wine will also do". Sickbrick shows, that game devs won't have a problem with this.
If you could have one feature implemented in the Desurium client tomorrow, what would it be?
Jookia: For it to work on Windows. We have no Windows developers. I get that this is about Linux, but Windows is needed when it comes to games. That and to make sure that the code isn't tied to a Unix-like OS.
Karolherbst: #136 ("Replace Flash with HTML5") :p
lodle: Delta updates, always wanted to get this working but never had time.
In the time that you've been working with the client, what have been the most significant hurdles? Have there been any pleasant surprises?
INtense: Our main focus at the moment is squashing bugs. We just want the client to do what it is meant to do in a robust and efficient manner.
Jookia: The build system. So many angry nights over the build system. Karolherbst just showed up one day and redid the entire build system in CMake, which means cross platform building of Desura under a single build system.
Jookia: Right now the hurdles are finding a Windows developer, and fixing some pretty horrid bugs.
Karolherbst: porting to cmake. There is also much to do like get it work on windows and some packaging stuff for rpms, deps and apps (app is used on Mac OS X).
Anagromataf: A hurdle is that only lodle seems to be the only one to know the code. But it is pleasant that he is on irc more often now.
lodle: The main hurdle of the client is that it tries to do to much and this has made it very complex. Desura started out with mod support as a way to differentiate it self from other clients but has ended up complicating downloads and installs and a lot of time and effort has gone into it for very little reward. On the other hand, when we get users writing it that it just works makes all that effort worth while.
With Desurium being a community developed project, progress is defined by the skills of those contributing. What would you say are the current Desurium contributors' strengths, and are there areas that could benefit from contributors with additional skill sets?
lodle: I think the current skill set has a really strong linux focus which is great as its an area that im not to strong at and this will help the client be more linux like.
Anagromataf: We would really need a Windows developer.
Jookia: Windows developers. Need them. Right now we have a lot of awesome people who've rebuilt entire systems, but it's mostly just Linux users. That, and we need to fix bugs.
Karolherbst: Yes, we need much more contributors, which are focused on desura on Windows. But if you ask me personally I don't think about something like that. Everyone has his skills and everyone contributes his own part. I don't like it to say: "Yes, he is the best for this, and he can do this best". So it is hard to answer a question like that for me. At the moment we have to find more devs, who want to help us. But if I would be forced to give a proper answer I would say: "I don't know"
What role do you think DRM will play in Deusurium and Desura in general? How important do you feel its visibility in the client is (#93)?
INtense: We've released a few hundred games now and only a handful use DRM. We discourage it and don't provide support for it so not a huge role at all, as we mostly deny games with DRM incorporated.
lodle: I think DRM is bad and shouldn't be on any games at all. They are going to end up on torrent sites no matter what and in the end hurt end users, but i cant speak for all game companies though. I also feel that DRM should be told to the user before they buy the games as it should be up to them on how they play their games.
Anagromataf: While I think the desura client will not impose any DRM the developers are free to do so but I really want to have it clearly visible.
Karolherbst: Transparency is nice for gamers, so they know, what they are allowed to do with the games they own, but in general DRM is such a big philosophical topic. One of the advantages of desura is the ability to run games without a running desura. I like the idea, that game devs should handle DRM on their owns. So desura won't be involved in the DRM question of game devs.
Jookia: I don't follow the whole DRM thing with games, but I think the user should know who has control over their game. As for Desura's part, I feel it's best to keep the DRM part of the games and not the client. That said, some DRM has been moved server side.
How would you describe your experiences working on/with the Desurium project? What have been the most positive aspects for you?
lodle: Its a love hate relationship. It started out as a dream to make an updater for Golden Eye Source but turned out into a different beast. While working on it was the most stressful thing i have done, the passion of the community makes it all worth while.
Anagromataf: The contributors are really kind and like to help.
Karolherbst: Positive is the fact, that there is nobody which can say: "No, this won't happen". As we talked about that on IRC there is no need for a "head dev". Okay for now we are only a few devs, but I can imagine, that we will have a "manager" in the future, who will manage branches and pull requests
Jookia: With the people, it's been fun, welcoming and interesting. Everybody's very nice. Working on the code itself? I'd say that it's pretty easy to navigate, it's not a headache and it works. That old build system, though. Man.
Where do you see Desurium in 2 years' time?
Jookia: Hopefully being the source code base for Desura's official client releases. That's my realistic prediction.
Jookia: Depending on if Valve ever ports Steam to Linux, Desura could either be pushed aside, or become the de facto gaming client for Linux.
Karolherbst: there are to much things going on at the moment on Linux, so I don't want to answer this.
Anagromataf: If we do good Desurium could become a major competitor for steam on linux.
lodle: I hope that I'll be able to return and sink some time into it which will spur the community on and improve on what's there all ready and make the client more stable and easier to use.
If you could pick one game to magically be released on Desura tomorrow, what would it be and why?
Anagromataf: although old and probably not known very well, I'd love to see homeworld: cataclysm with a linux version on Desura. But this will never happen. Best for desura would probably be the blizzard catalouge.
INtense: We try and be diplomatic so I'm afraid I don't have an answer for you!
Jookia: My vaporware game. Seriously though, Carmageddon: Reincarnation. It's looking very promising and it's been while since an actual Carmageddon game. I have memories of buying the game after playing everything I could out of the generous demo.
Karolherbst: My entire steam library, but if it is to much for the entire magic force, all the humble bundle games would be enough, too.
lodle: Gmod, has soo many nice mods and addons for it. Plus it will bring in the developer crowd to help out with the open source nature.
To finish up, what is your favourite game?
INtense: Had a lot of fun recently finishing Eufloria. Just great ambient fun!
Anagromataf: This one is easy: Dungeons of Dredmor with the Realm of the Diggle Gods DLC :)
Jookia: Duke Nukem 3D comes to mind after opening my games menu. I've still yet to find all the secrets in that game.
lodle: Have to say Team fortress 2. Its how I got the job for desura and how I relax (though im a little too good at it now).
Thanks for your time, Anagromataf, Intense!, Jookia, lodle and Karolherbst!
Thanks for reading!
First up, I have a huge apology to offer Anagromataf, INtense, Jookia, Karolherbst and especially lodle. I first started this interview in May 2012 and had misread some of the responses as incomplete. As a result, some parts of this interview may feel dated (particularly references to long-closed issues and the then-unconfirmed Steam client for Linux), but the majority of answers remain current and relevant.
At the time of publishing, Desurium is in "release candidate" status for its first public release, details of which can be found here.
If Desurium sounds like a project you're keen on being involved with, take a read through some of the Wiki pages (the "How can I get involved?" heading in the Beginner's Guide is a good place to start), join us on IRC in #desura on Freenode.net or in the Desura developer forums, and take a peek over the outstanding issues in our GitHub repository.
If you're interested in knowing what I've done on the project, I'll modestly say that I've not done anything worth mentioning, but since you've insisted, I participate in developer discussions via IRC, handle most of our communication with the Desura guys, co-manage the Desurium community group on Desura, write announcements and things, and do some graphics stuff here and there (I tweaked shi's original "Desubot" design, which we use as our mascot/logo). I also wrote a "Beginner's Guide To Desurium," which can be found here, and have helped with some packaging stuff.
You can email me at email@example.com
This interview was first published on the 6th of December 2012.