
Give away your code, but never your time - brakmic
http://wgross.net/essays/give-away-your-code-but-never-your-time
======
ef4
Color me deeply skeptical of the suggestion to try to lock people out of
community participation unless they pay.

The real secret to not burning out is to scale up the set of maintainers in
proportion to the users. You do that by lowering the barriers to involvement,
not raising them.

Most maintainers err on the side of controlling too much. Which makes them
into bottlenecks.

One or two good PRs is enough for me to give you commit bit on my repos. This
has never yet resulted in abuse, and has brought in a many helpful co-
maintainers.

Bad commits can be easily reverted. Whereas giving people a bit of trust often
inspires them to help more.

~~~
zzzeek
Bad commits are the absolute most difficult thing to reverse when they get
released and the userbase codes to them. When I don't pay super close
attention to what's being contributed, it creates three times as much work
after I let it through.

~~~
nextlevelwizard
How often is commit bad enough to require revert, yet made it through testing
and got released?

~~~
btown
Code style, inconsistent APIs, a feature that's barely tested by its own
contributor, introducing dependencies on innards that were planned to be
removed by an ongoing refactoring project, etc. So many ways contributions can
go wrong.

~~~
diggan
All those things should and hopefully would have been caught when the PR was
made, not after the commits made it into master.

~~~
btown
The entire context of this thread is that adding committers can introduce risk
in the quality of accepted contributions. Building a trusted network of
gatekeepers is hard.

~~~
nextlevelwizard
Just because stuff gets to master doesn't mean they get to the release.

------
LeoNatan25
> _We also need to bury the idea that any developer who submits an issue or
> pull request is automatically entitled to the attention of a maintainer._

> _The message to users should be “do whatever you want with the code, but pay
> us for our time if you want to influence the project’s future.”_

So, for me, this goes against the reasons I decide to give my personal time to
the community. For me, creating an open source project is a contract with the
community, and part of that contract is to assist members of this community
that might require features or have issues. Statements such as the ones quoted
above go wholeheartedly against my idea of an open source community, and I
have a feeling most of the open source community shares this sentiment.

Breaking this contract would be, for me, a cease and desist of the project.
For me, it is very simple, if a personal project is stagnated, that’s
acceptable as no one owes anyone here anything. If a company’s open source
projects go stagnant, but the company continues to boast how pro-OSS they are,
it is a cardinal sin, as they have broken this contract with their users. This
may be a naive look, but I don’t think a company should be able to have it
both ways—boast about its OSS projects, lure people in and then ignore them
and move on to their next PR OSS project.

Donations are a different proposition than the suggestions in the article, and
should definitely be encouraged.

~~~
hasenj
That's a strange view of open source that borders on communism.

You don't have any duties or obligation towards any individual to assist them
with their issues.

The only obligations you have is to be honest about the project. For example,
if you know that the project is not written with security in mind, you must
announce the fact, so that people don't go using the project assuming you took
care of all potential exploits.

Beyond that, you have no obligations towards anyone. Quite the opposite.
You've already done your part. You donated the product of your effort for
free. The obligation is on people who use your product. If they want you to
care of their issues, they are obliged to give something back in return. At
the very least, appreciation.

~~~
sorokod
Don't know about duty but I think everyone has a right to expect help and a
right to give help. It makes for a better world where these rights are
regularly exercised.

~~~
infodroid
> everyone has a right to expect help and a right to give help

This might make sense when asking a stranger for directions or for someone to
help with your car problem, because the relationship is _1:1_.

But this breaks down in contexts where scale is a factor.

When assisting users of your project, the relationship is _1:many_. And if the
project is popular, it is unfair to expect the author to be helping so many
people.

~~~
sorokod
I don't really see how 1:to many makes any difference in principle. Perhaps
you were thinking of the amount of effort to help the many? As in 1:1 case it
is up to the helper to decide how many resources, if any, to spend on helping.
A society where the default position is that people deserve help is different
from one that is based on the survival of the fittest.

~~~
infodroid
Even if the default position is to help, it can't be unconditional, there are
limits. You don't have a right to expect help when it places an unreasonable
burden on the helper.

------
metafunctor
I led a small open source project more than a decade ago.

Most people involved had more time than money. I'm quite certain that trying
to charge an annual fee from members would have killed the entire project
before it was even born.

Introducing money to the equation changes everything. People start to look at
the project as a product they are buying, instead of a cause they are
contributing to.

I believe the author of this article is deeply misguided. Money is not a way
to make open projects work, but it is a good way to kill them.

~~~
imtringued
As soon as money is involved there is a certain expectation of quality and the
work being done properly. If you start depending on that money then you are
under the control of your customers and your hobby will quickly degrade into a
regular job.

~~~
icebraining
"Degrade"? Getting a job contributing to FOSS projects sounds pretty good to
me.

~~~
lunchables
Depends, turning a hobby into work can be either wonderful or horrible.

------
cavneb
As much as I agree with the sentiment behind this post, I disagree with the
implementation. The nature of open source code is collaboration. Paying for
collaboration seems like it would hinder progress altogether and possibly
direct the project into a direction that is not suitable for the poor majority
not paying. One more thing that bothers me is that money for maintenance
should not come from developers. This is like robbing Peter to pay Paul.

