Unless your business’s value is actually on your website code itself, there’s little reason not to share your site’s code.
I understand why facebook or gmail won’t release the code to their site (I understand, without condemning nor condoning), but if you’ve got a blog, an institutional website, a three-page site that merely links to “download our app”, there’s little reason not to share the source with the public.
All of us web developers (or just curious designers) have come across some site and wondered “Hmm, wonder how they did X and Y with just jekyll”, or wondered what plugin they used on Z platform to achieve something.
For example, I’ve followed @Stammy’s articles for ages, and as the site change, I’ve more than once wondered how certain details were done with Jekyll (he’s mentioned once that he’s using jekyll to generate it). Sure, I could have search online for a while and would eventually find it, but if I’m already at a site, it would be pretty nice to just be able to dig up its source and see that immeditaly.
I’ve shared my site’s code even though it’s rather poor from the start. The reason? Someone might wonder how a small site like this is layed out using jekyll, or how I placed X and Y pieces together. Someone wanting to learn from example has yet another working one too. I won’t get less job if somebody finds out how I do this stuff. It’s no easier to steal my (rather poor) design either. But it might make someone’s like slightly easier.
And of course, we all probably use git, or something alike to keep track of our website anyway (if not: what are you waiting for!?), so why not just flip a switch and make that repo public.
Do you have a reason why you need to keep your site’s source secret?
A final note: this line of though came to me today when working on a small website for a client, that’s basically a few pages that show some stats, and a link to their app. When I asked “Why’s the repository for it public? It only uses your public API that you want other devs to use anyway.” his answer was he’d think about it.
Maybe it’s time to turn the “open by default” switch on for these sort of things?