
We Should Expect To Pay For Small Open Source Projects - rstep
http://www.itistrivial.com/2013/02/support-open-source-developers.html
======
moxie
In some cases, I can imagine that users paying for open source software would
be a nightmare situation for the developers.

For instance, whenever I'm the sole developer of a "type 0" OSS project,
supporting users is typically the most difficult part. This is because, many
times, the software is something that I wanted for my own needs, and those
needs have been met.

The one saving grace I often have in those situations is that, as demanding as
some users might be, at least it's not the potential shitstorm of a user who
has _paid_ for something and isn't completely satisfied.

I even think carefully about offering a vector for donations these days.
Because inevitably, it will eventually lead to a difficult to parse email from
a user who wants help right now, because they just donated $2.

~~~
sliverstorm
This is an important point, but can you not simply offer a huge disclaimer in
flashing red letters that says "NO SUPPORT OFFERED" and maybe "HERE ARE THE
FORUMS:"

~~~
doktrin
This approach seems to have worked for Google, at any rate.

As in many other situations, simply setting boundaries is often enough. In
this case, user expectations.

------
freshhawk
This article uses the wrong framework to think about successful open source
projects. It's not like the mobile app store ecosystem.

Successful projects, in terms of numbers of users and contributors, seem to
happen in places where many people need something complex and pool their
resources to all share in a better solution than any individual one could have
been.

Putting the whole thing under economic norms, and encouraging communities to
think in those terms is probably extraordinarily counter productive. There
isn't enough money available to pay open source developers what they are worth
in dollars. If open source operated under economic norms it wouldn't work,
since it operates under social norms it does [1]. There _is_ a reason that
everyone here doesn't get paid to work on whatever cool fun they feel like
working on.

A "type 0" project is a hobby project and your github account isn't there to
get you paid. Open sourcing it is socially acceptable public charitable giving
crossed with academic publishing.

The next step isn't consulting monetization models or aquisition/IPO. The next
step is more contributors so that a team of motivated people can solve a
complex problem, for everyone, once and for all (that's the ideal version
anyway, about as likely as an IPO or aquisition). That might bring some money,
maybe for some core peole but more important is that now everyone else, and
especially those that contributed and have expertise, can go on and build/do
that thing that this complex problem was stopping them from doing.

Looking at this as an progression from github project to aquisition and
defining the stage of a project by revenue misses nearly every lesson learned
from watching this strange new market succeed so spectacularly entirely
because it is based on different norms and therefore attacks different
problems.

[1] <http://youtu.be/OdjlOgGVRVA>

~~~
Suan
This plus moxie's comment (currently top) really sum it up nicely. Unless I
get on the order of $500 or more for it a month, I won't stop seeing something
as a side project or hobby. I certainly don't want the support
responsibilities that come along with paid products.

Knowing that you've solved an unsolved problem in some niche, putting it out
there, and seeing others voluntarily use it is far more gratifying than
whatever small sum of income such a scheme might net you. This applies even
more when those others start helping contributing back.

------
dinkumthinkum
I'm not sure the author is well aware of the open source community. There is a
large body of very large software projects that really only go in this "Type
0" but are nonetheless much bigger than little plugins. I seem to recall a
project started by ... oh was it ... I believe it was someone from Finland ...

Anyway, I think this misses the spirit of the community. There's also this
idea that I've heard Joel Spolsky talk about, such as once you introduce
money, you change the situation drastically. Imagine an kernel module
programmer building the module for the usual reasons, now say someone provided
the programmer a method to pay some trivial amounts, like $5 or $10 ... Now,
you introduce a very small amount of money and it can give the programmer a
feeling of "this is a waste of time" because, say, someone working at MS doing
a similar job is making much more money doing basically the same thing. This
is not to say the programmer doesn't deserve or that making $20 is not better
than $0 but it changes the dynamic in an odd way.

------
cwgem
I read this over, as well as the original blog post about the grails plugins
and am not sure I can really agree. Personally I've always looked at open
source contributions as a hobby, and in the end I'm doing it in order to keep
the source open and available for those who wish to learn off of it / utilize
it somehow.

In fact I would presume that the reason people are not going to pay up front
is that they assume the developer is doing it as a favor to the community, and
that giving them money for it would break the philosophy of giving out of free
will. The real issue though seems to be an overall lack of resources. A one
man shop, even with the ability to work on their projects full time, still has
a maximum output capacity. Without others to assist there is the chance they
would get swarmed with bugs and feature requests leading to burn out.

I think that open source developers need to step back and consider the costs
and benefits of their projects. Doing a large amount of projects by oneself
without a good job to support on the side will lead to burnout, as we've seen
here. It may feel like bestowing a great gift on the community, but if you
burn out and halt all development where has that feeling of contribution gone?

Which begs the question of which is more valuable: financial contributions or
code contributions?

~~~
doktrin
I read it slightly differently.

Virtually no open source project makes it big without some kind of full time
commitment and/or corporate patronage.

However, there also isn't really any incubation mechanism in place for OSS. It
sort of grows organically or it fades into obscurity, and that's not
_necessarily_ an optimal model.

The solution being that financial contributions early on might inject energy
into a project which might otherwise lose steam. It makes sense to me. We've
probably lost at least a few cool projects to atrophy-and-entropy land, which
is a shame.

~~~
zobzu
projects that became successful had zero financial backing more often that
not. They get financial backing AFTER they're successful as a side effect
(because the corporations use them).

You know. Linux. GCC. emacs. gdb. you name it. In fact, some of those still
don't have financial backing. Heck Linux certainly wasn't started with Linus
thinking he'd gain anything _financial_ with it.

~~~
dasil003
Yes, he was definitely putting the cart before the horse. Forcing people to
pay for every tiny little project would lead to far less open-source activity
on the low-end. The lack of support may be a problem, but it's necessary–not
everything is worth supporting. And frankly, a couple dozen people paying $5
is not enough to seriously encourage anyone to commit themselves to long-term
maintenance. You have to turn the complaint on the head and ask yourself are
we better with the code out in the wild even if it's unsupported than not
existing at all? It's hard to deny that the answer is yes. Even if you have to
learn it and self-support, there's still an opportunity to save time and for
new ideas to blossom.

~~~
doktrin
> _Forcing people to pay for every tiny little project would lead to far less
> open-source activity on the low-end._

Forced? Don't think that was ever suggested nor even a remote possibility.

> _You have to turn the complaint on the head and ask yourself are we better
> with the code out in the wild even if it's unsupported than not existing at
> all?_

Well, yeah. I don't think anyone's really claimed this is some stark choice
betwee financial support or _nothing at all_. The article, to me, was about
improving the existing model.

------
h2s
Software engineering is one of the more well-paid professions available. And
yet occasionally on Hacker News there seems to be somebody who doesn't feel
they have _quite_ enough money yet. Usually they manifest this by trying to
top up their bank account with some underhanded Amazon referral link couched
within a blog post. Today it's another "open source software should cost
money" plea.

Last time I saw it manifested in this particular form, it was Zed Shaw's
"Premium Branch Manifesto" (<http://premium-branch.org/>) in which he
breathlessly warned of impending doom:

    
    
        > If this balance of power is not corrected I
        > fear FLOSS will actually die. 
    

I think it's kind of sad that so many people apparently don't see one of the
main things I find so amazing about free software. We're a community of people
who give stuff away to others _for free_ often for no other reason than the
fact that building it is fun enough in itself. This is simply not a thing on
this kind of scale in most other professions, and I feel a little defensive
when somebody says we should put a stop to it.

~~~
namuol
See, I think it's a bigger problem that it's such a taboo topic within the
open source community.

Not all developers have (or want) regular-paying jobs. Many of us want to work
on open source projects _full-time_ , but cannot afford to because there's a
general assumption that their software will be beer-free.

Now I agree that giving stuff away for free is awesome and is a huge reason
why so many open source projects have a large, sustaining community to keep
them alive, but I don't think we should poo-poo developers who believe they
could do a _better job_ if they expect (EDIT: some of) their users to pay for
their software.

~~~
btilly
If you expect users to pay for your software, then (literally by definition)
you're not a part of the open source community.

Full stop.

You may be a wonderful person who creates amazing software that you deserve to
be paid top dollar for. But it is proprietary software, not open source
software. And trying to call something open source when it is not just
confuses people. Don't do that.

~~~
schoen
I am also wary of people suggesting that software whose users are "required"
to pay a per-user fee could be open source. Open source software could not
come with a universally enforceable requirement of this kind. "The license may
not restrict any party from selling or giving away the software..."

But the prospect of open source developers being paid other than per-copy,
per-user is plausible. Alex Tabarrok demonstrated in 1996 that it should be
possible to do it even without altruism given enforcement of contracts and
someone with sufficient information about demand. (I don't know if that kind
of information is often achieved in practice.)

Karl Fogel just ran a successful Kickstarter campaign to fund creation of the
second edition of Producing Open Source Software, which will be distributed on
terms closely parallel to open source software (all recipients of the book can
redistribute and modify it, and nobody is required to pay a per-copy license
fee). The payment to Karl happened up front and ahead of time. The same
structure might have worked if Karl were to apply this funding to software
development instead of to writing about software development -- and indeed
Joey Hess did that a while ago with his git-annex-assistant Kickstarter, which
as far as I know has worked out quite well.

In the Kickstarter case there is a significant potential free-rider problem;
for example, I didn't personally fund Joey's project but I might still benefit
from his work on git-annex. Kickstarter seems to use various aspects of social
norms and psychology to address free riding, often with good results.

I think we need more work on this even as we continue to insist on not
diluting the meaning of open source.

~~~
btilly
There are lots of models for how open source developers can be paid.

The first person that I am aware of to be hired exclusively to develop open
source software (though he of course called it free software) was Brian Fox in
1985.

The first company that I am aware of to establish a successful commercial
business exclusively around open source software (though of course again it
was called free software) was Cygnus in 1989. The business model is that
people developing new chips needed a compiler for their chip, and would hire
Cygnus on a contract to port GCC for them. (The resulting port then got folded
back into GCC.)

There are thousands of people today whose paid job is developing open source
software. Are there more people who want this type of work who don't get it?
Absolutely. Are there a lot of useful projects that don't get funded? Of
course. But there are a lot of these projects out there.

------
ajross
OK, devil's advocacy time here: why?

Is there some deep lack of new and exciting open source projects? I don't see
it. Things are vibrant and exciting. New free stuff is appearing every week
that is worth looking at. All the "big" projects, of course, are very well
funded already, and projects continue to get funding (via diverse mechanisms)
as they become "big".

We didn't need this for jquery or rails or pick-your-favorite-web-technology.
We don't need it for the lower level stacks either.

I'm sure everyone would be happy to be paid for open source work. And some
people want to work on open source but can't for financial reasons. But the
only question here that matters is if _enough_ people are willing to release
their code without compensation. And clearly the answer is yes.

------
batgaijin
I'm really surprised that nobody is doing a kickstarter thing for open source.

tiers 0 to n-1: creating product/features

tier n: release as open source (community votes for license) on day 1

I mean in all honesty if I saw a link to some awesome fucking shit and I saw
that it was $500 away from being open source, I'd probably do it. It would
probably happen yearly or less, but honestly there are a lot of developers
making big bucks and we all know how much certain tools could make our lives
so much easier.

~~~
habosa
This is one hell of an idea. Is there really nothing out there like this?

~~~
daleharvey
I got pointed to <https://www.bountysource.com/> recently

------
jewel
He misses out on another type of open source project: those supported by
professionals as part of their day job, but that aren't directly related the
core business of the company.

For example, at my current job we need plupload, or something like it. If it
didn't exist, we would be forced to create and maintain something like it.
There's no reason why we wouldn't release the code as open source and then
continue maintaining it as necessary for our software. The company wins, and
so does everyone else.

------
shurcooL
I'd prefer supporting its developers via Gittip or similar rather than having
to deal with buying something to use it. That just puts a barrier on use. (If
only they'd accept my money.)

Similarly, I'd rather share my open source project for free rather than spend
my effort on selling it, and hope to get some support via other means.

I don't like barriers.

------
btilly
This conversation has been up for over 2 hours, and nobody has noted that this
fails the Open Source Definition at item 1? You can verify that at
<http://opensource.org/osd>.

More generally, when you sign a contract, or release something under a
license, you should understand what you are doing, why you're doing it. If the
legal agreement doesn't accomplish what you want, then don't do it. That goes
whether you're a hobbyist, a business, are releasing open source for free, or
are selling incredibly expensive per CPU licenses. In general, releasing
software for free is not the best way to get paid for the act of writing it.
That's common sense, and if that is a problem for you, then you really
shouldn't be releasing your software as open source. But you have no grounds
to complain that other people choose to.

So why do people release software as open source?

\- Fun. It can be nice to say, "Here, look what I did!" Why not give it away
for free?

\- Learning. Participating in open source software is a good way to get
feedback from experienced developers you could never learn from otherwise.

\- Marketing. At the worst, you wind up with software to show people that has
your name on it. At its best, an individual will wind up with a network of
connections who can get you jobs that you like. Then for companies you get
into dual licensing business models, ease of attracting developers, etc.

\- Gratitude. A lot of developers gained a tremendous amount from using and
reading other people's open source software, and feel like they are paying
that gift forward.

\- License requirement. Some open source software is only available under
licenses that say you cannot restrict redistribution of your changes. (The GPL
is an example.) Thus you can find that you can get a lot of what you're
looking for already done, and the cost is reciprocity. (Hey, if you don't like
the license, don't use the software...)

\- Maintenance costs. Many companies find that they need something "almost the
same as" something out there. But maintaining a fork over time gets expensive
as you have to track future improvements, security advisories, and so on. But
if you contribute your changes back into the project, then you avoid this
cost. (Supporters of the BSD license prefer motivating people this way.)

\- Reducing the price of complements. Customers often want to buy a solution,
and have a price they are willing to pay. That solution will include multiple
pieces of software. If you make other pieces of software cost less, then your
piece can cost more. As a concrete example, for many years Oracle pushed
customers towards Linux, and then charged a higher price to run on Linux than
to run on Solaris.

...and so on and so forth. There are many valid reasons to give away open
source software for everyone from individual hobbyists to big companies. But
the fact that there are lots of reasons that lots of other people want to do
it doesn't mean that it makes sense for you. If it doesn't make sense for you,
then don't do it. But don't try to tell everyone else that they shouldn't do
what they want to do for their own reasons..

~~~
capisce
Don't forget altruism, wanting as many as possible to benefit from a valuable
project, making the world a better place in the process. Should it not be the
considered the best reason?

~~~
doktrin
I dislike this line of reasoning. It imposes a fairly unrealistic value system
where none need exist. I quoted Linus elsewhere in this thread, but it's worth
repeating at least once.

    
    
        I do not see open source as some big goody-goody "let's    
        all sing kumbaya around the campfire and make the world 
        a better place". No, open source only really works if 
        everybody is contributing for their own selfish reasons. [1]
    

[1] <http://www.bbc.co.uk/news/technology-18419231>

~~~
capisce
You dislike wanting to provide free value for others being part of the reason
for writing / releasing open source software?

~~~
doktrin
I dislike ranking the motivations of others on some arbitrary scale.

In this case, my comment was in direct response to your assertion about
"altruism" being the "best" reason for OSS contribution.

------
wallunit
I released several "Type 0" free and open source software in the past. And
making people pay for using them, would be the worst I could have done. The
software I release as FOSS, is basically stuff I would have coded anyway. But
by releasing it for free and as open source, i got following in return:

* Feedback with ideas I wouldn't have come up with myself, that helped me to improve my software.

* Free testers, that reported bugs, I wouldn't have found myself.

* Free contributors, that sent me patches for features and bug fixes I would had to spend my own time on otherwise.

* A nice portfolio, future employers can look at, making it more likely that they hire me.

However making people pay for using my software, will reduce the number of
people using my software, and so the number of people who will give feedback,
report bugs, and contribute patches. Also people paying for something are less
likely to contribute. They are more likely to expect that it is my job to make
sure that the software behaves like they expect, since they are paying me for
it. But 10-15$ per user, is much less money as I would save by releasing it
for free, increasing the number of users/testers and their motivation to
contribute.

------
pytrin
At my current startup[1], this is exactly what we're trying to address. We
built a marketplace for open-source projects, trying to add a business layer
around open-source development, so that developers could work on it full time,
and provide the level of support that people require.

Proprietary software companies like to point out that while FOSS might be free
in distribution, the lack of support means that you pay for it in other ways -
and to some extent that's very true. Very few open-source projects get to the
point where they can sustain themselves while still giving out their main
product for free.

I think developers should be able to sustain themselves working on open-source
projects, even with relatively small adoption and scope, by treating it like a
business. If you don't want to support it - give it for free, if you want to
take it to the next level, start charging for distribution. The important
thing in my opinion is getting as much quality and useful code out in the
open.

[1] <http://www.binpress.com>

------
zobzu
open source yeah.. but the real reason open source works out is because of the
free licenses. Free as in beer and freedom.

If its not free, not everyone will use, test, expand it.

That shouldn't stop anybody from donating of course. But donating is not a
_required_ payment. I personally donate to projects I like from time to time,
expecting it covers the infrastructure costs, but never expecting it pays
somebody to code for it.

I think the author simply wants to express his frustration, because some
projects he likes died, or because he expected to get money/investors in his
open source projects.

Guess what. All the big open source projects which started the movement were
given away with NO expectation. THAT is what made open source successful. The
free sharing of knowledge.

------
boyter
Gabriel Weinburg already tried to set this up (although more voluntarily) and
you can read about it here [http://www.gabrielweinberg.com/blog/2010/11/help-
me-start-a-...](http://www.gabrielweinberg.com/blog/2010/11/help-me-start-a-
foss-tithing-movement.html) and <http://fosstithe.org/>

The general idea was to tithe a certain portion of profits/revenue towards
open source projects. Only a few accepted it though (myself included). Only
two really seem to have made any contributions though (I would love to but not
making any money yet).

------
shazow
I much rather get one or two corporations sponsoring my project than have each
of my users pay $5, for the various reasons outlined in sibling threads. Or
better yet, I wish there were government-level grants for this kind of work.

I've been thinking of seeking out sponsors for urllib3 (Python http library,
core of Python Requests which recently broke 2 million downloads). After
maintaining and enhancing the library since 2009 (with on/off contributors of
varying quality), keeping the code quality high while not using the library
myself[0] has been hard. Motivation to work on it has been hard to come by,
but at the same time it's not as easy to give away to another maintainer as
some of my other projects (workerpool and s3funnel have had very smooth
transitions).

Getting some hours per month paid by a sponsor would definitely make some of
these weekends easier to swallow, but I'm not sure which pricing model is best
to pitch. Maybe offer to charge something like 1/2 of my normal hourly rate
and let them dictate some feature/bug prioritization? Or maybe a tiered
Kickstarter-like approach would be better?

Does anyone have experience with this?

\--

[0] I love the library myself, but I haven't had any excuses to do http-
related stuff lately.

------
noahl
I do like the idea of people habitually paying for FOSS, but I've wished for a
while that there were more of an ecosystem of consulting companies around it.
I know of companies that support specific software, but I'm thinking of a
full-stack consulting shop: they go to a customer, figure out what they want,
and then make whatever fixes they need to make that happen, from the kernel on
up.

Maybe I'm just not seeing them, but other than Red Hat, I don't know of
companies like that. I think they could make money for two reasons: first,
people (especially businesses) are willing to pay for convenience, and second,
they would be making money for collecting, configuring and modifying software,
which means doing actual work. They could pretty easily make the case that if
their customers didn't pay them, they would have to do the same work
themselves.

The companies would have an advantage because, unlike a small IT department at
a mid-sized company, they could afford to hire enough developers to have
someone who really knew all of the software in a standard GNU/Linux system.
And they could afford to hire those people because they would have lots of
different contracts. They would have an advantage over proprietary software
companies because they would have a huge amount of flexibility to modify the
software they use.

Again, I think Red Hat does something like this, but we need a few different
companies that compete with each other to really grow an ecosystem. I've been
hoping that Canonical will turn into something like this (and I think they
might hope that too). Having multiple vendors makes customers feel safer,
because they can't be locked-in.

I think a lot of developers would want to work at a place like that, as long
as they had any sort of reasonable division of labor between working on
specific customer projects and maintaining software. Maybe you'd spend half of
your time working directly on a project, and the other half refactoring the
coreutils (or whatever). But that's really a business necessity, because if
you didn't take the time to refactor, you'd never be able to help other
customers in the future because the code would become a mess.

------
mseebach
No. The number one quality of open source software is the extremely low
friction. If I'm doing a project, I don't have to worry if I'm using three or
200 plugins/libraries/components, and I don't have to justify that I'm only
using 1% of one of them, or that plugin Z is actually better than plugin Y,
but uses library T that I've already paid for.

The main cost of commercial software licensing generally isn't the monetary
cost, it's the friction leading to all these annoying tradeoff evaluations.

That said, I think "we", the collective group of people who makes money off
the back of open source software projects, probably could be a lot better at
throwing some money at developers of the software we use.

------
_kulte
I disagree with this. It's not that someone has to pay the developers of what
you refer to as Type 0 open source projects for the incentive to exist for
them to maintain it; it's just that the developers have to have a reasonable
expectation that some value will come to them as a result of of maintaining
the project. Everyone values different things, but if money is the goal, I
think developing popular software in the open is as good a way as any to
attract a healthy financial offer from potential employers.

------
twodayslate
I am more than happy to pay but unless otherwise specified, I expect support
for the product. I expect emails to be replied to and my problems addressed.
Most of the open source projects I donate to, I have had a conversation with
the developers beforehand and I know that if I ever had a problem, they would
be more than happy to help. This ensures that I am paying for a piece of
software that is going to be developed into the future and won't die one week
out.

------
smnrchrds
Having a culture who encourages financial support of open source projects is
good for everyone. But forcing everyone to pay in order to use a project is
not. I have about 20 of these projects in my requirements.txt and if I were
living in a third-world country, I would have to pay an equivalent of one
month of my salary if they all demanded payment.

------
jeffdavis
The author missed community open source projects like PostgreSQL and Linux.
They aren't looking for a buyout.

------
Qantourisc
This is only a problem as long as peaple are expected to pay for food, rent
and utilities. If we can "give away" FOSS, why can't they ?

Are we so much more evolved beyond greet then the rest of the planet ?

------
magice
Here is my wish: a system that collect money from me (a few bucks a month,
says), and spread that money to different projects according to how much I
use/like them. That would be awesome.

------
jasonlingx
What? Paying for open source? Isn't there a license for that already?

------
puppetmaster3
What paying $1 gives you is 'Attribution Assurance'. Nothing worse than a
github fork in a way that removes attribution!

------
jpswade
Somebody has to pay for it, but nobody is obligated to.

------
OGinparadise
"by paying some small amounts as a required step, not voluntarily."

Open source but not free.

I agree that developers need to taken care and that not enough people chip in
voluntarily but Open Source is associated with free. If I pay $5 and then give
the 'open source code' to John and Jane, who will go after me?

~~~
namuol
Nobody. Think about it: the honor's system is predominantly what keeps most
software companies afloat, even though many choose not to trust their users
and (pointlessly) administer DRM.

Thankfully, most people who need software both a) are comfortably employed and
b) aren't perfect models of economic self-interest.