Disclaimer: I am the CEO of Code Sponsor
([https://codesponsor.io](https://codesponsor.io))

Code Sponsor is trying to help provide those who are maintaining OSS projects
with untethered sponsorship funds. They can go about doing their business on
the projects and be making money through sponsor-based ad revenue. This
provides them with the incentive and finances to justify continued support on
those projects that end up being abandoned when unfunded.

I agree that this is a HUGE problem that needs to be addressed. Code Sponsor's
approach is to go where money can scale: marketing budgets.

~~~
vjeux
You're likely going to be shut down by GitHub. They have a special section in
their ToS that prohibits advertising.

[https://help.github.com/articles/github-terms-of-
service/#k-...](https://help.github.com/articles/github-terms-of-
service/#k-advertising-on-github)

> Short version: We do not generally prohibit use of GitHub for advertising.
> However, we expect our users to follow certain limitations, so GitHub does
> not become a spam haven. No one wants that.

~~~
falcor84
>They have a special section in their ToS that prohibits advertising

Ehm, your quote does not quite support your statement:

>We do not generally prohibit use of GitHub for advertising

~~~
quickben
It's a TOS, worded for PR, besides which it's unenforceable and at the whim of
GitHub.

It's like building a business on Google Reader or FB Parse.

~~~
cavneb
We have advocates at GitHub and are in discussions with their compliance team.
Code Sponsor is not directly tied to GitHub for it to be successful. Many of
our developers are making money through different channels such as npm or
their own generated documentation website.

------
isaaclyman
Devil's advocate: How about an issue/PR tracker that lets users pay for
priority? A simple bidding system. If BigCorp International is willing to pay
$200/hour for IE10 support, they can be next on your list. And afterward, an
bug with significant community support totalling $50/hour, pledged by 50
different users. With allowances for your own preferences as maintainer and
the needs of the community, of course, but giving people who care the most the
opportunity to put their money where their pain is.

~~~
xfer
Paying for PR? really? Why would anyone do that rather than maintain their own
copy if it is an OSS project?

~~~
antoinevg
Maintaining your own fork means you are taking de-facto responsibility for the
maintenance of more projects in addition to your paying projects.

The costs of keeping them current adds up surprisingly quickly.

In fact, it adds up so quickly that my company has a standing policy in place
that we will do _whatever_it_takes_ to have any pull requests we need in an
upstream project integrated in order to avoid us having to maintain a fork.

What this means in practice usually is that getting the pull request accepted
becomes the primary focus for one of the senior engineers for the 1-2 weeks it
takes to get it into a shape that the project maintainer can work with.

As you can imagine this is also expensive, but it's a fraction of the cost of
maintaining our own fork of the project.

So - here's my offer to Libré, Free and Open Source Software maintainers
everywhere:

I will _gladly_ pay the cost of 1 week of a senior engineer's salary to have
you accept my pull request if you are prepared to either:

1) do the quality control work yourself or…

2) hold the hand of one of my junior engineers while they learn how to do it.

~~~
JetSpiegel
> I will _gladly_ pay the cost of 1 week of a senior engineer's salary to have
> you accept my pull request if you are prepared to either: > 1) do the
> quality control work yourself

I too would gladly pay one dollar for a hundred dollars bill.

------
geerlingguy
I haven't seen any large scale, long-term open source projects succeed with a
'pay to play' process; what usually happens is the original maintainers
realize that even with some amount of compensation, they still don't like
scratching _other_ people's itch when it comes to their project.

And then they realize that the amount of people/companies even willing to pay
at all is a tiny fraction of 1% of their potential target market.

The better advice is to do what you want, know your limits, consider sharing
some maintainance responsibility with another committer or two, and don't ever
feel obligated to do anything with other people's issues and PRs. It's nice to
do, but if it's interfering with anything else, or taking away valuable time,
ignore them or just blanket close them, with a note that it's not something
you'd be interested in maintaining.

The great thing about open source is someone can fork your code and do what
they need. You have no obligation to help them, it's just nice if you can. And
if they don't get that, that's not your problem.

~~~
Radim
It's not your problem only in the sense that it _shouldn 't_ be your problem.
E.g., in theory.

Some people can be quite belligerent about their FOSS entitlement. I've also
seen folk publicly bash open source projects just because the license wasn't
permissive enough, in their opinion (GPL vs. their darling I'll-bend-over-do-
what-you-will-with-me BSD or MIT).

It can be hard to maintain poker face with "not my problem"... as hard as the
"fuck you, pay me" proposed by the OP. The social pressure to give away your
work for free is real, and humans are social animals. Just look at this
thread.

------
ThrustVectoring
I think what open source needs is some very deliberate price discrimination.
Have the license be free to the vast majority of users, and cost money for
large corporations that can damn well afford it. Not, like, large amounts of
money, just something vaguely close to the all-in cost of one full time
developer.

Basically, "BSD, unless you're a $1B+ valued company that is not paying our
software foundation $10k/mo".

