DEV Community

Manuel Bieh
Manuel Bieh

Posted on • Updated on

I will now charge my clients a fee to support open source projects

No matter if you're a Startup that has just been founded or a large corporation with a company history of 100 years or more. When you're building software today, it's inevitable that you will be using Open Source software, libraries, tooling, or frameworks to base your product upon. It's a solid foundation you can reliably build your product or software on to save you and your company thousands of hours of work by leveraging the mostly unpaid work of other enthusiastic software developers from around the world.

In the vast majority of cases Open Source projects probably started as a hobby project or still even are built and maintained by hobbyists without receiving anything but street credibility and kudos by the community. Most companies are totally fine to pay tens of thousands of Euros in license fees for "enterprise" software from Oracle or SAP but when they're asked to donate only a couple hundred Euros a year for an Open Source project that half of their codebase relies on the answer most of the time is: why should we?!

There have been some efforts recently to change that at least a little bit. GitHub just released GitHub Sponsors to offer a way to financially support Open Source maintainers, there is the great company Open Collective whose goal it is to make it easy to fund Open Source projects and the JavaScript consultancy Formidable is not only heavily involved in the development of Open Source software, they also recently announced they're Paying Cold, Hard Cash For Open Source Contributions.

As an independent Freelance Developer I was wondering how I can support the Open Source community other than by doing some Open Source contributions myself so I had this idea: starting with my next project I will ask my clients for an hourly rate that is 1 Euro higher than I originally negotiated or I would usually charge. I will take that money (up to ~160 Euros per month) and support those projects on Open Collective that I'm basing my work upon in my client's project.

I already had this idea roughly one year ago but forgot about it eventually. I will change that now and I encourage you to also do that! If our clients don't see a necessity to support the developers who spend their own, personal time to save us and especially our clients hours and hours of time (and thus money!), we need to find another way to make Open Source projects sustainable!

// edit:
2 years later, this idea turned out to be not so successful. Most clients didn't care about that at all. They didn't care what I "spend my hourly rate on" or didn't understand why I would want to charge them a Euro more or expected and have seen it more like a "total hourly rate" rather than an "hourly rate + 1 euro for the good". On top of that: living and working in the country with one of the most complicated tax laws world wide, it was (and still is) not easy to find a way to donate a large-ish sum to open source projects every year without potentially receiving an invoice/receipt. So I unfortunately stopped that experiment for now and donate a smaller sum of my taxed income to open source projects instead.

Follow me on Twitter to receive updates about my experiment!

Top comments (48)

Collapse
 
yerac profile image
Rich

Please don't get me wrong, its a good idea. I'm just trying to see the other side of the fence with this.

I wouldn't expose it to a client (in the way you state). Rightfully, why should/would they care about you wanting to give some money to a free library and ecosystem. A tool that you use to meet the end goal.

Personally, I would just let clients know as part of your proposition that you use OSS and donate to their upkeep and spin it as "By using OSS it allows quicker and safer delivery" or something to highlight the benefits. Whether you then up your base cost, or absorb it yourself (As you say, it could be 1%, no point in losing business over it)

Hopefully my rambling is somewhat clear! I get the enthusiasm, I really do.

Collapse
 
manuelbieh profile image
Manuel Bieh

Yes, I get your point and I think there's a lot of truth in it. Why should they pay a Euro more!? It's an experiment, though. Let's see how it will turn out!

I think one of the reasons I'm (trying to) do it transparently is because I can get an idea of how the company works and how the people working there think. If they're not willing to pay a symbolic euro for open source software they're using in the products they're making thousands if not millions of Euros with, I'm not sure if they're valuing other people's time and work enough that I will want to work for them.

Collapse
 
capsule profile image
Thibaut Allender

Maybe ask yourself why you wouldn't give 1% of your revenues to open source projects. After all, you decide to use them and you make money off them. Like Rich said, the client doesn't really care and might go with another developer that doesn't charge that extra %.

It doesn't prevent you from being transparent. The pitch is even better: "By choosing me, you also contribute to open source projects because I will donate 1% of the revenues generated by this piece of work".

It doesn't matter if your client is making thousands, millions. If that's the case, then you should sell your services for more, which makes your own donation even easier.

Collapse
 
hausindustries profile image
HausIndustries

