Today’s proof of concept is tomorrow’s production deployment.
With a long history in open source communities, Daniel is currently the Co-founder and CEO of Bitnami, making it easier than ever to run your favourite apps, and changing how people install and manage server software (PS. they’re hiring!). With the mission to make awesome software available to everyone, everywhere, they also partner with Amazon, Microsoft and other companies, making cloud-based application hosting a snap. He was an active member of the Apache Software Foundation for over 15 years and is the author of several publications including Teach Yourself Apache 2 and Apache Phrasebook. He also founded BitRock in 2003, and held technical and leadership roles both at Devicescape and Covalent Technologies. With decades of experience under his belt, he took some time with us to talk about what he’s learned along the way…
OpenChannel: How did you get involved in open source communities, and what do you look for in a great community?
Daniel Lopez: I got involved as a way of learning about programming, servers and system administration. I started writing tools and open sourcing them as a hobby and a way to give back to the community. With the Apache Foundation I worked on the documentation for the Apache server and configuration tools, and also wrote a bunch of Linux How To Guides. It was around 1993 and the very early days, but once I got access to Internet and some earlier versions of Linux, I was hooked.
For “what to look for”, you can have healthy developer communities that look very different from each other depending on what you’re trying to accomplish. In general, there are two philosophies about building a software community.
The first is to value community over code. You care more about having a healthy community behind the code, and less about the initial quality of the code or specific set of features. That’s important because the lifespan of any project will typically depend on a healthy developer community and over time the code will get better. You need to focus on communication, how people give feedback and how the community will continue to grow over time. This is the approach of the Apache Software Foundation and many others. One of the main metrics on whether to accept a project under its umbrella is that it has a healthy community of developers and is not just a codebase entirely maintained by a single vendor.
The other approach is more focused on the the code and making sure it continues to be available even if the original maintainers move on or change their goals. You care a lot about licensing, or in the case of open source, that the code is always going to be free and nobody can fork it and close it. That’s why you have GPL licensing and projects built around specific licenses. This is the approach of many projects under the Free Software Foundation umbrella. This is of course a very coarse generalization, but you get the idea.
OC: If you we’re starting a developer community from scratch today, what specific things would you focus on?
Daniel: It’s important to release as soon as you have something working or something that is useful. Release it and get feedback even if the feedback is, “It doesn’t work”. I have seen more companies and projects fail because they didn’t ship in time, than companies fail because what they shipped didn’t work or was not good enough (initially).
It’s important that your barriers to adoption are as low as possible, and you can do that by providing great documentation. At Bitnami we call it the “One Afternoon Test”. Are you able to do something useful and get something working in one afternoon? If a platform makes it easy to get up and running, you’re going to invest more time improving on that. If you can’t get something to work in one afternoon, often you’re just going to give up and evaluate other options. It’s all about making it easier through good documentation and APIs. This is not necessarily very rational, as in many cases you will be stuck with that initial technology for years to come, but is how many developers (myself included) make decisions in the early stages of a project. Having said this, great documentation and attention to that first onboarding experience is typically correlated with high quality software.
At the beginning, you’ll have a very small amount of people join and make suggestions. Engage with them and If they make a suggestion that makes sense, thank them and implement it. If people feel they’re not being listened to, they will get disillusioned and leave. If you are listening to them, they will increasingly invest more time and energy evangelizing your platform. By engaging those early users, they’ll start participating in the forums, answering other people’s questions and contributing feedback. The goal is a lot of contributions and collaboration from all kinds of companies, and then you can filter and work with them to improve your platform, but you need to a funnel of contributions and collaboration early on.
OC: At Bitnami your users are developers, what was one mistake you made when growing your community of developers?
Daniel: One mistake was definitely the quality of our documentation. We spent a lot of time preparing releases, but for a long time our documentation wasn’t always up to date and or as complete as it should have been.
When people would run into problems and couldn’t find what they need, they would give up and create a support ticket, and then have to wait for an answer which was a poor experience. That also created a support problem for us, where we were spending too much time doing one on one developer support. We have millions of developers that includes everything from a student getting started on a Windows laptop, all the way to corporate developers running complex applications in the cloud, and as the community grew that was harder and harder to maintain.
If we were to do it again, I would have focused earlier on creating beautiful documentation and tutorials. I’d also focus more on use-cases, prioritizing and structuring documentation in a way that the most common use cases are covered. We figured it out over time, but if we had done it correctly from the beginning, we would have saved a lot of frustration for our developers and our support team.
OC: When you look at developer communities today, what are some major changes that people don’t see coming in the next 5 years?
Daniel: One thing that’s going to be increasingly important is the power of developers and development organizations in choosing what technologies and software gets deployed. It used to be that other departments controlled deployment and dictated which software could and could not be used because it was running on the company’s servers, but now with the cloud and more automation, developers can go around them and have more power in deciding what gets used and which the knowledge gets selected. That’s important because today’s proof of concept is tomorrow’s production deployment.
In a rational world, companies would do an evaluation of all the options and understand the total cost of each solution. The reality is, many developers try a few solutions, and whatever is easiest to set up and get running is the one they usually go with. So it goes back to having great documentation and making it easy for developers to adopt your platform
OC: What developer community do you really admire and why?
Daniel: The Apache Software Foundation is one because it strikes a good balance between corporate developers and individual contributors, and It’s important for a company and community to value contributions of different types.
Marten Mickos, former CEO of MySQL, talks about how some individual developers, like students, usually have more time than money, so they’re much more willing to set things up, contribute and figure out how to make something work on their own. Companies typically have more money than time, and may be willing to pay to improve the software, which provides important funding for the platform. You don’t necessarily need to contribute code to be a good member of the community.
In the 1990s, say whatever you want to about the technology and business practices, but Microsoft got it right with a thriving developer community and ecosystem of partners. Instead of measuring how much money they were making from Windows, they measured how much money other people were making on top of Windows. They wanted to have a healthy ecosystem where most of the value on top of Windows was built by 3rd parties. They knew that would make them successful in the long-term and that was crucial.
OC: What’s something about you that most people don’t know?
Daniel: I love to read memoirs and first person accounts of people from WWII. I started with American ones, now I’m actually learning German so I can read German memoirs, and I am even reading some Russian ones as well.
OC: Do you find that helps you with your work in software?
Daniel: No, if anything interferes, and I see it as part of the same ‘energy’ category. After a long day at work, it’s hard to concentrate on a book but I will gladly go for a run, and that’s one thing I recommend to entrepreneurs, you need something physical to balance the mental demands of work.
When you spend a lot of time thinking, writing, planning, building, you need something to balance that, and for most people that involves physical activity. When you join Y Combinator (Bitnami completed Y Combinator in 2013), they tell you to take care of your body, eat healthy and exercise. The actual activity doesn’t really matter, It can be cycling, running, whatever, but is has to be something that lets you to burn the stress away. It’s not wasting time, it’s actually investing time so you can continue to work long days without burning out or affecting your health.
OC: What is something that had an unexpected positive impact in getting more developers on the Bitnami platform?
Daniel: There are a couple things that other people did and it relates to making our platform easier to use for developers.
We had a booth at one of the big cloud conferences, and people kept coming into the booth and saying “Congratulations, that was really great.”. We had no idea what they were talking about, so after the fourth or fifth one, we had to ask.
An employee from a large cloud vendor was actually using Bitnami for a live demo on stage without telling us. They needed to show how easy it was to use their cloud infrastructure, and Bitnami is a very visual and simple way of running an application and demonstrating that, so every person at the conference got a full demo of Bitnami and it gave us great exposure.
Another example is someone wrote a WordPress course on Lynda.com and used Bitnami to teach people how to setup a WordPress environment, again without us knowing, and there has been an unexpected number of people that have heard of Bitnami through that course.
Both of those examples happened because we focus on providing a simple and easy developer experience, which comes back to the “One Afternoon Test”. Those people probably had limited time and Bitnami gave them what they needed fast. So if you want developers to love what you are doing, make it so easy to use they can’t afford to say no.