A Path to Full-time Open Source
mikeperham.com
mikeperham.com
"Divide the functionality into open source and commercial parts. Use a GNU license and a commercial license for the respective parts."
I really don't want to be That Guy, but this sentence takes us away from full-time open source. At least part time is spent working on source that's not open. "Open core" is the most common term for this hybrid strategy. I'm not going to get into the debate about whether that's a valid strategy, but it does make the headline misleading.
How is this different from just having a commercial and non-commercial license? At least then people don't get locked out of features by not paying.
http://journal.dedasys.com/2007/02/03/in-thrall-to-scarcity/
It can be very tricky to find something that's scarce enough with an open source project to make money at it.
In any event, I'm happy for him!
I really like selling exceptions. The product is available to everyone in its entirety without restriction, but the copyright holders are the only ones who can sell non-copyleft versions of it. Everyone else can still sell it under the terms of the GPL, like selling Debian CDs. It shifts the scarcity in a different direction, treats everyone fairly, and everyone who creates derivative works pays: either by giving back code or by paying for the privilege to not give back code.
Selling exceptions seems to me to be the right way to commercialise the actual product itself instead of support around that product. I know of FFTW and hg4j who do this now, and Qt used to do it. It's a good business model.
BTW I did this. It worked, but I stopped because some companies took months to pay: they already had the code. This wore me down.
FTFGPL:
You may charge any price or no price for each copy that you
convey, and you may offer support or warranty protection for a
fee.In this particular case, the author seems to be doing a hybrid. The original library is LGPL. If you buy the "Pro" version, you not only get the closed source bits but you also get a non-viral license for the open source bit.
The headline does indeed seem misleading though.
FWIW, I've been earning a living via open source software since late 2007 – I've just been doing it as a full-time employee at companies (SitePen, Mozilla and now Adobe).
You don't have to go the Free/Pro model, but it makes companies feel better. Most people feel like they're getting a better product when they have a choice to pay more. Even if it's the exact same product.
I like to use Tibco Rendezvous as an example. There are very decent open source alternatives to Rendezvous, but people still pay boatloads of cash to use a proprietary, incompatible system. Why? Support. It just works, and if it doesn't work, i'm paying these jokers enough that they will make sure it works. I will not have to hire developers to make modifications or bug fixes, I will not have to figure out the upgrade path or maintenance myself, I will not have to even figure out the damn documentation. I pay money, somebody fixes my problems. Nobody gives a crap if the source code is available because the customer doesn't want source code, they want a working product.
(It also helps that business managers usually decide to pay for these things and not the developers using them)
Babies, burnout, and budget cuts are lurking assassins for almost any open source project. Most developers do diddly-squat to ensure their projects can survive and grow, even for key bits of infrastructure we use every day. Mike Perham's built a piece of infrastructure for us Rails developers, and he's built a business to sustain it. I wish more developers would take on that responsibility.
[1] RailsApps: http://railsapps.github.io/
Certainly there have been a few crowdfunded open source projects we have heard of, but the model hasn't taken off to nearly the extent I thought it would by now. Anyone care to speculate on why not?
Now what? Who supports it? Who fixes bugs? The incentive is gone. Software is a process, not a physical product.
I once worked for a large Fortune 500 that had several well-known programmers who's entire job was to be core-contributors to a popular ruby web framework. They were well paid and had very little oversight.
But given the popularity of this framework, it always seemed a little weird to me to have a single company funding the development. It's also a little risky for the community at large because corporate strategy shifts and an open-source project that was important yesterday may not be important today.
(cf. Evan Phoenix / Rubinius / EY - http://en.wikipedia.org/wiki/Rubinius, Charles Nutter / JRuby / Sun - http://en.wikipedia.org/wiki/JRuby and countless others.)
It seems to me that, in theory, we ought to have a platform for monthly payments to open source developers that maintain projects we use in production.
Yep, Pro is not open source. That said, 90% of my time is spent supporting Sidekiq OSS users, dealing with questions and issues so the OSS work is the majority of my time.
My next product coming out tomorrow is the same way: 90% of the functionality is in the free, OSS version and I would expect the same split in time.
This is not "the path to full-time open source", that's how to use open source to bootstap sales of a separate commercial offering. Good to know, I'm happy for the guy and his 175K, but the title is misleading at best.
[1]: http://mjolnir.io/
Your product does look really nice, btw.
It'll be interesting to see what his next project is and if it's a repeatable model. Asynchronous job queueing & processing is something a lot of Rubyists need and many on resque were frustrated. Sidekiq was a very attractive carrot, not the least of which because it was interoperable with resque, leading to a simple migration path. The stick was an unattractive license that was easily removed with a small fee.
While I admire his work and find his business model amazing, I think his advice is actually very, very shallow and is based on him being lucky, not on a proven business idea.
I'd love getting me proven wrong, though.
But yeah, open source makes things a bit trickier, in my opinion.
Nonetheless, I agree with your point that this model may not be suitable for every business.
Gitlab and Gitorious are open source and for profit as well.
There's a subtle competitive benefit of free: by providing something valuable for free that meets people's needs, there's less demand for an open-source free competitor. In a way, this is a nice reward for helping people; but if it's too effective, it can stifle innovation (by avoiding the pressure on you from competitors to improve).
Now of course, GPL has other benefits apart from free-as-in-beer: you have the code. You can audit it; add your own features; fix bugs. And if the developer gets hit by a bus, you can carry on without any escrow nonsense, incompleteness, unmaintainable code. It's also a business benefit to the developer, as they can get bug-fixes and features and improvements from the community. But because it's only part of the code that is GPL, they only get part of this benefit.
However, typically, the biggest benefit of GPL is bug-reports --- but you still get them from free users who don't have the code. (They won't be as good, but usually the hard thing about a bug is that it exists). You typically won't get much code you can actually use especially if you want to retain sole copyright (though it can be useful to have as a first draft; and have some good ideas). Plus... some people might be reluctant to contribute their effort to someone who's making money (even though they got the code for free).
tl;dr: unsurprisingly, free-as-in-beer is far more significant for a business, than free-as-in-freedom.
Can you remain the sole seller of exceptions? That is what is to prevent someone else from forking your project and then selling the exceptions?
I've always suspected that in order to make it in Open Source you have to be highly socially active. (seems like a requirement for everything these days)
Otherwise, someone who has more social capital(active forum(s) presence, blog(s), SEO etc) can sell/support your GPLed product perfectly legally and make a good living from it while you starve.
Let's imagine a ridiculous scenario: someone takes Firefox, slaps their own logo/branding, maybe makes some minor code changes, maybe not and sells this product (source code is still freely available to this derivative product). This actually has happened before(citation needed).
The main difference between your tiny OS product and Mozilla one is that Mozilla has tons of social capital and anyone trying to charge something ridiculous for a Firefox clone would be laughed out of Internet.
For example, there were people selling various GPLed products on eBay and as long as source was included there was nothing illegal about it.
Which doesn't change the fact that there is an open source version of Sidekiq that works perfectly well, the Pro add-ons are most likely the only non-free parts and you don't necessarily need that to use Sidekiq.
[1] http://edgeguides.rubyonrails.org/active_job_basics.html