~~~
doozy
Many moons ago I developed a moderately successful shareware program. My
licensing terms were simple: If you owned the computer where you installed and
used it no license was needed, but if someone else owned the machine, you owed
me money.

It allowed students, hobbyists and freelancers to use the software for free,
for any purpose, but companies, institutions and governments had to pay to
play.

This idea does not seem to translate in an obvious way to software released
under an open source license.

~~~
CM30
Interesting idea, but two things struck me here:

1\. Does that mean a student would have to pay to install it on their school
computer? Or maybe a school provided laptop?

2\. What about personal installs for other people? Not as a business or
service, but merely on a friend or relative's computer?

Because in theory, both of those would come under 'someone else owning the
machine', but they'd also be seen as personal usage by any rational person.

~~~
doozy
You'll always have a corner case or another. I wouldn't care about personal
usage users.

Case 2 clearly falls into the free usage policy, but in case 1 if the school
is requiring students to install this software in their school-provided
hardware as a way of sidestepping licensing fees I think they are stretching
it a bit.

------
firasd
The key suggestion:

"bury the idea that any developer who submits an issue or pull request is
automatically entitled to the attention of a maintainer... If you’re the
leader of one of these projects, charge an annual fee for community
membership. Open source, closed community. The message to users should be “do
whatever you want with the code, but pay us for our time if you want to
influence the project’s future.” Lock non-paying users out of the forum and
issue tracker, and ignore their emails."

~~~
unimpressive
Right, so are there any examples of successful projects which do this?

The idea is certainly _plausible_ given that the vast majority of initial
contributions to an open source project are based on need: [http://climate-
action.engin.umich.edu/figures/Rood_Library/S...](http://climate-
action.engin.umich.edu/figures/Rood_Library/Shah_open_source_governance_2006.pdf)

However continued involvement seems to be usually based on hobbyist
motivations, so you might be setting yourself up to not see anybody else jump
on board with you long term.

~~~
innocentoldguy
[https://crystal-lang.org/sponsors/](https://crystal-lang.org/sponsors/)

I'm not sure how successful it is, but Crystal seems to have the right idea.

------
bkovacev
I dislike the key suggestion. What's the point of open-source - if not to give
back? It's a developer's codex/morale to answer.

It seems the author is salty about the fact he doesn't make money from open
source, but is investing a lot of time. Well my dear colleague, offer support
to the bigger companies that use your software in production or use that
software to sell another. Simple.

Open source was never meant to be for-profit, at least from my understanding.
Something you give back to the community, because you have taken a lot from it
in the first place. You dislike new issues by non-payees? Well, write better
docs. Someone is also giving YOU time by submitting that issue or by finding a
bug - so should you pay them money for testing? Be grateful.

Should we all pay for the open source tools/frameworks we use? I can guarantee
this would cause riots. If you don't want to contribute to OSS don't, but
please do not whine about it.

~~~
quickthrower2
Your employer benefits financially from the open source community. People who
purchase software cheaply due to lower barrier to entry and more competition
also benefit. As a coder I generally don't benefit so don't feel the need to
give back.

As a coder the tsunami of FOSS is a negative. My job is now to glue free
modules together rather than design stuff. I'd be quite happy to pay for a
compiler if I had to.

~~~
xfer
I mean if you are genius who has written all parts of OS/compiler/whatever
software you use, then maybe it is a negative for you. But most people can't
do so and FOSS is actually a blessing. If you like to pay for wall-gardens,
where you can't read any code without an NDA/paying a million dollars, they
exist. Feel free to use them.

~~~
quickthrower2
I've been plenty happy working in Windows/.NET land. As a developer.

As a home tinkerer I do agree with you. And glad Haskell and Linux are
available for free.

------
morgante
The notion of charging people to be part of the community seems like a
terrific way to immediately kill any semblance of community.

Realistically, the only people who will pay a membership fee are those who can
charge it to a company. That means you'll lose all the people hacking on the
project in _their_ free time.

Personally, I contributed a lot more to open source when I was in college and
had more free time than money. There's no way I would have paid to be able to
contribute.

The solution is really just to have lower expectations on maintainers, both
around timely responses/support (want fast support, pay for it) and
improvements. They can and should also be more liberal with adding
maintainers.

~~~
erikpukinskis
Are you sure? If what you're saying is true, wouldn't that mean it would be
impossible for any business to have a "sense of community" around it?

~~~
peterwwillis
To be part of a community you need to have the same stake as everyone else.
Businesses don't have communities, they have customers.

~~~
icebraining
A community can still be formed amongst your customers, and make your product
better. Game mods are a good example.

------
zzzeek
I shudder to think of the sense of entitlement some of my users would have
towards getting me to fix their pet issues that they had to _pay_ to tell me
about. This article got a lot right but then charging for community membership
is a super bad idea.

------
throw2016
The open source community defies definition. It's a diverse multitude of
people with different motivations. This will ensure its survival even under
challenging circumstances.

There is a risk, maybe significant, of the generational hand off. A lot of
folks who built this rich legacy were academics and pioneers motivated by
ideology. Software has moved on from early pioneers motivated by liberty and
freedom issues to being subsumed by establishment interests.

At the moment there is also widespread cynicism about ideology in general and
a lot of open source is increasingly developed by corporate interests. This
could have repercussions for the 'nature' of open source as institutions and a
connection to individuals beyond their identity as 'users' has not really been
built.

------
jamiesonbecker
Here are a few ideas off the top of my head for a purely open source (non-
commercial) project:

* custom features

* prioritization

* training

* enterprise support

* sponsorships

* invites to free conferences and swag

* t-shirts and swag sales

* commercial software integrations/partnerships

* brand sponsorship/inclusion on docs/websites/etc.

* professionally managed and scalable hosting

What did I miss?

~~~
Temasik
err ICO?

------
partycoder
I disagree.

By using a small project and reporting bugs you are helping to test it, giving
feedback and allowing it to grow.

Also, reporting a bug sometimes saves the maintainers the effort of finding
the bug themselves... something that actually takes time.

A better policy is to encourage people to help fix the bugs they report, with
a test case or a pull request if possible... something actionable.

~~~
em3rgent0rdr
maybe some sortof point system would be nice. You get points by providing good
bug reports, good forum answers, good PRs, good code reviews, providing tests,
donating, etc., but you can lose points by wasting people's time or being a
jerk, for instance. Then maintainers can prioritize PRs by people with good
points, regardless of how they got the points (be it from donating time, code,
or other ways of helping the community & project).

~~~
partycoder
The problem I see with that is that people gain and lose interest in a project
over time.

Some other people become disenchanted with how the project is going and try to
fork it when it doesn't go their way. This is not inherently bad... many good
projects come from forks... but it is not an ideal situation to have.

------
qaq
The dude's key project has a total of 4 contributors (working at the same
company?) 0 forks and 0 stars. I am sure we should all follow his guidance on
the subject.

