

Why You Should Open-Source Your Startup - dreeves
http://blog.codecombat.com/why-you-should-open-source-your-startup

======
dreeves
Love this so much, and it's absolutely persuasive. My startup --
[http://beeminder.com](http://beeminder.com) \-- has been on board
conceptually for a while and the only thing holding us back, for now, is the
initial work required (as Nick puts it in the article, "writing documentation,
automating the developer setup, filing easy issues, paring down the
repository, and preparing licenses").

Here are some other costs to consider, courtesy of Yehuda Katz:

1\. Reviewing all of the code that you want to open source for secrets that
could compromise security.

2\. Improving parts of the code that are embarrassing or too coupled to
infrastructure that isn't going to be made open source.

3\. Additional communication overhead for communicating with the open source
community so that contributors don't do work that you're already working on.

4\. Time spent triaging and working with features that may not have been high
internal priorities (or risk pissing off the open source ecosystem).

5\. A general willingness to cede control over the precise direction and
priorities to a larger group of open source people.

Aaron Parecki adds:

6\. Support costs of helping people get their dev environments set up.

But Yehuda, obviously, is in favor of open-sourcing as long as you understand
those costs, and lists these advantages, most of which the article also notes:

1\. Gaining additional contributions from open sourcers that would have been
expensive or technically impossible to do in-house.

2\. A vibrant community of people that are interested in the product, its
direction, and are knowledgeable in the implementation.

3\. People willing to do cleanup work in order to become familiar with the
project and become contributors.

4\. Getting insight into product direction by people willing to put their
money where their mouth is and dedicate time to implementation (this is the
flip side of some of the negative above).

5\. A recruitment pool that is already familiar with the product and its
implementation.

~~~
gsaines
Thanks dreeves, I don't have a bunch to add to this list, as we've found it to
be pretty comprehensive, but we really appreciate the support!

------
biot
I think better insight would be derived from analyzing when you should not
open source your startup. Where would Microsoft be if Windows and Office were
open source and companies could get them for free?

~~~
logn
IMO, it makes sense when your strategic advantage is in your community and the
service/convenience of hosting the app for people. If your advantage is in
your algorithms, I don't think it makes sense, unless you plan to make your
money from consulting/enterprise/hosting.

~~~
GigabyteCoin
And even then, look at how many general computer repair shops are competing
against Cononical for "professional Ubuntu support".

------
jakejake
We try to keep things modular and so we open source components and various
things in our software that might be of general use. Likewise we try to send
pull requests back on components that we use. Several of us have our own open
source projects as well so we're very much into open sourcing code.

But, I honestly don't see a ton of value in open-sourcing the entire codebase
as-is for my company. Not that I would worry about people stealing our ideas,
because like most businesses ours is about relationships, support and various
other things rather than the "secret sauce" in our code. I just don't see
anybody bothering to contribute since our customers are not programmers (not
even very technical in many cases). I have no idea why any programmer in
his/her right mind would want to go through our product to fix bugs or add
features.

I can see it being a different thing if your product is aimed at other
developers and/or it has a broad appeal. If there are developers who would be
interested for some reason to participate, then I can see it being a great
thing. I just don't think it's necessarily helpful for every company.

------
Avshalom
I like open source and I understand you have to make a business case for it
but this just feels depressingly like "Open-source your startup so you don't
have to pay for employees"

~~~
dsjoerg
What's depressing about that? If people feel they want to voluntarily
contribute, how is that not a win-win?

~~~
gsaines
I think he's just bringing up the very real point that we're a for profit
company, but accept free work from highly skilled developers. We are almost
hyper aware of the need to balance the community and company profitability.
The last thing we want is for people to feel exploited, and we think that we
can be transparent enough to make that work. But to ignore the risk entirely
would be hubris. :)

------
abeiz
I open sourced my startup a few months ago (logicpull.com) and it ended up
opening up a lot of doors for me. Definitely glad I went that route.

~~~
gsaines
Hey Abeiz, would love to chat with you about your experience if you have time,
you can reach me at george@codecombat.com.

------
KaoruAoiShiho
If I were running a startup like youtube or airbnb should I open source? The
problem of clones seems to be quite big (they all already have clones).

~~~
MrAlmostWrong
The product for YouTube and Airbnb is the community, not the actual code.
Although for YouTube they might want to keep some of the video processing
stuff to themselves. As for Airbnb a clone wouldn't take it down because the
community is the product. Same can be said of Craigslist.

~~~
KaoruAoiShiho
This is basically the same thing as saying you can't open source until you're
firmly in the lead?

~~~
nwinter
No one will see the value in doing what you're doing and want to clone you
until then. Even if someone saw the genius in your approach early on and
decided to clone you and start competing with you, you have to be confident
that your version of your idea will continue to be better than their version.
You still have all the advantages of branding, community, and users, whereas
their version has no advantages except perhaps a lower price (which doesn't
apply to many products, like your AirBnb and Youtube examples).

------
loomio
We have been open source from the start, but we actually find it really hard
to find the time to support contributors to do more than small features and
changes. If you have any advice about how to better integrate open source
contributors without making it prohibitively time-expensive in terms of
coordinating with the core dev team, I would love to hear it!

Even if we got contributors banging down the door tomorrow, I am not sure we
could spare the people-hours to properly make use of them - catch 22! Right
now most of our community contributions have come in the form of help
translating the app (more than a dozen languages now!) which is great, but
only one part of the puzzle.

This is our github:
[https://github.com/loomio/loomio](https://github.com/loomio/loomio) \- as you
can see we have pretty basic documentation. What would be the most important
information we'd need to help people be able to contribute more easily?

~~~
nwinter
We aren't experts, so perhaps we'll eventually run into similar problems, but
it seems like supporting a contributor to do something major might just be a
case where it doesn't always make ROI on the first feature, but the point is
to attract that contributor as a member of the core dev team, since every
subsequent major improvement that contributor makes will become easier. We are
trying the wizard avatars for significant contributions to try to motivate
people to really join the Archmage team.

The other ingredient might be excitement to do things. People will spend more
time figuring out how to make changes they care about if they're psyched; if
they just want to fix some bug, they'll give up more quickly and need more
time from you. So highlighting some cool things to do might help. I notice
that you link to small tasks issues, but don't have any open right now. Always
taking the time to write good issues that explain how to do a thing, even if
you think you'll probably do it and aren't planning on doing it soon, is a
good practice, because it'll be easier when you go to do it, and some
contributor might see that and get inspired–then they'll know how to do it
instead of needing to ask you where to start. Here's an example where I wrote
up a lot of info on how to do a task and a contributor put in a lot more time
to finish it afterward:
[https://github.com/codecombat/codecombat/issues/23](https://github.com/codecombat/codecombat/issues/23)

~~~
loomio
Thanks very much for the advice!

------
marquis
This assumes you are not solving hard algorithmic problems, but I certainly
agree the open sourcing certain components can be very valuable - you can get
more customers if others are extending your work and of course you attract
consulting work. Providing a good, usable SDK is a good meeting point.

------
omilu
It's reassuring to know that a product or service your relying on is open
source.

~~~
dsr_
Specifically, you get a bunch of benefits: if the provider goes away, you
still have the source _and_ the right to fix it. You can hire in a competitive
marketplace to have changes made. When you find a bug, you can fix it. When
the documentation is unclear, you can read the source. When other people make
improvements, you get to reap the benefits. Support often comes from people
who actually wrote the code that perplexes you.

Finally, licensing costs are zero, and support costs exist in a competitive
marketplace. If you've ever been stonewalled by Oracle or Microsoft refusing
to acknowledge that a bug exists, or worse, acknowledging it but marking it
WONTFIX, this is worth more than all the other advantages put together.

From a user's point of view, open source is a win all the way around.

I have to say, though, that not every startup is best served by open sourcing
all of their work.

------
knocte
How does this startup make money? After reading the blog post a bit and some
comments, I still can't figure out.

~~~
nwinter
We find jobs for our more experienced players and collect placement fees from
the employers.

------
dreeves
[Eep, I used a bookmarklet to submit this to Hacker News and didn't notice
that it submitted it with "?action=upvote" in the query string (how I first
reached the page because I clicked the upvote link when I got the blog post in
my inbox).

So now it looks like the CodeCombat blog is doing some crazy spammy thing with
popups when you hit the site. Could a moderator fix the URL?]

~~~
yetanotherphd
I made the switch to OpenCombat, it's based on the same open source software,
but without the spammy ads.

~~~
dreeves
:) Too funny! Just wanted to explicitly comment in case someone who's just
skimming this doesn't realize you're joking.

(And I see that the mangled link that was pointing at a version of the page
with a dialog box was fixed. Sorry again for that screwup! Totally my fault
for submitting the wrong URL.)

