Open Source VIP’s

Open source + public fundraising = limited access?

Can an open source project reasonably expect to restrict access to its code and barter with those who want it? And if the project won’t publish its own open source code, should someone else?

Ghost is an “open source” (more on the quotes further down) blogging project by John O’Nolan that he simply describes as “Just a blogging platform.” It had a very successful Kickstarter campaign that raised $300,000, and one of the rewards for a certain level of donation was early access to the code. The first “VIP” release was last week.

In his Kickstarter video, John said…

Ghost is a blogging platform that is free, open source, beautifully-designed, and available to anyone who wants to use it.
Most importantly, Ghost is being made for love, not for profit.

He emphasizes three points as Ghost’s core principles:

  • It is for users first, not developers
  • It is free, and not going to be influenced by corporations or greed
  • There are no restrictions on how anyone can use it

It’s worth mentioning that while John talks about Ghost mainly in the present tense — it “is” these things — Ghost has not been released publicly and its development is being done in private.

John goes on to explain why you should care about Ghost’s financial structure.

It impacts on our motivations when we’re creating the software. Do we want to make millions and sell to Facebook? Or do we want to make something that’s genuinely good and serves its users, not its investors and shareholders?

I don’t agree much with that sentiment, but it’s a perfectly valid thing to think is important. It didn’t make sense to me, after that buildup, that John would grant early access to people based on financial donations.

First, it’s hypocritical to take thinly-veiled swipes at other projects and companies for mixing money and software, then put a velvet rope in front of your own code. Funding open source work is difficult — if you’re interested in it you should read Isaac Schlueter’s excellent post on Money and Open Source — but it’s hard to make a case that the pot isn’t calling the kettle black here.

Second, it’s laughable. Open source code is trivially easy to share, not just legally (Ghost is released under the MIT license), but practically, too. It’s like 100 times easier than stealing music or movies, especially for the types of people who know what open source code is in the first place. I’ve never even heard of source code being open and being a secret, and for good reason.

Last week, when the “VIP release” of Ghost went out, I reached out to some friends one night and had a copy of the code the next morning. A few people did point out that Ghost asked them not to share the code before it’s officially released — see the section above about laughable ideas.

When I looked around to get the code, I said that my plan was to post it on GitHub when I had it. Once I actually got the code, I hesitated. On one hand, I know how hard making something is and how much work goes into getting it “ready.” That’s true of open source projects in particular, but really it’s true of anything creative that you share or publish. I’ve got a lot of respect for anyone who’s willing to invest their time and energy in making something new for others. We need more people doing that in the world and I’d hate to discourage it in any way.

On the other hand, it’s not just John’s time and energy anymore. I think that when you raise hundreds of thousands of dollars for an open source project by talking about how open, user-focused, and restriction-free it’s going to be, you’ve made a moral promise not to put up barriers to the code. The fact that the development is not being done in the open from the very beginning is pretty weird; I can’t think of any other open source projects that have done that and raised money or even awareness in advance. The fact that the code is also being pre-released to VIP’s is about the least open and free way I can imagine to go about this project.

So I’ve got the Ghost code sitting on my laptop. I’ve played with it a bit and have some very basic initial thoughts, but I want more people to be able to see it, play with it, and hack on it. I want that to happen because that’s what I wanted to do with it, because that’s what you do with open source projects.

I’ve talked to a few friends and the feedback has ranged from, “Sigh, you’re going to start another WordPress community shit storm” to “I wouldn’t do it, but I think it’s morally and ethically in the right.” So far nobody has said, “That’s unfair, don’t do it,” which is a little surprising.

I’m torn. I’m also interested to hear what people think about whether or not releasing the code is a good idea.

N.B. If you personally want the Ghost source code, reach out to me directly and I’ll be happy to share it.