I would almost say it makes the most sense to explain it all out like Rich says then either split it or match whichever you think would actually happen with the company, perhaps propose 3 options 1) you both donate 1% 2) you each split it each giving 0.5% or 3) you personally donate 1% on your own side alone but you could emphasize how great it would be for you to do one of the first 2 as you would be directly donating more for the devs to improve the software you are using or at least basing other work on.

Collapse
 
begrafx profile image
BEGRAFX

I get what you are saying, and I don't disagree with you. Myself, I think most clients don't understand what Open Source Software is, and honestly, they don't care. They come to us and ask us to do their project, we quote them a price and deliver the completed project. They just care that their project does what they need it to do. Now that isn't saying we should hide the fact we use open source. If a client asks, you can tell them, and then, as they clearly understand the concept, you can also say, "...And We support the developers whose tools we use." Otherwise, you probably don't tell them, "We develop your project on a Mac (Or PC)". If I have new business cards printed, they don't tell me 'We'll be doing your job on a Jamison XR-590r printer. The tools that are used probably aren't what matter.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀 • Edited

Developer: it's got all of the bells and whistles.

Company: okay I don't care what it's got, does it work and make us money.

Developer: ...

Analyst: Yes looks like users are clicking the money button.

Developer: by the way, we donated your money to a chosen cause you know little or care about, no not a charity, an open source project.

Company: ...

New Developer: Hello!

Collapse
 
manuelbieh profile image
Manuel Bieh • Edited

As I stated earlier: if the company has an issue paying up to 160 euros per month for software projects which help them make hundreds of thousands, if not millions of euros in revenue per month, I really have an issue working for that company.

In that case I'm very happy to leave (or not even start at) that company.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀 • Edited

Contrary to my light hearted satire, I think companies should care about the stack (because it's integral to thier servival) and if they do they won't mind the donation. Read that satire how you will but open source is the power of people and mad ideas come to life. But I'm happy to laugh about the situation.

Collapse
 
mindplay profile image
Rasmus Schultz

How about billing them openly and allowing them to opt out?

"Your bill includes donations to the following open source vendors, who made this work possible."

List the vendors and numbers.

If it is worded just right, if you make them understand that their product was made possible by open source volunteers, I think most people will not opt out, unless they really have to. (Some small businesses may have to, and that's okay.)

Collapse
 
hausindustries profile image
HausIndustries

That's a very good point, opt in vs opt out of very interesting. Countries with opt out organ donation have much higher rates of said donations vs opt in countries like the US.

Collapse
 
zerophase profile image
Zerophase

Why not just gpl your code and sue companies for all of their profits when they use your code in non-gpl code bases? That's what ghostscript is currently doing. I believe they'll be getting 700 million at the end of the day. You can still charge corporations for product support too.

Collapse
 
aryamanarora profile image
Aryaman Arora

Lawyers are expensive

Collapse
 
trusktr profile image
Joe Pea • Edited

And you still have money after paying the lawyers, compared to MIT projects, and the lawyers did all the work, so 🎉!

Collapse
 
nealmcb profile image
Neal McBurnett

I love the idea. We could add such provisions to grants and the like also.

It might make sense to be transparent about this, e.g. by posting
some public proof of payment.

An amazing set of ideas along these lines is discussed at
Harberger Taxation and Open Source -
A novel approach to creating a self-sustainable digital commons
medium.com/hive-commons/harberger-...

Collapse
 
leoat12 profile image
Leonardo Teteo

I don't check this in every open source project around there, but I think most of the bigger ones already have a lot of sponsors and support from big companies.Babel is backed by a lot of big players in the software industry already. Others projects are made by big companies like React or VSCode, where money is not a problem.
Anyway, I think if you want to donate to open source projects you should donate on your own, not increase the price of your product to do that, it doesn't look good if you state that way.

Collapse
 
ninoscript profile image
Cristián Arenas U.

Just as a thought experiment, what if instead of charging that 1% more, you asked them to donate that to that project?

If a business agreed to do it, there may be a chance that they would keep donating after you stopped being involved in the project.

And also the business could appear as a sponsor of such project and get some good publicity.

I don’t think there are many businesses that would agree to something like that, but I’m pretty sure a few would.

Collapse
 
manuelbieh profile image
Manuel Bieh

Good idea!

Collapse
 
ryanhaber profile image
Ryan Haber

When a contractor or worker comes back to me after negotiations with any kind of overage, I become very sour.

From my perspective it would be better to tell them up front during negotiations that you do this as part of the way you offer your service.

Collapse
 
manuelbieh profile image
Manuel Bieh

That was my idea, yes. It would/will be part of the negotiation process.

Collapse
 
ryanhaber profile image
Ryan Haber • Edited

That's great! I think that is exactly right. It also gives a really great opportunity to educate the client about how a lot of the work is actually done. The people who are actually making the deal on the client-side probably don't understand the full amount of work and sourcing that goes into a project.

Collapse
 
jawittdesigns profile image
Jason Witt

It's a nice idea in theory, but I think it's ultimately impractical and/or biased to certain developers.

For instance you want to donate to Babel. Well the babel-core npm package uses 6 3rd party open sourced npm packages, at the time of writing this. Are you also going to donate to those developers or will you hope the Babel devs pass it along?

Then those npm packages babel-core use could also be using even more open source npm packages. You could be looking at potentially hundreds of open source npm packages in any given project.

Don't get me wrong, it's a nice idea, but I see it only being a thing for the bigger more popular open source projects. While the smaller ones will be ignored.

If there was a way to make sure everyone get's their fair share, this would be a great idea.

Collapse
 
maheshkale profile image
Mahesh K

I am skeptical about the part where if we mention to client that we charged 1 EUR extra to support OS. They may move to the guy who charges same but does not mention that part. We have a long path to go to convince people about OS. But yeah it's a good start.

Collapse
 
manuelbieh profile image
Manuel Bieh

I don't know. It's more a symbolic thing. Depending on where you're located 1 Euro might be relatively much. In Germany it's roughly ~1% (or a little bit more) than the hourly rate of an average freelancer. Not sure if they'd hire somebody else because they can save 1% there. And if they really do, I'm pretty sure it was very good to not be hired by them in the first place.

Collapse
 
anwar_nairi profile image
Anwar

I agree, it might be seen as charging fees for something free. Personally I would pay, maybe some clients are not eager to for something free. Great idea, I will keep it up in my mind if I ever make some free lance jobs, OS projects are the heroes we need.

Collapse
 
nerdx86 profile image
nerdx86

My 2 cents here. As a freelancer, I assume that you are a contractor and go through a quoting and billing process? I'd suggest a revision of terms on your quote that says that when using OSS, you contribute a reasonable amount to the project for use and that in cases where this use applies specially to a project this will be billed as an expense. You should do something like this with any paid special use libraries that you use as well. If 20% of your customers need a 200 euro/year tool you should only pass that cost to that portion of your customer base (either through rates, direct billing, etc).

Philosophically, I agree with your approach if you use roughly the same packages on each project as part of your toolkit and they create value and savings for you clients. In that case, your value on a per hour basis is being enhanced by the OSS and it makes sense to pass that on as such. Where it makes less sense is when and if you have significant variability in what packages are used, the extent of the package use, and the value proposition to the project.

I haven't done freelance in many years, but honest transparency makes sense. The customer has a interest in the continued support and availability of the tool chain and we should justify it as such.

Collapse
 
jessekphillips profile image
Jesse Phillips

Seems like standard operating costs. Some client requests require additional licensing costs and those costs are just forwarded onto the client. While in this case there is no licensing dictating the cost your holding the client to pay for the cost to deliver their solutions.

Collapse
 
juancarlospaco profile image
Juan Carlos

2 things to seriously consider:

  • LiberaPay.
  • Peer Production License.
Collapse
 
denolfe profile image
Elliot DeNolf

While I think the sentiment of doing something like this is great. I don't believe it should be exposed to the client in any way beyond a small blurb on your site that you do this with your profits.

I can only see this hurting you on an interaction with a client. For a client that is not familiar with OSS, I can imagine the thought, "So you piece together a bunch of freely available software in order to accomplish this, then charge me for it?"

Overall, making the commitment to contributing to projects you use is great. It just isn't a thing that clients will probably care about.

Collapse
 
misterballzach profile image
Zachary Grant

I like the little bee in your photo.

Collapse
 
manuelbieh profile image
Manuel Bieh

Thank you! ;)