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.
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.
Provided that you're selling something else. The reason we open source things is to give something back to the community; it helps us get our jobs done. But we don't give away our work.
Incidentally, I'm split on the issue. I happen to know a chip vendor that lost at least one contract because their development tools were proprietary; we instead developed with their competitor's FPGA because the tools provided were free.
But it sounds like your expertise is not in the HW, but the SW. Consider that your competition sounds like they're expertise is not in SW, but HW. With their better expertise in HW, they could probably use your algorithms to offer a better overall solution than you can, effectively shutting you out of the market.
The society for a thought-free internet welcomes you.
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?
Since I work as sales director for an Open Source company, you will know my answer.
Tell your partner, that not only will you keep your technological advantage, but you will always be one step ahead of any competition if you work with a community. Be a leader for that community. Provide an infrastructure that makes communication easy among contributors. Inspire them by giving directions and accept input at the same time. Tell the community about your goals, let them be part of the story, inspire them to contribute and make yourself a desirable target for talent.
What you need is a clear focus on your business model. As an Open Source company you will market your know how, your unique expertise and tell everyone that you and only know are the ones to support a customers into the deepest abysses of technical problems. Find partners and share your expertise. Identify key contributors to the project and hire them. Be the experts in your field of knowledge and make yourself independent from a product that others can copy. Develop a business case, a sales pitch that potential customers will easily understand and identify as something that will bring a distinct advantage to their business by using your product.
One last thing: You will have lots more fun building an OSS company than going the closed way. You will be part of a community, you will lead it and you will continuously get input from intelligent people, input that otherwise will cost you dearly when hiring external consultants.
Despite Richard Stallman's objections if he heard the same question*, open-source is not going to help in any way here. Your technology is what's known as a "trade secret", and would be the basis for whatever revenue your company makes. Giving out the algorithms to your competitors would be corporate suicide, and gain absolutely nothing except a reputation for being a total idiot.
Google open-sources things that it can afford to have open sourced, because it's to their benefit in various, interrelated ways. They're in the business of information after all, and whatever avenues they can make in obtaining said information are all the better.
* His first objection of course would be to first clarify the difference between free and open-source software, which I'm aware of but don't see the relevance in this particular case.
To all newcomers - people here are very close-minded and can't handle complaints about Linux. Keep this in mind.
Look at big open source projects, notice how unusable the user interfaces are or how buggy the code is (memory leaks everywhere) because there is no accountability and they can get away with saying "fork off". When your closed and have real money on the line you have to compete better or you go out of business.
Like it or not, billion dollar enterprises are closed for a reason and why open source users are stuck in their mom's basement.
You have a third option here: patent the special purpose algorithms, then open source it under a license that does not include a patent grant. This way, your value-generating asset is protected, but your users still get some benefits of OSS - the ability to tinker with the code and adapt them to their needs, and knowledge that they can support it themselves in long term if need be.
If you want, you can also add an explicit patent grant for open source applications only (e.g. only for GPL v2 and v3). That way you get FOSS community onboard, but any commercial competitors would still have to license your patents (which you could refuse outright, or at least ask a fair price) to reuse the idea.
But algorithms can't be patented, and the competition will have them shortly.
Plan the business model around the hardware, the first sentence did say:
I am starting up a company in Japan that develops sensors used in motion capture.
Embed the algorithms into the sensor if possible, but in any case make sure your sensors are better than the competition.
Hardware can be patented, and the software can be opensource. If someone else makes better software (and you get tired of the arms race)
you can fall back to selling just the hardware and actually service your competition with smarter better sensors.
Sig Battery depleted. Reverting to safe mode.
I'll chime in and say that if open source isn't a core part of your business plan, then why expend the time and money making your project open source? It costs you more to open source something than keeping the code to yourself _unless_ you have something compelling enough that people will want to help you with the code, which is very unlikely. Keep in mind that you can open source the code at any time, so the question is what is it compelling to you now to have it open source?
Put the algorithm in the hardware if you can, then you can publish the library open source without any risks.
There is also the question of whether closed source will even protect the algorithm. Binaries can be disassembled and reverse engineered, so closing source just makes thing more difficult if it's something as simple as an algorithm you are trying to protect.
1984 was not supposed to be an instruction manual.
I've done plenty of startup software development - we tend to use open tools and LGPL libraries, staying away from the pure GPL stuff because of the shades of green that the investors turn when they hear that they don't own secrets in the code.
And your competitors use your code (if it's not BSD or something similar), you've then forced them into being open, too.
Irrelevant! They were all pretty much massive juggernauts with well-established reputations when they went on their respective forays into Open Source, not fledgling startups. Regardless of the success or otherwise of their OSS experience, their stories are not even remotely comparable to a startup selling Motion-Capture sensors.
Ahh - My eye!
The doctor said I'm not supposed to get Slashdot in it!
You won't build any community among your customers if they feel locked out of key pieces of the product. If anything, they will be resentful. Jon Oosterhout tried it with TCL (Scriptics). Ransom Love tried it with OpenLinux (Caldera). Both failed.
You have already build your software on top of openMAT. If you want to be a closed-source company, then do the right thing - dump openMAT, and write your own replacement.
For what it's worth, in my opinion people are overly obsessed with the importance of protecting their precious "IP". You are not that smart. Any "edge" it gives you will only last a short time. It is more important that the products that you make do what you say they will do, that they are delivered on schedule, that they are reliable, that they are properly documented, and that you are available to stand behind them.
Turn in your geek card. RMS failed at maintaining emacs (for some reason, people don't like working with him), and was forced to import the complete xemacs fork and rename it "emacs".
Same story with gcc and egcs.
RMS can't earn a living with "his" code, which is why he rambles around talking about how you too can be dirt poor via open source.
Only open source your codebase if you want to outsource your entire company and any future profits to your competitors.
Wow Barbara I'm shocked, next you'll tell us you're using Windows 7 and liking it! But I too haven't gotten why someone who is a self admitted "squatter at MIT" is treated as this "God of programming" when frankly he had ONE idea, which was based on trying to keep the world locked in the 1970s, and since then? Not so much. Even though I think Torvalds is the cause of a lot of what is wrong with Linux by being a stubborn ass and refusing to allow a hardware ABI like all the other OSes have I will be the first to admit he knows his foo, but the only thing that RMS seems to be "good at" is telling other people what to do, that and putting GNU at the front of words.
As for TFA what advantage would giving the code away give YOU, not anyone else but just and only YOU. Unless you are planning from the start to basically have a "tin cup" donation model or sell support only, which I would argue is gonna dry up and blow away like a fart on the breeze if the economy continues to sour, then giving away the code right now is not only NOT an advantage to you but could possibly even torpedo the company if the other guy can do it cheaper by just using the patented MSFT EEE model using your code.
Hell even Google keeps their best stuff in house only, see the Google File System or their search algorithms for examples. Once you make it big THEN if you want to give away the old code like ID, or just sell hardware like AMD? Then you can give away the code, but right now i can't think of a single upsaide. the community can't even claim goodwill because AMD bent over backwards, even went so far as to hire developers to help the free drivers team, only to have every forum filled to the brim with "LOL Buy Nvidia" which made sure no other major company will make that mistake again.
ACs don't waste your time replying, your posts are never seen by me.
Only open source your codebase if you want to outsource your entire company and any future profits to your competitors.
I think your criticism is valid, but your conclusion isn't. You should open source your code if you estimate that you will still be the driver of the development. Then, other companies will build up dependence on you, you will gain influence and importance.
How can you make sure you will still be the driver of the development?
a) You have skills and experience in your area and your codebase nobody else has and will have difficulties to develop. Then others will always rely on your work.
b) You continuously add value and innovate, so your codebase is the go-to point.
c) You outwork your competition with consistency. When their fork goes stale, people will abandon it.
The beauty of open sourcing is that keeping upstream with you (feature-wise) is extremely difficult for a competitor that has a separate closed-source codebase. This is only accelerated when other people add to your product (don't start with counting on that though).
NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.