Let's say I had a company that wanted to compete with your company -- how do you prevent me from making a different GUI for your software and aggressively marketing my version, perhaps with in-house developed features that aren't open source? Is this difficult/undesirable to prevent?
If you wanted to compete with him on this ground (trust and security), you'd need to be a good security hacker too and obviously you wouldn't need to copy his code because you could write it yourself.
However, if I've done my job properly, I'll fail -- because the first design principle behind tarsnap is that nobody will be able to steal your data, even if they force me to cooperate with them.
Open Source is great, but after spending a year working on this I don't want end up competing with someone else who is using my code.
We're not worried at all about people taking our code and using it to build proprietary products. In fact, we are going to encourage people to do exactly that because, as far as we can see, other companies having a vested interest in our platform is pretty much a win-win situation for everybody.
Of course as a business, we have revenue generating activities with the platform planned for ourselves, but it really seems unlikely that another company would choose to compete head on with us about that. We wrote the platform after all, so there are many different ways we could rain on their parade if they decide to use our software in an antagonistic way.
But yes, they could then pick up that development on their own by forking the platform from an older version.
The most important way that we could 'rain on their parade' though is just by being way better than them at creating applications based on the platform since we will always understand the internals better than anybody else.
We only want to reserve a small number of commercial opportunities for ourselves out of a large number of possibilities. Cooperating with us to develop one of those other possible product ideas is going to seem a lot more attractive than competing directly with us.
Please don't worry at all about challenging our ideas about this stuff. We are trying to understand the same things you are and our open source business strategy is largely theoretical at this point.
Why not doing it in the first place, then?
> The most important way that we could 'rain on their parade' though is just by being way better than them at creating applications based on the platform since we will always understand the internals better than anybody else.
If the internals are not well-designed and not well-documented, yes. In that case, once again, why bother releasing the source code?
We don't want to do it at all and probably never would. I'm only mentioning it as something that somebody evaluating risks from the other side might imagine that we could do.
> If the internals are not well-designed and not well-documented, yes. In that case, once again, why bother releasing the source code?
No, we're not going to deliberately obfuscate anything because that would be against our goals of encouraging as many people as possible to adopt our platform.
I think it's not really necessary to create artificial obstacles for us to have an important advantage. Very large systems take time and experience to understand even when they are both well designed and well documented.
Linus and Alan Cox have an advantage over newcomers at extending the Linux kernel, right? Hypothetically, if Linus, Alan, and say Rusty Russell got together and created a startup to implement a Linux kernel based idea, would it make sense to compete against them on exactly that idea?
Bill Gates, is that you?