Closed and open source: Making it work within a company
When I arrived at Cubyn, about 3 months ago, I discovered something that is now pretty usual for me: we’re using Github.com. Nothing unusual, pretty much any start-up I’ve been around these days in Paris is either using Github or Bitbucket.
What I did not expect, though, was checking the repos to see that we had PUBLIC ones. And somewhat lengthy ones. In a company? What is going on?
Someone must have made a mistake.
My code is valuable and there is no way I share it.
Companies like to think that their code is valuable.
It is time spent by developers, after all, and like everyone says: time is money. Moreover, we wouldn’t like any of our competitors to take a peek at what you’re doing and grab that sweet technological advantage you’ve built over time. And what if someone discovered a security hole in our API?
Make a module, save a developer
It’s no legend: writing the same logic twice is a waste of time. And you know what’s funny with modules? They, most of the time, represent such a tiny bit of logic that it is reusable if done right, in another code.
Working with modules, as a developer makes you more valuable in the long run. And furthermore, means that you managed to take out the business logic out of the code.
Okay. Now what?
Without knowing you solved two major problems with open sourcing some of your codebase.
- You made it modular and therefore reusable for anyone else.
- You took out the business logic, and therefore safer against competitors.
It’s good for you. And good for everyone.
But the real interest lies in the fact that ANYONE can now make your code better. And funny thing: you can most probably reuse the changes that someone might contribute to your code.
And given that your code is used by someone else, they might find bugs inside, security holes, or whatever grinds your gears.
There, we had 3 issues, and having open-source in mind when writing code actually solved them all! And there are many companies out there doing just the same: Twitter, Facebook or Google. Bigger companies can do it, why can’t you?