It's against this fantastic success of social norms that we should be extraordinary careful before we let market norms corrupt the ecosystem.
I consider myself a reasonable person. This quote makes me angry. This comment seems willfully obtuse in my opinion. Not noticing the immense institutional support and money behind Rails is truly silly. I don't want to come off as mean spirited, but he is very silly for saying this.
The open source projects that are popular like Linux, nginx, and other system ops stuff are obviously popular and have benefited immensely from indirect money (in terms of institutional support). They are vastly superior compared to anything a company could built closed source. We often cling to the idea that open source software is superior to closed source software, but a quick survey of the landscape of open source software will show that this is patently false. Where there is obvious demand for a software product that lots of interested parties need just to maintain operability, the open source solution will usually be vastly superior if not mildly better.
But, take a look at the vast amount of software that is created on github that is open source and you will see a lot of (self-admitted) crap (I have made a lot of self-admitted crap). This crap might have the kernel of a good idea in it, but it never got the time it needed. I'd actually like someone to name an open source software project that we all know and love that hasn't benefited from immense institutional support.
David, not all of us get to be part of incredibly profitable companies that can afford to fund our adventures in coding. Suggesting that Rails hasn't benefited from institutional support and money is just deceptive and something I can't stomach. It's something we can't measure, but that doesn't mean it's not there.
I think you're forgetting that Rails was created for free, in my spare time, while I was being paid $30/hour working for 37signals and other US clients on a variety of projects.
But that's even besides the point. Companies letting their employees use company time contributing to OSS has been great. As the first sentence of the article points to, I'm talking about projects raising money directly from the community.
"First of all, it's tempting to cash in on goodwill earned."
The way I see it what you have done is way better.
And this strategy is really what people should be doing as opposed to simply cashing in goodwill:
"Take Ruby on Rails. More than 3,000 people have committed man-decades, maybe even man-centuries, of work for free. Buying all that effort at market rates would have been hundreds of millions of dollars. Who would have been able to afford funding that?"
Work for free that has benefited many people including you. Can't put a price on that.
You created Ruby on Rails and it was like well enough that all those people "more than 3000 ... man-decades ..." have put their time into the project and you have benefited greatly because you are the person that most people associate with Rails. Not any of the 3000 contributors. And that notoriety is what pays off in droves. Even if you passed up a few dollars (debatable by your argument?) you've gotten something way more valuable.
I don't think dhh would argue that he has made a nice bank roll on Rails - no one would. But he isn't the only one that's benefited. There are quite a few of the 3000 committers that have their own consulting companies and they do quite well. Many speak at conferences, write books, etc. This is all pretty standard in the OS community and nothing new to Rails or dhh.
I think what he's taking aim at more is that he did this for free of charge and did not require any fundraising campaign to get it off the ground (or continue it). And it's the other freedom (in his case, libre) that allowed him to do whatever he wanted, on whatever whim he wanted. There was no hard deadline (except those he made) imposed because of funding constraints. And from that perspective, he's absolutely right: not beholden to anyone else's money or rules is the ultimate freedom to be as creative as you want to make whatever you want.
Because it's possible now to get a project funded on something like Kickstarter, there's less freedom when that happens because money becomes the ultimate driver. If it wasn't, then there'd be no need for it and work on the project could take any form over any timeframe.
My point is that this is, in and of itself, fundraising.
Edit
Also, I don't want to minimize the effort it took for you to create Rails, build momentum behind it, and get other people excited about it. What if Kickstarter, et al is just a new medium to help empower other people to do what you did?
Nobody would have contributed to an unproven web framework written in a then-obscure language.
Two recent OS fundraising successes I can think of are funding for further development of Typed Clojure, and the integration/rewrite of South into Django core. Both projects were in production use when they raised the money!
Imagine today, someone pitching to build a new async web framework in Livescript. "Why not Ember/Meteor/Angular!?" "Why not Javascript?!". It could be that someone comes up with a truly killer framework by utilizing Livescript's features the way DHH did with Ruby and Rails, and if they did I'd happily use it, but I wouldn't put my money on it today.
There are a lot of things that people are willing to do for free, but they wouldn't be willing to do it for a dollar - say, helping someone change his car tire.
There is a psychological difference - if you transfer the mindset from 'helping out' to 'work for hire', then suddenly you have to pay "enough" (which will be a huge amount for many projects) or you'll get less stuff done than you'd get for free.
Based on his comment, my imoression is that David wrote Rails because he neeeed Rails for the job, not because a client needed Rails written for them. There's a difference between those two things.
> I'd actually like someone to name an open source software project that we all know and love that hasn't benefited from immense institutional support.
OpenSSH might count, from the rant on their homepage:
Please take note of our Who uses it page, which list just some of the vendors who incorporate OpenSSH into their own products -- as a critically important security / access feature -- instead of writing their own SSH implementation or purchasing one from another vendor. This list specifically includes companies like Cisco, Juniper, Apple, Red Hat, and Novell; but probably includes almost all router, switch or unix-like operating system vendors. In the 10 years since the inception of the OpenSSH project, these companies have contributed not even a dime of thanks in support of the OpenSSH project (despite numerous requests).
> I'd actually like someone to name an open source software project that we all know and love that hasn't benefited from immense institutional support.
Honest question, what about Debian? I know they had a year of FSF sponsorship back in like '94 but they seem to be heavily volunteer based with even the Project Leader keeping a day-job to pay the bills. I know they take in donations but they're generally who I point to as an example of what a Free/Open Source Software project can be.
Once an open source project has enough traction, there is generally little need for outside donations (as companies that use the product will hire people that focus on using and improving the product). The challenge is making that cross-over from hobbyist to professional project, and that is when money is helpful.
Debian had funding at the right time, crossed the rubicon and now has enough momentum to continue. Not all projects share the same luxury, and I view the funding as an attempt to make projects more professional
Fair enough, I didn't say this, but my point was more to highlight that people who take in donations are on the right side of the argument, not the wrong side. There are good open source projects that don't take "institutional" support (though who know what work is being done on company time), but they take donations. Let us praise them for doing so.
I don't think David's grief is with software projects receiving institutional support, his issue is with software projects putting their hands out for money with the promise of something materializing. Most often the driving force behind a "successful" open source project is the sheer good will and motivation of creating something that solves people's problems. The examples you've given (Linux, Nginx) are proof of this.
I can't help but wonder if this blog post would have been received better had it been written by someone not as wealthy as David.
While I agree with your general sentiment, there is also an observer bias inherent in your evidence that "open source is patently not better than closed source". There's a lot of closed source software that is crap, that, obviously, you won't see on github.
I have seen closed source software where the difference between crap and not-crap (for my specific need at the time) would be <5 lines of code. If I had the source to them (+ the ability to build it without spending a week), then they'd become 'not-crap' that very day.
+1. I was going to say this but you said it better. My hackles go up when people say open source is better. That's true sometimes but it most certainly is not always true and I've argued for years that open source is usually a better (or worse) copy of some closed source thing that someone found useful and didn't like that it was closed.
Well of course it's not true when you re-frame the argument into a strawman like that. A large percentage of proprietary programs are also blatant copies or ripoffs of something else. The issue that we're trying to get to is that free/open source software is principally better, not that all open source software is always less buggy or more featureful than the proprietary software it's intended to replace. Obviously that would be a ridiculous assumption, anyone who's seen all the crap throwaway projects on github can attest to it.
Actually I think it's the other way around: Institutions benefited enormously from open source software. They saw the chance to get rid of proprietary systems and use the force of the community and they took it because it was PROFITABLE for them to do so!
Why did IBM, Google, etc. Choose Linux as a platform? Out of courtesy? :-)
As someone who worked on an Open Source project for years with no compensation, adding sustainable funding to it was very motivating. Money is a very weird thing, but getting money for the continued existence of your work is fantastic validation and support.
It's easy to work on things for free, but how do you know that people value them if they simply use them for free. Attaching money to a pursuit that was previously free can also act to greatly encourage the continued existence of the project in the face of burnout and uncertainty.
For me, it depends on the money, the project, and my financial situation. With a stable salary currently, I often find attempts to make money from my side projects more demotivating than motivating. If it's something I actually find interesting, it's a hobby. Maybe it's writing software, maybe it's editing Wikipedia, maybe it's writing essays. That feels like a good use of my time, and I get to decide if it is or not. But then if I try to find a way to make money at it? Now it turns into basically a job, where I need to figure out how to monetize it, and in all likelihood the hourly rate will end up depressingly low. So I'd rather just spend my hobby time as I choose and not worry about monetizing it.
More subtly, I find that having monetization as a goal of a side project can creep in in a lot of ways that aren't really beneficial to the project. Take even just writing something. Sometimes I'm frustrated by the information available online on a subject, and want to spend a bit on writing something to set the record straight. Sometimes this makes sense to publish myself. Other times it makes sense to write or improve a Wikipedia article. This is an interesting tradeoff, because it's basically trading likely many more views (therefore likely more impact) if I write it on Wikipedia, versus more control and authorial credit if I post it myself. From a monetization perspective, writing on Wikipedia is rarely the optimal choice; but from the perspective of getting the information out there, it sometimes is.
I get the feeling that many comments here, coming from developers who engage with FOSS consider the infusion of money to be a step in the right direction. Imagine like-minded people being able to contribute to a kickstarter targeting their itch, which some developer plans to scratch.
I think the picture the OP has is closer to the situation in scientific research, where you can replace kickstarter funding by grants from a funding agency. Many would claim that today's science research situation is broken, with scientists chasing grant money and low-hanging "high-impact" fruit, instead of taking risks working on the really challenging problems (large time-scales and investments) with uncertain results.
I think both perspectives have their place and it is important to have a balance between the two. In the case of research, one can argue that tenure is supposed offer security as opposed to an industry job, but it's also true that incentives are strongly tied to research productivity, and it's next to impossible to do research without research funding. If I understand the OP's perspective, he's okay with companies paying for developer time (kinda like tenure) as opposed to developers chasing grants. OP is drawing attention to the possible consequences of going overboard in this newfound enthusiasm/method for funding FOSS.
It's an open marketplace. The project still has to have merit to be funded via Kickstarter or similar venues.
The best use of this strategy has been integration of South into Django itself. The funding for this went above and beyond what was expected as everyone released the immense value of getting this work done. Also, I don't believe anyone is getting rich doing this. In the case of South, there was a genuine request of "hey, I can do this, but I can't make too much progress in my free time".
Using Ruby on Rails is a little disingenuous example too. It's had the backing of its main company (37signals) since its inception.
I do believe that these things will self-adjust itself. On face value, DHH makes interesting arguments. But, projects that are getting funding are being done by people that are already intimidate with the project. Also, the rates that are being set for the hours that will be involved are hardly market rate.
What I love about this new model, is that it can push projects into the mainstream whereas companies start getting involved and allow their employees to spend time making fixes and improving the projects.
Another example of this was Microsoft's financial support for the jquery UI team for building the grid. They funded I believe at least one developer's salary to get the work done. I don't think anyone would argue that this was a bad move as the jquery team was still in control of the project and the timeline (which has definitely been pushed back with regards to the grid).
I do understand that. But once it was created, it has been used by 37Signals and to some extent driven by their requirements and ongoing support. At this point, it doesn't matter but in the early releases it likely made a difference.
I think the article is more about crowdfunding and open source.
Until now every single awesome open source project has managed to take off without a kickstarter campaign. Nowadays everyone promises to deliver an awesome open source project if you first provide funds.
I have donated to many open source/free software projects, either directly or through crowdfunding when they had a specific goal (eg libre graphics meeting, a full time dev to refactor kdenlive).
But I am really skeptical of someone who wants money before he delivers anything. Free software needs the kind of love that money can't buy in order to be successful.
I will gladly help free software projects but not so gladly free software promises.
Money isn't just for working full time. Sometimes you need hardware or software for compatibility testing. For example, suppose you were trying to build parsers/writers for PSD or XLS files. To test on older versions of photoshop or excel, you need access to those older versions (and most likely, the contemporaneous hardware). Those are real costs.
I also think the point regarding focus is misguided: if the money is specifically for embellishments (e.g. 100% compatibility), then you are in fact more likely to embellish
Finally, Ruby on Rails happens to be an exceptional example in terms of traction. Most open source projects never come close because the addressable market is smaller (the set of all people supporting a particular ruby gem is a subset of the people interested in ruby) and in those cases a bit of extra money is enough to take a hobbyist effort to a production-level product. That extra work takes time and money (for example, sitting there and validating certain results by hand) and oftentimes won't happen with an open source project.
I think it's fair to say that products like Linux, Apache httpd, Firefox, and Wordpress are the gold standard of open source software projects. One thing they all have in common is a core of contributors/managers who are professionally employed full-time on these projects.
In addition, many of these projects benefit from contributions by programmers who are employed elsewhere, but are permitted/encouraged to contribute on company time.
Basically, I would argue that open source and money have always been inextricably mixed and always will be. If you don't want to suppport a particular person or project, that is of course your right, but I don't agree that funding is some sort of alarming development.
Funding future software development through Kickstarter is a really dangerous proposition, even more for the person receiving the funding than the people who contribute to it. There've been success stories, but when things go bad it can ruin someone's life and credibility.
Maybe I'm wrong, but just from passive observation, it seems like for projects which haven't even been started at the beginning of the Kickstarter campaign, success stories are the exception rather than the rule.
It's so easy for someone to not manage expectations properly, especially in the early stages when they're trying to get the attention of potential backers. It's so easy to underestimate the time involved in any sort of creative venture that isn't 100% specced out ahead of time, whether it's software or an RPG supplement or a gadget or whatever. Software development time in particular is insanely difficult to predict.
I strongly feel like Kickstarter is best for projects that are essentially complete, but need funding for mass production or other costs related to distribution. The danger from Kickstarting open source projects isn't so much from money somehow polluting the goals of a project, as it is from the whole thing just blowing up into a nightmare for everyone involved. It's hard enough to predict timelines and establish requirements and manage expectations for one manager, I can't imagine what it would be like when trying to keep hundreds or thousands of managers happy and on the same page.
> Thousands, collaborating for a decade, to produce an astoundingly accomplished framework and ecosystem available to anyone at the cost of zero.
Well, I am sure DHH means "nominal cost", but the cost is certainly not zero. But it degrades economic discussion when people misuse the word "cost" to mean "currency transacted". Inevitably one of the interlocutors wanders down the trail and marvels, "the cost is zero, so much resources were saved!"
Well no, the cost is not zero. Things other than currency were transacted.
All open source projects are not the same. All the people running open source projects are not swayed by money. Some projects are much more complicated than a web framework. These projects need funds for progress to be made. Case in point - OpenBSD. I love the project and their approach. I also feel they genuinely need funding to keep improving the system. Another example - LuaJIT. Great project, does not have a load of contributors - so I won't mind funding Mike if it means he spends more time on LuaJIT. Another example - SQLite. I'll just send in a donation because its so damn good.
All this amounts to: society is better when we're motivated for things other than money. The best development is done for other reasons. Capitalist claim that profit is the main motivator is nonsense, and FLOSS developers know that.
So: the answer is to keep FLOSS development from getting funded????
The real answer is for everyone to have a Basic Income so that we can all eat and have a roof and healthcare at a minimal level. Then people can make all this great FLOSS and do it even better and it will pay off for the world FAR more than if we tried to pay directly for the development work in a type of market exchange system.
But given the actual state of the world, giving a FLOSS developer some money to pay his rent while he focuses on FLOSS is NOT a bad thing.
Thank you for writing this. I think it's valuable to step back and look at whether accepting donations is in line with the set of values that led to open source in the first place.
I am reading Ben Franklin's autobiography and came across this quote which I think also neatly sums up a point you omitted:
"...as we enjoy great advantages from the inventions of others, we should be glad of an opportunity to serve others by any invention of ours; and this we should do freely and generously."
Money is influence, the source of that money is influential.
What are the perils of the other sources of money in open source?
For quite a long time the best documentation and guide for using Rails was a book.
Quite a few of the top contributors to Rails have published books about it.
Documentation is very much a weak point for open source. Should we criticize those who contribute to open source and request money for the documentation?
If not, why spread FUD around the idea of asking for direct monetary support of the code itself?
I've made the same argument before as well. Also thinking of the great overview of market/social norms in Predictably Irrational. It consistently gets ignored when talking about trying to inject money into open source.
Now I read a well written article on HN about exactly the question of how to encourage open source without ruining the exact thing that makes it work and think "Hey, there will be at least a bit of an interesting discussion in the comments. Maybe some new ideas about how to retain social norms while encouraging more open source work".
So was the point hard to understand and I only think it was clear because I'm on the same page? Why are there barely any comments on point, and the majority seem to just have wilfully ignored it and written whatever was on their mind concerning the author, open source and money in general?
Yes, this is a complex subject. I like to cite the Venus Project in these cases, but while it provides a seemingly simple solution, reaching such a situation will be very complicated both for ideologies to fight, interests to overcome, knowledge to be gained, etc.
A citizen revenue seems to be the easiest first step in this direction. You could think of it as a generalized kickstarter project, without the potential drawbacks of kickstarter.
"The Venus Project is an organization started by self-educated structural engineer, industrial designer, and futurist Jacque Fresco. Fresco's project aims to restructure society through worldwide utilization of a theoretical design that he calls a resource-based economy. Those ideas use a version of sustainable cities, energy efficiency, natural resource management and advanced automation with a global socio-economic system based on social cooperation and scientific methodology."
I somewhat agree with TFA, but I think it fails to consider that there are (at least) two different types of open source project:
1. Rails, nginx and other stuff that is used by developers generally has a higher chance of getting useful contributions and institutional support. People use this stuff professionally, if they run into a limitation, they contribute back for pragmatic reasons.
2. Firefox, Ubuntu and other open source consumer products are pretty hard to do with nothing but unpaid volunteers. Some projects pull it off (KDE comes to mind, although several distributions employ devs to work on it), but in general it seems pretty hard: Even if you find enough skilled developers, what about UX? What about design? What about marketing? What about PR? Would Firefox have made it in 2004 without the NYT ad?
Unconditional payment will probably have the highest impact on open source development, either through the government as a basic income or through the people like gittip: https://www.gittip.com/
I feel what you write is all correct. I would never worry about this influence of money, though. The thing is, if you take off the fluffy pink glasses, which hurts and takes a long time going step by step, you'll see that open source is about money since pretty much forever. Yes there are a lot of people doing some effort for free. But they are not the major influence. Major influence means Linux, Mozilla, Canonical, hack even things like GitHub etc. It simply wouldn't work in this dimension without money. Thus even though all your points are correct and already happening out there, there is still a booming open source world and there are still people having fun.
He talked about inter-project conflicts due to injecting money into the system, but I think the intra-project issues are the bigger problem. Suppose the head developer receives $10^n for fund raising. Does this encourage or discourage other potential contributors from working with the developer? We've mainly been participating in a gift economy: You've given to me; I'm happy to give back to you. However, if I've got a big feature that I can contribute to this newly funded project, might I hold back since I'm not going to get a cut of any of these funds? The problem seems exacerbated as the funds grow larger.
I consider myself a reasonable person. This quote makes me angry. This comment seems willfully obtuse in my opinion. Not noticing the immense institutional support and money behind Rails is truly silly. I don't want to come off as mean spirited, but he is very silly for saying this.
The open source projects that are popular like Linux, nginx, and other system ops stuff are obviously popular and have benefited immensely from indirect money (in terms of institutional support). They are vastly superior compared to anything a company could built closed source. We often cling to the idea that open source software is superior to closed source software, but a quick survey of the landscape of open source software will show that this is patently false. Where there is obvious demand for a software product that lots of interested parties need just to maintain operability, the open source solution will usually be vastly superior if not mildly better.
But, take a look at the vast amount of software that is created on github that is open source and you will see a lot of (self-admitted) crap (I have made a lot of self-admitted crap). This crap might have the kernel of a good idea in it, but it never got the time it needed. I'd actually like someone to name an open source software project that we all know and love that hasn't benefited from immense institutional support.
David, not all of us get to be part of incredibly profitable companies that can afford to fund our adventures in coding. Suggesting that Rails hasn't benefited from institutional support and money is just deceptive and something I can't stomach. It's something we can't measure, but that doesn't mean it's not there.