Herding Code 205: Udi Dahan on Starting a Company Based on an Open Source Project

While at NDC Oslo, K Scott and Jon caught up with Udi Dahan to discuss his experiences in building a distributed company (Particular Software) to offer support and services for NServiceBus and related technologies.

Download / Listen: Herding Code 205: Udi Dahan on Starting a Company Based on an Open Source Project

Show Notes:

  • Hello There
    • (00:18) K Scott introduces Udi Dahan, whom we last spoke to in 2010.
  • Growing from an open source project to commercial product: how and why
    • (00:41) Udi describes why he started a company to better support the NServiceBus community. On his own, he wasn’t able to both support himself doing NServiceBus training and the NServiceBus project. He decided he was doing his users a disservice by continuing the free open source model, but he wasn’t sure it would work since there weren’t really precedents for taking an open source project commercial in the .NET world.
    • (03:17) K Scott asks Udi about the global reach of his distributed company.
  • Commercial Software and Licensing Are Hard
    • (04:10) Udi describes the learning curve to start selling a commercial product – complications with contracts, legal issues, etc. Pricing is complicated, too, because companies are structured so differently.
    • (06:43) K Scott asks if each customer requires a separate license.
    • (07:11) Jon asks what commercial model they settled on. Udi explains that the "call for a quote" model is common for large customers, but for "normal" customers it’s generally $25 per month for a developer machine.
    • (08:15) Jon asks what changed with respect to the license and code availability. Udi explains that the code is still on GitHub, the license just changed for cases where it’s being used commercially and developers don’t want to release their code. The code is now under the RPL – the Reciprocal Public License.
    • (09:12) Jon asks about the difference between the RPL and the AGPL licenses. Udi explains that AGPL explains that AGPL only requires releasing your code to your users in order to use the code for free, so there’s a loophole for cases like large intranet deployments. RPL requires releasing your code to the world for free use, not just to your users.
    • (10:37) Jon says he’s happy to see open source as a thriving business model. Udi clarifies a bit – the common approach is a service based open source model, but this it really pushes you towards working with a few very large customers. The problems with this approach is that you’re both subject to large risk if you lose your giant customers, and you’re competing with enterprise vendors who have deep pockets.
  • Running a Distributed Company
    • (13:44) K Scott asks Udi how he manages a growing, distributed company. Udi says that it’s good that the growth doesn’t happen all at once.
    • (15:15) Jon asks how they handle communications. Udi says it’s important to write everything down and to make use of lots of web conferencing. All web conference meetings are recorded so people can catch up later. Jon says says he thinks that writing everything down makes things easier for your company over time. Udi says he wouldn’t say it’s easier, it’s more of a maturity forcing function – if you’re able to get through it, you’re able to do a lot more and get new employees up to speed a lot faster.
  • Surprise Lightning Round!
    • (18:43) K Scott springs a surprise Lighting Round on Udi!
    • (18:56) Microservices
    • (20:27) CQR
    • (22:03) Event Sourcing
  • (26:43) K Scott asks what Udi does to relax in his spare time. Udi says he’s got four kids, which isn’t necessarily relaxing but definitely occupies his free time.

Show Links: