These two paragraphs hold a secret :<p><i>"Our main problem with WebRechnung is that it doesn’t fit our standards any more – software, as everything, degrades over time. The interwebs is moving fastly forward, everything is evolving. Adapt or die. We don’t want to see this old piece of software (base core is 3 years old now) out there into the wild much longer.<p>We would love to publish it on GitHub. Unfortunately this software is not really a modern ninja style stand alone application. It is tightly integrated into our monolithic MISH system – mostly written in Perl and impossible to understand for an outsider anyways. And it’s really old: dependencies are outdated, large parts of the code are in need of major re-factoring. We would rather rewrite everything before touching this code again."</i><p>One of the challenges of building software on open source
frameworks is building <i>durable</i> software. I have been playing with thttpd recently on the Rpi and amazed at how durable this software is. It hasn't been changed a whole lot in years and years, and it just works. And it does that because everything it depends on is also not changing and just works.<p>The challenge for this new generation of programmers is to create a durable environment where folks could write invoicing software once and have it just work.
This highlights something that many start ups fail to properly understand - a good product is a tiny part of the challenge of succeeding with a business. Without some way of getting the word out there people won't find your product. It doesn't matter how good it is. And if people don't find you, you're dead.<p>Every start up needs a good understanding of tech to build something saleable, and a good understanding of marketing to bring people to the product. You can't survive without both (caveat: you can buy marketing).