------
hyperpallium
> annual fee for community membership

Sleepycat did this
[https://wikipedia.org/wiki/Sleepycat_Software](https://wikipedia.org/wiki/Sleepycat_Software)
and seemed to work out for them.

But if opensource truly is infrastructure, why not nationalize it? i.e.
government pays maintainers a subsistence wage (provided they meet some scale
crtieria, perhaps similar to automatic royalties for pop-song airplay).

Users (i.e. big corporations) would pay a levy to fund this. Of course, it
could be set up privately, independent of a government.

~~~
hasenj
Because who decides what projects deserve how much? Who decides that a project
is even worthy to receive anything at all? If there was such a government
program, what would prevent masses of inexperienced developers to start
pointless projects, open source them, and file a claim to receive money from
the government?

~~~
hyperpallium
> perhaps similar to automatic royalties for pop-song airplay

From [http://www.nolo.com/legal-encyclopedia/copyright-
compulsory-...](http://www.nolo.com/legal-encyclopedia/copyright-compulsory-
license.html)

In order to take advantage of this compulsory license, a notice must be sent
to the copyright owner along with a fee set by the U.S. Copyright Office,
known as the statutory fee or statutory rate. The fee for recordings is
currently (as of 2017) 9.1 cents per song (or 1.75 cents per minute of playing
time). To verify the current rate, check the Copyright Office's guide to
compulsory licenses. On the site, you can click “Mechanical Royalty Rate.”

------
austincheney
What works for me is locking down the application behind a plan. Users can
submit whatever feedback, bugs, suggestions, enhancements, and wishlists they
want. These contributions are important, but they won't change the roadmap.

This only works when an open source application becomes ubiquitous or nearly
ubiquitous and the users want it everywhere. Popularity and consumption rates
are irrelevant to whether this works. This is because ubiquitous software
solves an extremely common problem and takes too much effort to replace with
an alternate solution. Ubiquitous software is not necessarily good software.

When somebody wants a change in the roadmap they can pay you money to
compensate you for the additional time it takes to pivot into another
direction. You probably aren't going to make any money like this. Then
benefits of this approach is that the maintainers won't burn out. They just
work to the plan and occasionally respond to issues. The software has a
transparent and published trajectory.

~~~
brooklynrob
That's the right approach. The question is whether you can keep enforcing that
- sticking to the product roadmap and release plan - if/when a large software
company becomes a "customer" of your open source project. That's when it
requires a tremendous amount of discipline to stick to this. But the right
approach.

------
davidgerard
> _When I say “open source”, I mean code licensed in a way that it can be used
> to build proprietary things._

This redefinition of a basic term should have been at the beginning, not the
end.

~~~
ajdlinux
And so should "open-source code is utility software".

Stallman was right when he said that the Open Source movement would eventually
abandon any conceptions of software freedom - it seems to me that we now have
a whole generation of "open source" contributors for whom the only type of
freedom that matters is the freedom of downstream developers, rather than
users, and who seem to think that the role of open source in the world is just
to provide a base on top of which one can write proprietary applications.
Where do developers of open source end-user applications fit into this
picture?

~~~
burntsushi
I maintain both types of open source projects. I, for one, am happy that we
are trending towards more so-called "developer freedom" in open source. I
never actually abandoned the concept of "software freedom" as defined by
Stallman because I never bought into it in the first place.

~~~
em3rgent0rdr
Thanks...this is the best attitude I've heard. Instead of making people feel
they need to take sides in the open-source vs free-software debate, better to
just acknowledge that both are important and aren't necessarily in conflict.

~~~
ajdlinux
They're not in _conflict_ , per se, and they are indeed both important - but
progress towards one of these goals has the advantage of serving the goals of
megacorps, while the other one does not.

FWIW, I work as an open source developer on a strategic "infrastructure"
project that my employer funds because having an open source base platform
serves their commercial interests - and I'm very much okay with this, it
absolutely is a good thing for them to be contributing to, but at the end of
the day we're also a proprietary software firm. I'd just like to see more work
go towards figuring out how to fund developers whose projects _aren 't_ of
strategic interest to proprietary software companies than articles that keep
making the assumption that all important open source software is libraries or
utility software that ultimately would line up nicely with corporate
interests.

~~~
burntsushi
> I'd just like to see more work go towards figuring out how to fund
> developers whose projects aren't of strategic interest to proprietary
> software companies than articles that keep making the assumption that all
> important open source software is libraries or utility software that
> ultimately would line up nicely with corporate interests.

To be clear, I do agree with that goal. I just tend to diverge with others on
the _means_. That is, I don't agree with hacking the IP system to achieve that
end. I'd rather see the IP system done away with entirely. (IP and software is
near and dear to my heart, but IP itself is so much bigger than just
software.)

