Hacker News new | past | comments | ask | show | jobs | submit login

The article begins by discussing their choice to open source an integral part of their product. The article ends with an admonition: "Don't open source anything that represents core business value." It seems like Grit certainly represented core business value, yet they open sourced it.

I'm guessing that what they really mean is that you should open source almost everything that represents core business value, but one piece should always be left out. Or, perhaps they're saying that their web interface is the core value they provide, and so they open source everything but that.




I think you're reading "core business value" too broadly. Github might not exist without Grit, but the crucial test is that Grit might exist without Github. Grit itself --- the ability to interface with git --- it's something specific to the functionality of Github, it has broader applications. This isn't something true of Github, and neither is it true of their Jobs site, since it has (apparently, never used it) direct and deep integration with Github.


That's less "core" than what Tom seems to mean. By looking at the examples he provides, the essential distinction seems to be this:

If somebody found the code, would cloning your business be the obvious thing to do with it?

This isn't true of Grit. It is true of the core GitHub app, and it is true of the GitHub Jobs app.

Interacting with Git from Ruby is not the core business value of GitHub. It's just something GitHub does in the process of providing its real core business value, which is the awesome interface and collaboration features they've built on top of Git.


Reading on, "Open sourcing it would mean thousands of people worldwide could use it to build interesting Git tools, creating an even more vibrant Git ecosystem."

Awesome Git bindings to Ruby are critical to the functionality of Github, but a vibrant Git ecosystem is essential to its success. Business value trumps technical implementation.

In fact, Tom also mentions the libgit2 library that Github is working on, and may even replace some of what they use Grit for today.

Another point: Zurb recently open-sourced their CSS/JS framework that they use to build all their client sites/apps with. They have spent years making it awesome. It's a major part of the material goods that they hand over at the delivery of a project. After it being opened up on Gitub, they've seen lots of great feedback, bug fixes and enhancements. I'd also bet they've seen an increase in new clients. What they wrote is awesome and now they are known to many more potential customers as being the people who know what they are doing.

Business value trumps technical implementation.


If your product relies on the network effect for its success (as GitHub does) and you've already established yourself, it doesn't seem to me that open sourcing your software would be a bad idea. See Reddit as another example.


There are two schools of thought, in marketing, on giving away parts of your business, your ideas etc:

Give away your non-core ideas to attract people/resources/interest and then sell your complete system.

Give away your core ideas to "prove your worth" and build trust/authority/recognition and sell your complete system.

The second version is more powerful but it takes a leap of faith. Others could poach your work and use it against you but truly viable competitors are rare and people are lazy, the odds of this happening are often slim.


> one piece should always be left out

Another way is to make one piece of the open-sourced version run slower than an equivalent optimized closed-source version that does the same thing in the proprietary distribution of the same product. That way the business can make the claim "completely open sourced", knowing if anyone forks their product it will run slower.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: