Ask Slashdot: Open Vs. Closed-Source For a Start-Up
atamagabakkaomae writes "Together with a friend, I am starting up a company in Japan that develops sensors used in motion capture. For these sensors we develop hardware and software. Part of the software development is an open-source toolkit called openMAT. We have some special purpose algorithms that we developed ourselves and that are better than our competitor's technology. I first wanted to publish everything open-source to spark interest in our company and to do development in collaboration with the community. My company partner disagreed and said that we will lose our technological advantage if we open-source it. So I eventually published only a part of the toolkit open-source and closed the most interesting code. How do you guys think that open-sourcing your code-base affects a company's business? Is it wrong for a small company to give away precious intellectual property like that or will it on the contrary help the development of the company?"
You believe you have better algorithms than the competition. Starting a company is hard enough without giving Christmas presents to the competition. Keep everything closed while the company is young and vulnerable. Open source your code later if it won't help the competition AND you believe it will add value to your company. How far would Google have progressed if they had open sourced their search engine ten minutes after they had it working?
Frankly, if you have to ask this question you aren't really serious about succeeding.
Your company is just starting up and probably isn't established in the industry. Giving away everything you have done better than your competitors is not going to end well. Remember that they are already established in the industry, and way more known than you. You're already at disadvantage there. Don't give away the one thing you have - technological advantage.
Since you work in a very specific industry and not with something that has everyday uses for everyone or at least lots of people, open sourcing your code won't spark interest in your company or get you a community that helps you develop it. Less specialized software already doesn't get contributors, and if they do, it takes insane amount of time to look over the contributions. You work in a very niche industry - you won't get either one of these, but instead you will give away whatever advantage you have.
Now is not a good time to open source it. Maybe later if you grow to a large company, but not now. You will probably see most comments suggesting open sourcing it, but they are only saying so because of the community of slashdot. They aren't thinking it in business sense.
Tom Preston-Werner from GitHub recently posted his take on this question:
http://tom.preston-werner.com/2011/11/22/open-source-everything.html
The tl;dr version of it -- open source everything except what is intrinsic to your core business value. My personal take is that if you can't beat your competitors with a mostly open book, you won't beat them with a closed book either. Hire the best people you can find, be thoughtful about your product, and hope for a bit of luck.
There are a few. Red Hat is a good sized company. Springsource had a reasonable-sized business (tens of millions in revenue) before being acquired by VMwware. mySQL was similar in revenue, and got acquired for crazy money by Sun. There's SugarCRM. But in general .. most of the really valuable companies have really valuable software they keep under lock and key.
Focus, focus, focus on getting that product out the door; that alone will take everything you've got. Open-sourcing involves managing a team of people who are distributed in geography and in time zones, and may not care about the mission of your business. It's way more headache than you need right now; I'd definitely not try to add that to your already-full plate.
Open-sourcing isn't really a marketing tool. Once you have a harem of happy customers, they will provide all the buzz you need, and then if you're profitable, you might have some breathing room to think about helping society.
Consider:
- Is your product something that hobby developers might take an interest in? Will their contributions add value to your codebase or company? Will they want to contribute?
- Is your product something other companies might find useful if they took it, added a feature, and contributed it back to you? Will they have any incentive to send anything back to you?
- Do you have anything that you can subsequently sell to the people using your open code, that they are going to want to buy, that a competitor can't quickly spring up and take the opportunity from you?
- Could opening the code allow you to steal away a significant part of the market, that you can later sell products or services to, for a net profit? Is this likely?
And weigh this up against:
- You've given away the code. Is there anything left to sell, and will people want to buy it?
- Would your company survive if someone saw the code, thought it was a good idea, and put double the number of developers on it and told them: "make something like this"? Assume they will use your code as a reference, but no proof of it will ever be found.
- A company with an international presence steals your code, builds it into their product, and sells it. Do you either have the resources to fight a huge multinational (possibly hiding behind a subsidiary in a different country), and the ability to survive for a few years whilst it works its way through the courts, as well as fight off baseless countersuits? Or is your product such that your company will survive, even if it is being ripped off, possibly even benefiting from the exposure?
I'm releasing tools from my work that I developed for our operations.
We don't want to sell the tools - for the kind of money we could get for them in a market full of existing commercial options, it wouldn't be worth the trouble, let alone the sales and support overheads.
We could keep them closed in-house. There's nothing wrong with that and it's a viable option, but it means we give up the chance of sharing maintenance costs with others and benefiting from others' improvements to the tools.
Consequently, we've decided to open them up. This will permit competitors to use them - but most of our local competitors have already licensed expensive commercial equivalents they're committed to, so the only way they're likely to benefit is if we push pricing down across the industry, which isn't likely at this stage given that our tools are significantly less polished and more limited than the existing commercial offerings. It'd also permit new start-ups who wanted to compete with us to use them - but we're the dominant player in a mature and saturated local market with significant community loyalty. Startups have consistently failed despite having vast amounts of cash pumped into them by outfits who want to knock us out of the way and don't mind taking epic short-term losses to do it.
The upside of opening our tools up is that we're hoping to see participation from other companies and non-commercial publications, reducing the cost of ownership of our in-house tools, making them easier to maintain and less dependent on just one person in one company. That should help future-proof them for us if they're successful, and hopefully get us the use of contributed enhancements we wouldn't have developed ourselves.
IMO this is one area where OSS is really key in commercial use: when you need to build tools that help your business but aren't viable as a product.