------
kalat
The author has many good points however it's either his writing style
(thinking), ideas, or conceptual mental model where he is missing the point of
open source. It is actually a bit confusing. His title doesn't correlate with
what he writes later which contains several somewhat vacuous statements.
People love to work together and produce something for the common good,
humanity wouldn't be here without that good feeling and collaborative spirit.
open source comes from people's time, time has led us to a point where open
source is everywhere. Not all people are greedy, every coder owes another
coder their livelihood. I think this draft just needed like 100 more edits.
Also, "Many" does not equal 3.

------
walterbell
In the proposed approach, what would happen to a high-quality and desirable
code contribution from someone who cannot afford to pay for their code to be
reviewed?

------
5_minutes
I always wonder where coders find the time to significantly contribute to
Opensouce projects - which many seem to do - after their day job, having
played and eaten with their kids, and were an attentful husband.

~~~
rhizome
You might want to stick a debugger on your assumptions about who does and does
not have children and/or a spouse.

~~~
floatboth
And/or a day job.

------
mperham
Yep, that agrees with one rule I've found very helpful in my Sidekiq project:

All free/OSS work/discussion is done in public.

Never private email, never Slack. Always open an issue. Security issues are
the exception here. No one should get to monopolize my time without paying.

------
innocentoldguy
I like the idea of donating to projects that benefit me, so the developers
working on those projects have a financial incentive to continue doing so. For
example, I'm interested in the Crystal language, so I give the project $10 a
month. Yeah, it isn't much, but if enough people did this, it would allow
open-source developers to make a living out of these projects, rather than
being enslaved by them to the point they burn out.

~~~
tedmiston
Something like Gratipay is good for facilitating that use case but I don't
know that there are enough other devs out there willing to fund these projects
themselves. At least I haven't seen one yet where the maintainer pulls in
anything like a normal developer salary for their experience level.

------
paxys
I don't get the jump the author makes from "your time is valuable"
(understandable) to "you should have to pay to contribute to open-source
projects" (umm, what).

------
jondubois
I run a relatively popular open source project. I think that there are some
strange forces in the tech industry which make it nearly impossible to get big
companies to use your project.

Maybe it's not right but I really feel like not being based in Silicon Valley
has something to do with it... Related to branding, social networks, bloggers.
Outside of SV, it's very tough.

Only small startups were using my project initially; literally hundreds or
maybe even thousands of small startups but not one large corporation (that I
knew about).

It's been 4 years though and the good thing is that now several of the
startups that were using my project got really big and are growing fast. Still
no big corporations but it doesn't matter anymore. Me and one other
contributor are now able to make money offering consulting to those startups
which grew. Also we have a sponsorship deal now.

------
c3534l
Maybe write your article after you've done this and tell us how it worked.

