Give back to the community
In our latest client project, we make use of at least 20 open source projects, from our beloved Rails, to great testing frameworks like RSpec, to plugins like Paperclip, to server-side software like Passenger, and many more. While we are appreciative of the hard work that goes into creating those projects for the first 2 seconds after we find them, we often take these libraries for granted.
As a small development company, we need any advantage we can get. It is the vibrant open source ecosystem that gives us a competitive advantage against the big guns. And not only do we benefit from the work of the community, our clients get more sophisticated software that costs less. Everyone wins.
Every project we get paid to write makes extensive use of open source software. We try to do our part to contribute back to the community, but our contributions definitely aren’t worth what we get out of the community. So we’ve come up with an idea…
At Collective Idea, any time we use an open source library in a project, we’re going to make a $10 donation on behalf of our client to that project. For our client, the cost is small: a couple hundred dollars in exchange for thousands of dollars worth of savings and better software.
We encourage you to do the same.
Project Maintainers
If you maintain a project on GitHub, do yourself a favor and make it easier for us to donate. GitHub lets you add your PayPal account to the project so all we have to do is click a button.
8 comments
You’re absolutely right and thanks for the reminder. Sending over a few bucks to keep the community alive is a small cost but if we can all do that it does some amazing things.
We’re going to add this to our list and with trying to come up with a way in which we can even make the client away of it as to bring more awareness of the value.
On one hand I think this is really cool – but there’s something about formalizing a process of contributions that sounds scary to me.
As much as I’d love to be the recipient of all those contributions, it does start to blur the line between free OSS and proprietary software – and it could conceivably grow to something that imposes a burden on library maintainers. i.e. if you pay me a few hundred bucks (or more) over time I might feel obligated to prioritize the problems that you raise over those of others, even if they are not the most important problems from a community standpoint.
And this is even more pronounced when you say that you’re doing this on behalf of clients, who now have a financial investment in these OSS projects. It’s one thing for you, as a fellow OSS developer, to show your appreciation. But the bean counters at your clients probably see this as a bargain investment, but an investment none-the-less.
I know this all sounds paranoid – and it’s admittedly not thought through – but I think it’s worth pondering.
WDYT?
I think David has an interesting point here.
On the other hand, I’d like to receive $10 for every project that uses will_paginate :P
But keep in mind that only half of countries in the world can receive PayPal. Here are flags of the countries that can’t: http://skitch.com/mmarohnic/bysrj/countries-that-can-t-receive-paypal
I turned down a lot of offers for donations in the past year mostly because there was no cheap way to cheaply transfer small amounts of money. The other reason, what I would always say to the person, is that I value feedback or patches for my projects more than $10. It simply means more to me.
David,
I think you raise some very valid concerns that I hadn’t thought of.
I want to emphasize that I don’t want this to be a formal process with strict rules. We simply want to recognize other people’s hard work in a more meaningful way. If a client or a individual maintainer has a problem with it, we won’t do it.
Maybe. But there’s nothing that says open source has to be free (as in beer). It’s nearly impossible to charge for it if you’ve released the code, but I don’t see any conflict in tipping for things that are valuable, even if I can get them for free.
To beat up the beer analogy: just because the bar is giving out free drinks doesn’t mean you shouldn’t tip the bartender.
I could definitely it becoming a burden for maintainers if this idea where to really take off and they were making their living off of donations. Then they might feel an obligation to their “constituents”. But I don’t see this being a reality for most of the projects—unless you’re the maintainer of RSpec or some popular framework like that. ;)
For us, the donation is a “Thank You” for prior work and not an expectation of preferential treatment in the future.
Regardless, the projects are open source, so if a maintainer does get a big head, we’re all still free to fork and patch to our hearts content.
But I do see how this could become corrupted.
Mislav,
Good point about PayPal. I’m sure we can come up with something else though, like Amazon gift cards??
And this definitely won’t be a substitute for feedback and patches, but in addition to.
The tipping concept sounds right, and makes me more comfortable with the idea. Of course, what waiter is now comfortable with not receiving a tip :)
Anyhow – I think the one thing that still concerns me is this statement: “For our client, the cost is small: a couple hundred dollars in exchange for thousands of dollars worth of savings and better software.”
The “for our client, the cost is small” suggests they are signing off on this as a line item in your contract with them. That’s fine as long as a) they understand the licenses of the software that you’re using and b) you take the software on as yours to maintain in the context of that contract.
If what you mean is that the cost is indirectly diverted to the client as part of the cost of doing business, that’s a different matter.
Please understand I’m not trying to be a nay-sayer here. I’d really love to see everyone benefiting from this. Just want to make sure we don’t dig ourselves into a hole in the process.
Cheers, David
This is just a great idea! Hope everyone practice it :)
That is a very good idea. I see that my company using rails can spare lots of money every month.
Speak your mind: