Interview with Jim Nelson from Yorba
Yorba Foundation is a non-profit software group. They develop open source software. They’re the one who made Geary and Shotwell and now they’re actively developing a new calendar app called California. I made a short interview with Jim Nelson from Yorba.
What Linux distro are you using?
I’m currently using Trusty as my development and day-to-day platform.
What’s the main motivation for your open source activities?
I started coding when I was young, around 1978 or 1979. A lot of the software available to me was either in the public domain or, early on, written in BASIC, where distributing source code was pretty much required. (Magazines back then would print long BASIC programs that you had to type in — a great way to learn programming that’s all but lost today.) In the same spirit, I wrote software and uploaded it to bulletin board services and into freeware collections. This was technically not Free/Libre software, but obviously the culture had much in common.
I have many motivations for working in open source, but the acorn for my interest goes back to this early exposure to sharing code.
Is there something you don’t like in today’s open source world?
I see too much of an attitude against new application development. Yorba has faced this many times when we started a new application: “Why aren’t you fixing/updating such-and-such existing program?”
Geary is a good example. We received a lot of push-back when we started it, push-back we don’t hear much of any more. I think people today see that Geary was designed with a vision and philosophy a little different than the existing Linux clients out there. We’ve never said Geary will be the one-ring-to-rule-them-all, but an alternative.
As a rough analogy, it’s like a mutated seedling taking root in a forest of old-growth trees. Yes, it’s taking a slight amount of nutrition away from the established giants, but if that seedling survives, it may join them and form a new genetic lineage. That’s good for a lot of reasons. It’s even good for those old-growth trees, in terms of preserving and strengthening the overall forest.
If you go to the Mac, iOS, Android, or Windows worlds, you’ll discover those platforms enjoy a multitude of choices for various application classes. Mobile devices have seen a renaissance in email clients over the past five years. Some of these new apps treat email more like instant messaging or your Inbox like a to-do list. That may not be right for you, but it’s obviously right for some people.
Linux users should be ecstatic when a new project starts, even if an there’s an existing established application like it. More open-source projects only strengthens the ecosphere and encourages growth, discovery, and acceptance.
After you stopped developing Shotwell, the elementary OS team forked it and named it Photos. Do you follow it’s development? If so, what do you think about it?
To be clear, Yorba continues to maintain Shotwell. Active, concentrated development has ceased, but we do fix showstopper bugs and accept patches for Shotwell. It’s not a dead project.
I have followed Photos and will some times jump in with my two cents on tickets when I see the need. I’m glad to see elementary’s enthusiasm for the project and their earnestness in carrying the project forward.
Why did you decide against working on Maya and started a calendar app from scratch instead?
In some ways I answered this question above, but I’ll flesh out the thought process.
We looked at Maya, GNOME Calendar, and Evolution when we began discussing the need for a calendar application. The important elements of our criteria:
- We like Vala, not just because it’s a great language, but because it’s an approachable language for a wide range of contributors. We’ve had college interns with no experience with GObject or Vala produce usable patches on their third or fourth day. That’s important for an open-source project; the fewer stumbling blocks for external contributors, the more quality patches you can potentially receive.
- Yorba targets GNOME, broadly. We want our software to be usable to the widest audience possible, although we have limited resources to make that happen. There are a lot of distros out there, and more than a few of them offer a unique desktop experience. Yorba does not want our users to feel left out because they’ve elected to go with a distro that doesn’t have a particular support library our app requires. Versions of libraries (from GTK+ on up) also vary among distributions. We can’t please everyone, but we can look for a sweet spot that gets our software into most people’s hands.
- Good integration with existing calendaring services. Unlike Geary, where we felt a strong need to have control over the network traffic, that’s less a priority with calendaring, so we’re comfortable with using Evolution Data Server for the backend.
- Clean interface using modern GTK+ widgets. All I/O should be asynchronous.
- Internally, a clean break between the backend (i.e. the service providing calendar information to the app), the data serializer (i.e. the code that translates the iCalendar data into objects and vice-versa), and the GUI. In practice, this means abstracting Evolution Data Server and libical from the rest of the application. All of this comes from the desire to take advantage of all of Vala’s and GObject’s features and create a robust, dynamic application.
- Another internal: A thorough date/time layer. We’ve not rewritten GLib’s date/time classes (which work great), but built upon them to make a flexible and more bullet-proof date/time mini-library. One thing I knew going into this–something I’ve learned from experience–is that date, time, and timezones are deceptively complicated and very easy to get wrong. You will get burned and you will have to go back and fix important things you didn’t consider when you started. Rather than think I knew everything I needed to know, I wanted to ensure I had a central abstraction layer to fix what I learned along the way.
All of this added up to starting from scratch. I feel the results so far justify the decision.
Do you have any plans about releasing other new software after calendar is ready? If so, please tell us what (if it’s not a secret ).
No plans at the moment. Honest.
Do you have other job as well, or only Yorba? Are donations and bounties enough for a living?
Yorba is my full-time job. Donations are our only source of income. We’re fortunate that we have a generous donor, Adam Dingle, who also founded Yorba in 2009. Additional donations from our users are very much appreciated and assist us in our work.
By policy, Yorba does not collect bounties for work we perform on our own software. When we close bugs that have bounties attached to them, I hope the donors will use that returned money toward another bounty. Keep the ball rolling, so to speak.
Thank you Jim for this interview!
If you would like to help the development of Yorba apps, like Geary or California you can do that by donating to them.