------
cdaven
I just stumbled on a note from the abandoned project
[History.js]([https://github.com/browserstate/history.js/](https://github.com/browserstate/history.js/)):

> Despite History.js being one of the most popular JavaScript libraries there
> is, and has been used by even multi-million-user companies in its time - the
> reality of economy and company practices seems to be that companies prefer
> to fork their own internal versions and fix locally with their own devs
> rather than fund open-source maintainers what they would pay their own devs
> to make things better for everyone, including themselves, which would be
> cheaper - but no, that would require too many tiers of company approval that
> don't understand the need.

> As such, if you are an open-source developer, I'd recommend just working on
> open-source projects that are paid for by your own consulting work or your
> own company (e.g. every successful open-source project). As otherwise, when
> they become popular, you better hope they are easily maintainable and
> testable, otherwise the cost of maintenance is higher than the free time of
> the maintainers.

------
pharrington
>> Don't give away your time.

>> But do give away your time _and money_ to work on my projects.

Come on.

------
oelmekki
I've considered opensourcing some business products and researched the various
models for doing so. I found three main ones:

* pay for support, like ardour

* pay for additional features, like gitlab on-premise

* pay for hosting, like piwik, or gitlab.com

I'm not a big fan of paying for support, like mentioned in the article,
because support is not just something you give to your users, it's also useful
for you: if someone spotted a big bug (possibly a security issue) but is not
paying for support, don't you want to know it? Asking to pay for support is
also creating a lot of tension, because people will ask for help anyway, and
you have to tell them they won't receive it if they don't pay.

Paying for features is an obvious and efficient way. But I also like the idea
that someone in a country where what I consider a decent price is actually a
big part of the income can still manage to use my product to its full extent,
provided they make an effort to use it.

That's why pay for hosting seems the best way to me for opensource products :
everybody can use the product to the full extent, no issue is ignored, people
pay for comfort.

Obviously, this works for the products I mentioned because they are ...
products, and not libs. But I think it can apply to libs as well:

* pay for support : the idea mentioned in the article

* pay for features : this is something Sidekiq is doing, would love to know how it goes for them

* pay for hosting : this one is tricky, maybe offer to help implementing the lib in customer product? Hardly scalable, though

I would say that for libraries, paying for additional features is what makes
the most of sense for me.

------
panic
I think a crowdfunding site specifically designed for software projects would
go a long way toward solving this problem. Something like this:
[http://www.daemonology.net/blog/2017-05-11-plan-for-foss-
mai...](http://www.daemonology.net/blog/2017-05-11-plan-for-foss-
maintainers.html)

------
gkya
About any software stack for about any computer task involves at least some
open source code running for you, written by someone on their free time,
mostly out of pure altruism. I wonder how many dollars has this person
contributed to, say OpenSSL, or to GnuPG, or to the GNU project, or to Linux,
or to the Apache Foundation, &c.

If you dont want to respond to pull requests or to emails, just ignore them or
dont put your code up on a platform that allows these. Publish release
tarballs. Nobody's obliged to accept patches. But what this article tells is a
merely a shortcut to making someone hard-fork your project. If I have to pay
to get my patch upstream, well, I'll just maintain my patchset against
upstream instead, if there are no alternative projects.

------
Retr0spectrum
Why does the text on this website have 52% transparency?

~~~
lugg
You gotta pay to get 100% opaque.

------
brooklynrob
Glad to see other ideas and operating models being proposed and tried.

Most of us live in countries where you need money to pay rent and buy food.
Unless you're already wealthy, that means you need to work (trade time for
money) or find a way to trade time for an ownership stake that will, you hope,
generate income (and in the process that stake becomes itself more valuable).

A buddy of mine in a maintainer for a popular Drupal module. A very large,
well known, social media platform uses it. One day he got an email from
someone - likely someone making $150-$200k- more or less demanding that he
review and accept some PRs, as well as do some work himself, for a feature
they needed.

I told this friend "Ok, did you ask them about their budget to pay you for
that?" My friend, more idealistic than me, looked at me like I had 3 heads at
first. But he got my question. Nonetheless he decided to "honor" their request
and proceeded to work several weeks unexpectedly - for free - so the large
for-profit company could stick with its plan and the person requesting this,
who is paid, could meet her/his commitment to their boss. His rationale was
afraid he'd criticized by the community for not dropping his paid work (!) to
do this, since he was the maintainer. He did not want to be a "sell out". I
think his decision was insane but such is the pressure to stay true to the
ideals.

These stories are all to common and similar to what Willian describes.

I do work around expanding computer science in schools. I do work around
mobilizing tech communities to lend their tech skills to disaster relief. A
lot of folks in the "startup tech" and open sources communities (different
communities with overlap) do the same -- I'm seeing them show up in big
numbers for Irma volunteering right now for example. I view these efforts as
akin to open course - they are contributions people make of their (unpaid)
time to the greater good.

The big tech companies by contrast, many who got their start using open source
software and many of whom still power much of their systems with it, could do
much much much more on any number of fronts - CS in schools, supporting civic
hacking, etc - than they do now. I am sure folks within those companies think
they do a lot, but it's not, in my opinion, 5% of what they could do.

And when they do get involved in causes they make huge, often unreasonable
expectations of unpaid volunteers in order to minimize their donation, whether
that's a donation in time or money. (Case in point: last year a large tech
company that provides search and email services asked me to organize Hour of
Code events at 30-40 schools around NYC at which their staff to volunteer for
an hour or two -- planning and logistics work that would have taken me 1-2
days a week for 4-6 weeks at least. They balked at the idea of paying me for
my time since this was a "cause" and I should do it for free, though of course
the people who would have been working on this project with me from said
company would have been paid.) Sound similar? Expect a ton from volunteers to
minimize your own investment.

I bring this up because the LEAST that people who work on open source projects
- at least those who aren't pulling in $300K at one of the big tech companies
- and ESPECIALLY maintainers, should expect is to get paid somehow. Seriously,
how are people supposed to pay rent? William is right on with his piece.

