I started writing this blog post as a comment to forum discussion that really got me thinking titled "State of TurnKey from a users viewpoint". Many thanks to Eric, Jeremy and Carl for their insightful and thought provoking comments. I've decided to post my response on the blog to draw attention to the discussion. I believe it reflects what many of you in the community must be thinking and I'm hoping to hear more people voice their opinions on the matter.
Our critics are our best friends (and vice versa)
I'm humbled when people care enough about what we're doing to take the time to share their thoughts in detail. I usually don't have a lot of free time on my hands. I know most of you are like that as well so I really appreciate it when somebody goes out of there way to give us a "piece of their mind". Even when it's critical and not nearly as flattering as I might like.
Many thanks to all of you for the honest constructive criticism, as well as the help and encouragement. I believe TurnKey ultimately benefits from that.
What really pains me that I don't have the time to respond to each and every point and idea raised by everyone in the community individually. That doesn't mean a discussion, your input, feedback and ideas aren't extremely useful. You strengthen our resolve, heighten the sense of urgency and dig deeper into important paths of thought even when you aren't breaking new ground, even in cases when we have already mentally explored some of the same paths you have suggested.
Brainstorming our way to greater glory
Behind the scenes, Alon and I have these regular brainstorming sessions that often last hours. We talk about the community's feedback, throw ideas out there, discuss the pros and cons of this priority vs that and ultimately decide what we need to focus on to get TurnKey to the next level. Then we stick with it. At least until the next brainstorming session.
Our last brainstorming was about a month ago. We have a lot on our plate just keeping the metaphorical trains going at TurnKey but with regards to new developments we resolved to focus on 64-bit support, productizing a prototype of the TurnKey Desktop system, RCs for the next Debian release wheezy, and creating a TurnKey factory "meta-appliance" that would be capable of building TurnKey products from public source code (e.g., on GitHub).
Red Queen's race
"Well, in our country," said Alice, still panting a little, "you'd generally get to somewhere else — if you run very fast for a long time, as we've been doing."
"A slow sort of country!" said the Queen. "Now, here, you see, it takes all the running you can do, to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that!"
—Through the Looking-Glass, Lewis Carroll
We can't make progress on all the items and issues raised by the community as quickly as we'd like to. We're doing our best, and in a way we've been both successful and victims of our success. So far we've managed to keep TurnKey on its feet while continuing to make progress with a ridiculously small amount of resources, but there's a price to pay...
What I don't think we fully appreciated when we began is how much time and energy it would take to keep the project in roughly the same place. Communicating with our users and partners, maintaining the project's infrastructure, tracking API changes, bugfixing, and maintaining the existing library of solutions. All of that could easily take over 100% of our time without leaving time and energy to push the project forward.
It always comes back to the resources we have to work with. What we have is never enough.
Great things come from small beginnings
A few years ago when the project was just starting out it was several orders of magnitude less complex. It was a small, fun little side project. Just a couple of products. A handful of very undemanding users. Very simple infrastructure. Not too many opportunities. A lot of ideas on where this could go, but no pressure. Nearly every user that commented on the forum got a personal reply from me. It was wonderful to receive even a trickle of interest from the outside world. People all over the outside world in fact!
TurnKey was small, not very demanding and it usually didn't feel like we were neglecting anything important.
Choose your battles
A few years later TurnKey had ballooned in size and complexity. There's now much more important stuff to get done than we could ever hope to achieve without increasing our manpower and resources several times over.
So it's become a very unfortunate fact of life that some important things are not going to get done, or not going to get done as quickly as we'd like. This means many great opportunities are lost and many great ideas and even great people are not going to get the attention they deserve from us.
We'd like to do everything, talk to everyone, go in all directions at once - then reality intervenes and forces us to pick our battles.
There's no magic way to change this, but we do believe there is a real, pragmatic path to meaningful change that doesn't involve us "selling out" and turning TurnKey into a full-fledged business backed by outside investors, with everything that comes with that (good and bad).
If you love somebody, set them free
In a nutshell, our plan is to tough it out and do whatever it takes to keep TurnKey alive and kicking while radically open up the project's development to the community. Then gradually getting various stakeholders interested in helping out and multiplying the resources the project has to work with.
In other words turning TurnKey into something more resembling a truly free open source project with a living kicking screaming community behind it bearing most of the burden involved in churning out more turnk-key open source solutions of ever higher quality.
It's a tall order, but we're in this for the long haul. Even if it takes another couple years to get there, we're fine with that.
More important than money?!
"Making money isn't hard in itself... What's hard is to earn it doing something worth devoting one's life to."
—Carlos Ruiz Zafón
We've come to understand (the hard way) how important it is to become financially sustainable and have sources of revenue. Thank goodness we can pay the rent now while working on TurnKey full-time. But this isn't about the money for us. We want TurnKey to be more of an open source project that has a little side business going than a business that has a little open source project going. As far as we're concerned the business stuff should just another piece of infrastructure that helps keep TurnKey ticking. Like our servers. It shouldn't be the focal point and it should serve the open source project rather than other way around.
We do need to grow the team and bring more full-time people on board and that requires expanding our sources of revenue. But ultimately what we want our team to be doing is supporting a rich, vibrant community that celebrates open source. Not "maximizing shareholder value". We think there's a way to do that that isn't based on wishful thinking and open source pixie dust, but only time will tell if we're right.
In the meantime if we want to hold on to our somewhat ideal, naive notions we have to stay in control. That means going against the flow, ignoring the siren call of investors and doing stuff with our own time, on our own dime. We pay for that by going slower, but in our minds that's a small price to pay for staying true to ourselves and to the open source spirit that led us to found TurnKey in the first place.
I agree wholeheartedly there's a tremendous amount of room for improvement. By all means voice your opinions, ideas and criticism. We read everything, even when we don't have time to respond.
Bear with us: from where I'm looking there are some very exciting times ahead as we lay the critical pieces in place required to unlock TurnKey's true potential. We're working on that right now. We still have some hidden aces to play that we hope will delight our users and the open source community. I'd share more details except that we've made enough public promises that I'm worried of breaking so I won't make the situation worse by making even more of those. For now let's just say we're making good progress on a lot of stuff behind the "core" event horizon and we are feeling very optimistic about TurnKey's prospects for the future. Stay tuned!