Ideals are great but people need to eat. This emerging duopoly in tech where
on one side there is a group of people who are entitled to make massive wealth
and demand huge salaries and, on the other, are the open source maintainers,
civic hackers, and computer science teachers who are being disloyal to the
noble ideals of tech for not wanting to eat cat food is serves the industry
poorly.

I engage in this hyperbole to make a point -- an industry that was built by
many idealists who saw tech as being an engine to democratization and equality
is now becoming exaggerated mirror of society large.

And if you're one of those making $250k, $300k, $500k at some tech company and
demanding people work for free or else you'll accuse them of being sellouts
for wanting to pay their rent -- well, look in the mirror before you cast that
stone.

~~~
chevman
"One day he got an email from someone - likely someone making $150-$200k- more
or less demanding that he review and accept some PRs, as well as do some work
himself, for a feature they needed."

This is called a 'business opportunity'.

Seriously, people are going to ask you for free stuff all the time.

Sometimes they'll be up front about it (as in, "we don't have budget for that,
but can you still help us out?"), and sometimes they just won't specify
initially if they are willing to pay or not (ie, they'll just make a demand).

Every interaction is a negotiation, even if you are led to believe otherwise.

~~~
brooklynrob
Yes, and hence my suggestion to him.

But this is also why I introduced my only vaguely related example of the large
search engine company who wanted me to work for free to help them organize
30-40 school events for Hour of Code -- a big undertaking. They just said no
to my request and did not do the events, and implied I was the reason why
those kids wouldn't benefit from their hour or two at each school. No
"'business opportunity'".

As context I do A TON of free work already in schools around computer science
education. Was I being unreasonable to ask to be paid for this work? They sure
thought I was, even though the people in their CSR group who'd have been the
PMs of my work sure as heck get paid. The company chose just not to do the
events at all (w/ a market cap of both of $500b) - the kids lost out too.

It's actually not so that the request for free work is a negotiation technique
- it's an actual expectation of more and more people in the tech community who
will get angry when you won't work for free (and they'll convey that anger
from the desk of their $250k/year job).

I at least am seeing this dynamic play out all over the tech world. Work in a
big tech company, nominally as a software engineer but really as someone who
makes a lot of PowerPoints and watches (and "likes") a lot of Ted Talks, and
the ecosystem seems to be ok with you pulling down $250K (and from that
comfortable seat demanding quicker response times from volunteers in the tech
community of various sorts).

Work for yourself selling your time as a contractor in the "gig economy" and
you've become the maintainer and/or a significant contributor to a couple OSS
projects that are related to the services you sell: you're a "sell out" to the
ideals of open sources for wanting to be paid for that time. Again, I
exaggerate this duality, but it's starting to become a real problem, I think,
for the industry.

~~~
floatboth
> you're a "sell out" to the ideals of open sources for wanting to be paid for
> that time

Who the hell unironically uses the word "sellout" anymore? Especially in this
context?

I really don't think this is, like, a common opinion or anything. I haven't
ever encountered anyone criticizing people for getting paid to work on open
source software. Many projects I like (RPCS3, mGBA, libretro/RetroArch,
GhostBSD, Redox OS, Godot Engine, Matrix.org) are funded on Patreon. In large
projects such as FreeBSD, many commits are sponsored by either various
companies or the project's Foundation. And specifically contractors
contributing to projects related to their services, as you mentioned? That's
how a ton of javascript libraries are developed :D And everyone is mostly just
thankful that these projects exist.

What the hell are those "ideals of open source" anyway?

------
TCM
The social contract of open source is to give away code and time to open
source to enhance the community and software. The problem that open source
projects really have is that raising and or selling a product is a goal that
not every person with a successful project has.

If you want to actually have people pay for open source you should look into
making a grant style system for people in open source that is targeted to
maintainers. Google Summer of Code and Aigrant are good examples of this.

------
jamiesonbecker
The author seems to believe _contributions_ of code or _contributions_ of bug
reports are a net negative for the project, while the only thing that the
project needs to survive is money to pay for the _author 's_ time.

That is exactly backwards. Nearly all open source projects actually do _not_
need any money at all to grow and prosper. They simply need contributions.. of
time. In the form of bug reports and code.

Take care of your users, first, and the money will follow.

~~~
franciscop
They do not _need_ it, but it'd help quite a lot. If I got a bunch of money
for doing open souce I could:

\- Not find random jobs to be able to live, so more time for open source.

\- Have more energy for open source (so important it has to be a separated
point from the previous).

~~~
jamiesonbecker
Cause vs effect. Money is the latter ;)

------
normalocity
I hope the OP doesn't seriously believe that charging for open source work
will somehow "fix the diversity problem", rather than magnify it.

I'm hoping that was just an off-handed line that didn't get much thought
before being added to the post.

------
justinjlynn
"Do you want to get forks? Because this is how you get forks."

------
madprops
Maybe not lock non-paying users, but give paying users a bigger priority and
the ability to promote non-paying user's requests if they're good.

------
ak39
IMHO, the fundamental problem of these burnout open source projects is that
they are "marketed" (deliberately or otherwise) to non-decision makers and
people who don't control the budgets in companies that need their software.
I.e. The lowly developers of some complex hive of a deeply hierarchical group
of code monkeys in a for-profit org that's typically not in technology.

Red Hat, Google, Microsoft and Oracle all know the value of open source
because their big wigs are keenly aware of its value.

------
gandutraveler
Alt currency is an option for open source project. I think GitCoin is on these
lines

------
arisAlexis
Would be nice if projects were organized with the Aragon project

------
ApolloFortyNine
>If you’re the leader of one of these projects, charge an annual fee for
community membership. Open source, closed community. The message to users
should be “do whatever you want with the code, but pay us for our time if you
want to influence the project’s future.” Lock non-paying users out of the
forum and issue tracker, and ignore their emails. People who don’t pay should
feel like they are missing out on the party.

This could be the dumbest thing I have ever heard of it. I mean seriously, you
want people to pay even for PRs they have already written?

>Also charge contributors for the time it takes to merge nontrivial pull
requests. If a particular submission will not immediately benefit you, charge
full price for your time. Be disciplined and remember YAGNI.

This sounds like a great way to lose all your real contributors. The article
mentions "get paid for your time" over and over again, yet who is paying me
for the time to write the code for the PR? You expect me to both dedicate my
time to writing the code for a PR, and then pay you for the privilege.

Perhaps what projects worrying about work for commits should require rigorous
testing (integration tests at the very least) on unknown PRs if they ever feel
the need to do something like this. And limiting feature requests is
understandable, but most projects already ignore overly specific feature
requests. Charging for PRs though seems like the fastest way to have your
project forked, and have you lose control of it, or for it to split the
development talent and die completely.

~~~
jancsika
> This sounds like a great way to lose all your real contributors. The article
> mentions "get paid for your time" over and over again, yet who is paying me
> for the time to write the code for the PR? You expect me to both dedicate my
> time to writing the code for a PR, and then pay you for the privilege.

It certainly sounds absurd on the face of it.

On the other hand, I can think of at least three cases where I'd do the work
of submitting a PR if the project in question required me to pay.

In each case I can't currently gauge accurately enough whether these projects
have a well-functioning development process. I could easily end up with a
bitrotting PR with the project lead making a not unreasonable argument about
why it's rotting (their time is limited, something else is taking priority,
etc.). I imagine I'm not the only person who's ever been in such a "holding
pattern."

On the other hand, if a reputable project says they'll take money in order to
merge a branch I want, things become less amorphous very quickly. A project
lead is not going to get away with blowing off a bitrotting merge request, at
least not without their project's reputation (and future income from PR's)
taking a hit.

edit: clarification

~~~
sverhagen
Reading this makes me wonder, though... These maintainers are often well-paid
professionals. If their lifes outside of their day jobs put the pressure to
limit the open source work, what is a little money going to do? If money was
their main motivator to compromise their personal life, would they not already
have gotten a second job (like a part-time consulting gig), maybe instead of
the whole open source thing? Makes me feel as if this article misunderstands
the motivations of maintainers.

~~~
sundvor
Not every developer is a highly paid superstar in Silicon Valley. When needing
to juggle family / life, I'm sure this proposed model would make it a _lot_
easier to explain to the wife/husband/partner why they need to stay up a bit
longer at night to work on their (previously) non-paying projects.

~~~
xfer
You need to show income to justify your hobby?

~~~
jancsika
As a potential contributor I need to know whether there's a professional
process or a guy "playing with trains" on the other end of the wire.

The problem is that the FLOSS ecosystem doesn't give you an easy way to tell.
So if I misjudge and hit a wall of dysfunction, the general response would be,
"Well, the maintainer just wants to play with trains. Leave them alone and
fork the project if you want it to be some other way."

At least with paying to contribute, it would force the FLOSS ecosystem general
response to be, "Those maintainers are just playing with trains, but they're
taking money _as if_ they are professional engineers. _That 's bad_." Of
course that's worst case scenario-- best case is that they really are
engineers and I'm funding their development. Either way, it's potentially
better than the status quo which is that you have no idea until you submit the
patch.

------
outoftacos
I've never really worked at a place where we had any spare time for open
source project development, nor time to opine on the social issues of the day.
Must be nice, but I feel like a very small, privileged few actually live in
that world.

The rest of us have work to do.

~~~
LeoNatan25
This smells like a small-minded startup-bubble nonsense to me. If you have
time to use open source software, you should make time to also submit fixes
and open some of your work.

That’s not to say startups don’t contribute, but my experience is that a lot
of startups—usually led by inexperienced managers—see contribution as giving
something for free instead of charging. Small-minded nonsense indeed.

~~~
ApolloFortyNine
Lots of companies use open source code but don't actually require any changes
to be made. A lot of industry standard open source software requires no code
modification of the source for the vast majority of applications. Examples
being Nginx, Python, Apache Web Server, Tomcat, pretty much any enterprise
level application. So many people use it that for the 99%, the code already
exists, with 99% of the use cases being heavily tested.

Now they could be donating some amount of money, but that's in no way
required.

~~~
LeoNatan25
All good. But then, the same people could contribute code non-pertinent to
their product as open source. As someone else said in a comment here, you can
always find what to open source. There is really no excuse.

